分享一个ADX跳空策略

ADX跳空策略是趋势策略中一个简单的捕捉回撤的交易方法。
只写了多头 ,如果需要空头的可以给我留言,我再补充上哈。

一、ADX跳空策略思想:

   运用+DI/-DI指标判断趋势的方向,当+DI大于-DI时趋势为上涨,反之为下跌,运用ADX度量趋势的强度,当出现开盘反向跳空时入市交易以捕捉趋势,以及跳空带来的利润。

示例代码以买入开仓为例,卖出开仓相反即可,原理如下:

【开仓条件】
1、12期ADX高于30,28期+DI高于28期-DI;
2、当日跳空低开,价格低于昨日最低价,在向上突破昨日最低价时做多;

【止损止盈条件】

1、止损:开仓后在当日最低价处设置止损;
2、止盈:通常在当日平仓,如果当日收盘表现强势课持有至下一交易日。
//定义全局变量并初始化为0. 控制日内突破开仓只开1次
variable:num=0;
tod:=TODAYBAR;

n1:=barslast(date<>ref(date,1))+1;
preDayLow:ref(LLv(L,n1),n1); //昨日最低价
Dayopen:=valuewhen(tod=1,o); //当天开盘价

//交易条件
BuyCond:=Dayopen<preDayLow and High>=preDayLow; //开多条件

//下单模块

if BuyCond and holding=0 and num=0 then
begin

buy(1,1,market);
n:=tod; //记录开仓k线位置

num:=1;
End

ll:valuewhen(tod=n,llv(l,n)); //开盘到开仓时的最低价

//交易条件
SellCond:=low<ll; //平多条件

//下单模块

if SellCond and holding>0 then sell(1,1,market);

//收盘前5分钟平仓
M5:=t0totime(timetot0(closetime(0))-60*5); //收盘前5分钟
if time>=M5 and holding>0 then 清仓:sell(1,1,market);
if time=closetime(0) then num:=0; //收盘时赋值为0

猜你喜欢

转载自blog.51cto.com/14661216/2487478