设为首页收藏本站

 找回密码
 注册
查看: 5202|回复: 2
打印 上一主题 下一主题

布林带突破策略 附源码 [复制链接]

精华
0
UID
247176
积分
162
帖子
72
主题
68
阅读权限
0
注册时间
2017-2-14
最后登录
2017-5-18
跳转到指定楼层
1#
发表于 2017-3-29 15:01:04 |只看该作者 |倒序浏览
布林带突破趋势策略

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


策略源码:
  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社区-策略资源下载~ http://www.digquant.com.cn/stra.php

布林带突破策略下载:http://www.digquant.com.cn/stra.php?mod=model&pid=69

Rank: 1

精华
0
UID
247954
积分
47
帖子
25
主题
6
阅读权限
10
注册时间
2017-3-1
最后登录
2023-5-12
2#
发表于 2017-4-29 12:42:21 |只看该作者

使用道具 举报

Rank: 1

精华
0
UID
182335
积分
23
帖子
22
主题
0
阅读权限
10
注册时间
2014-3-12
最后登录
2020-6-24
3#
发表于 2017-12-14 14:37:10 |只看该作者
你这是TB?

使用道具 举报

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

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-25 22:12

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部