楼主: 挖矿专家
1748 1

[源码分享] 【每日一策】Matlab量化交易策略之 布林带突破策略 [推广有奖]

  • 0关注
  • 74粉丝

讲师

22%

还不是VIP/贵宾

-

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

楼主
挖矿专家 发表于 2017-3-29 14:12:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
布林带突破趋势策略

多头入场:当前价格突破布林带上轨
空头入场:当前价格跌破布林带下轨
止损:开仓价格之下N倍ATR
止盈:开仓价格之上N倍ATR

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

布林带突破策略.png

策略源码:

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

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

  4. global s;


  5. lags=20;

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

  22.     con2=lowmin(end)>BollUp(end);
  23.     con3=closemin(end)>openmin(end);
  24.    
  25.     %开空条件

  26.     con5=highmin(end)<BollDown(end);
  27.     con6=closemin(end)<openmin(end);
  28.    
  29. if mp==0
  30.        if con2&&con3
  31.              traderDirectBuy(HandleList(1), targetList(j).Market,targetList(j).Code,ShareNum,0,'market','buy');
  32.              s(j).stoplossprice=closemin(end)-4*atr;
  33.              s(j).stopprofitprice=closemin(end)+4*atr;

  34.         elseif con5&&con6
  35.               traderDirectSell(HandleList(1), targetList(j).Market,targetList(j).Code,ShareNum,0,'market','buy');
  36.               s(j).stoplossprice=closemin(end)+4*atr;
  37.               s(j).stopprofitprice=closemin(end)-4*atr;

  38.        end
  39. end

  40.    
  41.     %% 止损
  42.     if mp>0
  43.         if closemin(end)<s(j).stoplossprice || closemin(end)>s(j).stopprofitprice
  44.             traderPositionTo(HandleList(1), targetList(j).Market,targetList(j).Code,0,0,'market','buy');

  45.         end
  46.     end
  47.    
  48.     if mp<0
  49.         if closemin(end)>s(j).stoplossprice || closemin(end)<s(j).stopprofitprice
  50.             traderPositionTo(HandleList(1), targetList(j).Market,targetList(j).Code,0,0,'market','buy');
  51.         end
  52.     end
  53. end
  54. end
复制代码

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



二维码

扫码加我 拉你入群

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

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


沙发
ghjktdf 发表于 2017-3-29 19:02:10
楼主策略多的可以出书了

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

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