楼主: 挖矿专家
1191 1

[源码分享] 【每日一策】Matlab量化研究策略之 BollTrading2 [推广有奖]

  • 0关注
  • 74粉丝

讲师

22%

还不是VIP/贵宾

-

威望
0
论坛币
2016 个
通用积分
5.2622
学术水平
21 点
热心指数
21 点
信用等级
21 点
经验
6055 点
帖子
403
精华
0
在线时间
151 小时
注册时间
2017-2-8
最后登录
2017-6-27

楼主
挖矿专家 发表于 2017-3-30 16:25:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
布林带突破趋势策略2
入场过滤:当布林带上轨与下轨的距离明显拉开的时候考虑进场
多头入场:当前价格突破布林带上轨
空头入场:当前价格跌破布林带下轨
止损:开仓价格之下N倍ATR
止盈:开仓价格之上N倍ATR

回测曲线(由Auto-trader提供回测报告)

bolltrading2.png

策略源码

  1. function BollTrading2(Freq,ShareNum,N,plus)

  2. targetList = traderGetTargetList();
  3. HandleList = traderGetHandleList();


  4. pct1=0.20;
  5. pct2=0.01;
  6. lags=35;


  7. for j=1:length(targetList)
  8.    
  9.         [timeday,openday,highday,lowday,closeday,volumeday,turnoverday,openinterestday] = traderGetKData(targetList(j).Market,targetList(j).Code,'day',1, -lags, 0,false,'FWard');
  10.     [timemin,openmin,highmin,lowmin,closemin,volumemin,turnovermin,openinterestmin] = traderGetKData(targetList(j).Market,targetList(j).Code,'min',Freq, -lags, 0,false,'FWard');
  11.    
  12.     if length(closeday)<lags
  13.         continue;
  14.     end
  15.    
  16.     mp=traderGetAccountPosition(HandleList(1),targetList(j).Market,targetList(j).Code);
  17.    
  18.     [mid, BollUp, BollDown]=Bollin_c(closeday,N,plus);

  19.    
  20.     con1=(BollUp(end)-BollDown(end))>(1+pct1)*mean(BollUp-BollDown);
  21.     con2=(BollUp(end)-BollDown(end))>(1+pct1)*mean(BollUp(end-5:end)-BollDown(end-5:end));
  22.     con3=(min(mid)/max(mid))>(1-pct2);
  23.    
  24.     conlongopen1=lowmin(end)>BollUp(end);
  25.     conshortopen1=highmin(end)<BollDown(end);
  26.     %平仓条件
  27.     conlongclose1=highmin(end)<mid(end);
  28.     conshortclose1=lowmin(end)>mid(end);
  29.    
  30.     %开仓
  31.     if con1&&con2&&con3&&mp==0
  32.         if conlongopen1
  33.             traderDirectBuy(HandleList(1), targetList(j).Market,targetList(j).Code,ShareNum,0,'market','buy');
  34.         elseif conshortopen1
  35.             traderDirectSell(HandleList(1), targetList(j).Market,targetList(j).Code,ShareNum,0,'market','sell');
  36.         end
  37.     end
  38.    
  39.     %平仓
  40.     if conlongclose1&&mp>0
  41.         traderPositionTo(HandleList(1), targetList(j).Market,targetList(j).Code,0,0,'market','close');
  42.     end
  43.    
  44.     if conshortclose1&&mp<0
  45.         traderPositionTo(HandleList(1), targetList(j).Market,targetList(j).Code,0,0,'market','close');
  46.     end
  47.    
  48.    
  49. end
复制代码

更多免费策略源码下载请登录DigQuant社区-策略资源获取~




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


沙发
ghjktdf 发表于 2017-3-31 18:39:04

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2026-1-28 07:08