开多仓
引用K线一小时多头排列(5 10 20均线)
一分钟进场:5 10均线金叉开多一手,5 10 20均线多头排列加仓一手
一分钟平仓:引用一小时K线(5 10均线死叉全平)
止损30跳全平,多头获利大于70跳回撤30%止盈平一手,止盈100跳全平,
开空仓
引用K线一小时空头排列(5 10 20均线)
一分钟进场:5 10均线死叉开空一手,5 10 20均线空头排列加仓一手
一分钟平仓:引用一小时K线(5 10均线死叉全平)
止损30跳全平, 空头获利大于70跳回撤30%止盈平一手,止盈100跳全平,
看你上面的描述,一小时的多头排列和开平仓条件具体什么关系,这个没说清楚。是下面红色部分?
另外:
一分钟进场:5 10均线金叉开多一手,5 10 20均线多头排列加仓一手
另外这个5 10均线金叉是在一小时周期下还是1分钟周期下的?
[此贴子已经被作者于2019/2/22 10:19:37编辑过]
ma5_h:=STKINDI('','ma.ma1',0,5,0);
ma10_h:=STKINDI('','ma.ma2',0,5,0);
ma20_h:=STKINDI('','ma.ma3',0,5,0);
dtpl_h:=ma5_h>ma10_h and ma10_h>ma20_h;//小时线多头排列
ma5:ma(c,5);
ma10:ma(c,10);
ma20:ma(c,20);
buycond1:cross(ma5,ma10) and holding=0;//开仓条件
buycond2:dtpl_h and holding>0;//加仓条件
if buycond1 then buy(holding=0,1,market);//开仓
if buycond2 then buy(1,1,market);//加仓
sellcond:cross(ma10_h,ma5_h);//死叉平仓
if sellcond then sell(holding>0,holding,market);
zs:c-AvGENTERPRICE>=30*MINDIFF;
止损:sell(holding>0 and zs,holding,market);
zy1:=AvGENTERPRICE-c>=100*MINDIFF and holding>0;
zz:=AvGENTERPRICE;止盈1:sell(holding>0 and zy1,holding,market);
zgyl:=hhv(h,BARSLAST(buycond1)+1)-AVGENTERPRICE;//最高盈利
dqyl:=c-AvGENTERPRICE;//当前盈利
zy2:=zgyl>=70*MINDIFF and dqyl<=zgyl*0.7 and dqyl>=0 and holding>0;//从最高点回撤30%止盈
止盈2:sell(holding>0 and zy2,holding,market);
以上以多头为例,空头可在理解代码基础上尝试自行编写。
[此贴子已经被作者于2019/2/22 13:18:01编辑过]
不是说小周期引用大周期,会导致很多信号闪烁,能把上面这个代码优化一下吗?
你的需求不是小引大吗?还是我最初的理解有问题呢。如果你的需求就是要小引大,那你上面代码没有多少可以优化的。