设为首页收藏本站

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

横盘突破策略(附源码) [复制链接]

精华
0
UID
247176
积分
162
帖子
72
主题
68
阅读权限
0
注册时间
2017-2-14
最后登录
2017-5-18
跳转到指定楼层
1#
发表于 2017-2-16 11:42:56 |只看该作者 |倒序浏览
策略名称:横盘突破策略

多头入场:
日内交易策略,收盘平仓;
横盘突破在过去30根K线的高低点围绕中轴上下0.5%的范围内波动时;
上轨=过去30根K线的最高价;
下轨=过去30根K线的最低价;
当价格突破上轨,买入开仓;
当价格跌穿下轨,卖出开仓。
多头出场条件:止损0.5%,盈利大于0.5%,启动跟踪止盈,回调20%多头出场
空头出场条件:止损0.5%,盈利大于0.5%,启动跟踪止盈,回调20%空头出场

策略代码:

function  calmbreak(stoploss,stopprofit,trailinggap,Freq,shareNum)
%  横盘突破
%  日内交易策略,收盘平仓;
%  横盘突破在过去30根K线的高低点围绕中轴上下0.5%  的范围内波动时;
%  上轨=过去30根K线的最高价;
%  下轨=过去30根K线的最低价;
%  当价格突破上轨,买入开仓;
%  当价格跌穿下轨,卖出开仓。
%  stoploss止损阈值
%  stopprofit止盈阈值
%  trailinggap跟踪止盈参数
%  Freq  数据频率
%  shareNum  买卖手数
%---------------------策略初始化与是否日内平仓---------------%
traderDailyCloseTime(145000);  %  每天15:10分平仓        
targetList  =  traderGetTargetList();  
HandleList  =  traderGetHandleList();
marketposition=traderGetAccountPosition(HandleList(1),targetList(1).Market,targetList(1).Code);  
lags=35;
[barnum,bartime]  =  traderGetCurrentBar(targetList(1).Market,targetList(1).Code);
if(barnum  <=lags)
        return;
end
%---------------------策略提取数据---------------%
  [time,open,high,low,close,volume,turnover,openinterest]  =  traderGetKData(targetList(1).Market,targetList(1).Code,'min',Freq,  0-lags,  0,false,'FWard');
    if  length(close)<31
          return;
  end
%---------------------策略计算与基本逻辑---------------%
highTar  =  max(high(end-30:end-1));%  过去30根K线的最高价
lowTar  =  min(low(end-30:end-1));%  过去30根K线的最低价
          if  marketposition  ==  0  &&  close(end)  >  highTar
                      orderID1=traderBuy(HandleList(1),targetList(1).Market,targetList(1).Code,shareNum,0,'market','buy');
                      traderStopLossByOrder(HandleList(1),orderID1,stoploss,'Percent','market','stoplossS');
                      traderStopTrailingByOrder(HandleList(1),orderID1,stopprofit,'Percent',trailinggap,'Percent','market','trailingS');
          end
          if  marketposition  ==  0  &&  close(end)  <  lowTar
                      orderID2=traderSellShort(HandleList(1),targetList(1).Market,targetList(1).Code,shareNum,0,'market','sell');
                      traderStopLossByOrder(HandleList(1),orderID2,stoploss,'Percent','market','stoplossB');
                      traderStopTrailingByOrder(HandleList(1),orderID2,stopprofit,'Percent',trailinggap,'Percent','market','trailingB');
          end
         
end
                       

更多免费策略源码下载,请登录atrader社区-策略服务  下载   : http://www.atrader.com.cn/stra.php?mod=model&pid=74
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2

精华
0
UID
171196
积分
55
帖子
42
主题
11
阅读权限
30
注册时间
2013-8-29
最后登录
2022-1-19
2#
发表于 2017-2-20 13:35:00 |只看该作者
谢谢分享,刚学tb编程看不懂。楼主能写成tb 代码吗

使用道具 举报

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

bottom

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

GMT+8, 2024-5-6 08:17

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部