IF (HHV(ASSET,BARPOS)-ASSET)/HHV(ASSET,BARPOS)>0.15 THEN
BEGIN
SELL(HOLDING>0,0,LIMIT,CLOSE-3*MINDIFF),IGNORECHECKPRICE;
SELLSHORT(HOLDING<0,0,LIMIT,CLOSE+3*MINDIFF),IGNORECHECKPRICE;
DRAWTEXT(1,LOW ,"到最大回撤幅度,已停止交易,请修改策略",COLORRED);
END
要表达的是回撤15%停止交易,好像在图表上回撤了15%还是继续交易
你这个限制好像只是设置平仓条件了吧。你这代码意思是回撤15%平仓,但是也没有限制到开仓啊。
那能够怎么表达才能比较简洁合理,不管在任何周期都适用的代码,就是表达回撤15%平仓,不在开新仓,
highasset:hhv(ASSET,TODAYBAR); hc:(highasset-ASSET)/highasset>=0.15;
当日以来资金的回撤幅度hc,把这个hc也作为开仓条件的一个判断。
你写的这个代码好像有问题? |
周期都一样啊。上面代码只在日线以上失效。
另外hc返回值就是0 或者1
比如这样
if not(hc) and 开仓条件 then buy();//当日最大资金回撤没有超过15%才允许下单。