ATR波段突破策略

来源:mc官网

区间突破最常使用在日内程序里,不过波段的程序使用起来也不差,基本逻辑就是由开盘向上涨多少要突破作多,向下跌多少要突破做空,很单纯,最主要的因素只有这个突破的临界点是如何决定?

基本突破策略是以开盘点为准,涨XX点作多,跌XX点作空,如果没翻就摆到收盘,这样的逻辑在近年是很难获利,但波段突破策略就不一样了

Average True Range(ATR) 平均真实范围,利用这个好用的指标,当行情波动大时,这个区间确认也应该放大,波动小时,则区间也小,因此加上波动性的指标有用处,ATR比其它波动性指标直接方便的是它本身就是价格的表示,而不是比例或无法对应的数字。例如ATR 100点,就是近期日高低点差平均在100点,而开盘后往上50点或往下50点的区间内都很正常,那我们设定的突破逻辑就是市价涨超过50点作多,跌超过50点作空。

代码范例:

此策略是波段突破策略。根据ATR要调用多少个周期,来求出开仓的委托价格,此策略适用于多商品多周期,可以自己调整参数跟周期测试即可,底下是测试的IF 20 min 的绩效结果,手续费单边100元,仅供参考。

input:atrlen(2),endtime(1500),m(2100),n(9300);

var:j(0),atr(0),trx(0);

array:tr10;

//定义变量、参数、以及一维数组

if date<>date[1] then begin

trx=0;

//当隔日时给trx赋值为0

for j=0 to atrlen-1 begin

value1=(highD(j+1)-lowD(j+1));

value2=absvalue(highD(j+1)-closeD(j+2));

value3=absvalue(lowd(j+1)-closed(j+2));

//在一个循环中给value1、value2、value3变量赋值

tr[j]=maxlist(value1,value2,value3);

//把三者的最大值依次储存在数组中

if j=atrlen-1 then begin

for j=0 to (atrlen-1) begin

trx=trx+tr[j];

end;

//给trx赋值在一个循环运算后

atr=trx/atrlen;

end;

end;

end;

//对atr求平均

if time<endtime then begin

buy next bar at (openD(0)+atr/2 ) stop;

sellshort next bar at (opend(0)-atr/2) stop;

end;

//在收盘前以当天的开盘价加减atr/2去委托限价单,满足条件开仓

setstopcontract;

setstoploss(m);

setprofittarget(n);

//设置止盈止损。

在策略设计的部份只有一个参数,是要决定ATR用多少期间,其中变数TRX是每日的TR值,ATR用来纪录…ATR,TR的阵列和其中注记//replace AverageArray的部份是因为Multicharts内建的AverageArray用起来不对劲,就自己再写进策略里,内容就是把TRX一个个放进TR阵列里,放到最后一个时顺便算一下里面那些TR的平均值纪录到ATR。

再详细一点的说明程序,因为ATR在这个例子中使用的是日线层级,但实际运用的K线可能是10min、5min、8min之类的,会要再搭配其它的指标,所以才使用这种Array的方式将TR记录下来,在新的一天开始时计算一次( date <> date[1] ),然后看是要多少个TR的平均,一个一个放进去,另外特别注意Array第一个位置是0起始,所以for回圈里目标值减一,这样个数才对。

这个 Array+For 回圈的方法在使用不同k线层级的指标时蛮好用的,可以多加利用,如果是常coding的朋友可能会觉得一个地方怪怪的,平常都是for i=0 to X ,这边因为i是Multicharts 的关键字所以不能用,常常都要再改成j….,是特别的习惯

原文参考自:FuturesNote

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值