以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://weistock.com/bbs/list.asp?boardid=10)
----  【多头趋势策略】-ADX跳空策略  (http://weistock.com/bbs/dispbbs.asp?boardid=10&id=174936)

--  作者:fly
--  发布时间:2020/3/13 11:22:57
--  【多头趋势策略】-ADX跳空策略
    ADX跳空策略是趋势策略中一个简单的捕捉回撤的交易方法

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

    示例代码以买入开仓为例,卖出开仓相反即可,原理如下:
开仓条件】
1、12期ADX高于30,28期+DI高于28期-DI;
2、当日跳空低开,价格低于昨日最低价,在向上突破昨日最低价时做多

【止损止盈条件】
1、止损:开仓后在当日最低价处设置止损;
2、止盈:通常在当日平仓,如果当日收盘表现强势课持有至下一交易日。

二、金字塔策略源码

//定义全局变量并初始化为0.    控制日内突破开仓只开1次
variable:num=0;

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

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


//下单模块
if BuyCond and holding and num=0 then
   begin
   buy(1,1,market);
   n:=Todaybar;    //记录开仓k线位置
   num:=1;
   End
 
ll:=valuewhen(todaybar=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

[此贴子已经被作者于2020/3/13 13:49:19编辑过]