为什么日k线下,必须加入“BarsSinceEntry>1”,而有的公式不加入也没关系,也没影响正常的开仓平仓。
向大神们,求教。最开始的公式代码执行是正常的。后来为了控制浮亏,加了额外的止损代码部分,如下:Numeric zs(10);//参数定义Bool bool_zs_buy;//布尔定义Bool bool_zs_sell;//布尔定义bool_zs_buy = close <= EntryPrice *(1-zs/100) and MarketPosition<>-1;//止损条件定义bool_zs_sell = close >= EntryPrice *(1+zs/100) and MarketPosition<>1;//止损条件定义//以下是最开始的止损条件If( MarketPosition<>-1 and bool_zs_buy ) { Sell(0,close); } If( MarketPosition<>1 and bool_zs_sell ) { BuyToCover(0,close); }在日k线周期下,上述止损代码加入后,原代码止损正常,但是紧跟着的下一次或多次开仓信号下,会出现当根k线(日线周期),当根开当根平(即开即日平)的情况。之后我在“止损条件定义”中加入了“BarsSinceEntry>1”,问题得到解决。但现在的问题是,我没想明白为什么日k线下,必须加入“BarsSinceEntry>1”,而有的公式(比如双均线下的公式)不加入也没关系,也没影响正常的开仓平仓。