平多PD1:SELL(PD1,0,THISCLOSE); //平多信号
老师,我设置亏损10个点止损,但是测评时发现,thisclose函数还是以收盘价计算会超过10个点止损,请问有什么函数可以使触发10个点就会自动止损?
THISCLOSE是影响你平仓的价格的啊,它只是个价格指令。不影响你止损条件的触发条件的。
你是要按照止损价格去成交?我觉得你可以说的更清楚些。
那请问用哪个价格指令函数才能达到我的目的(即:亏损10个点就止损)?
亏损10个点止损,这是控制条件,是sell函数的第一个参数。是满足这个条件就下单。这个条件和成交价格是2回事。
你如果要指定价格,就必须用限价指令来单独指定下单的价格。
如下,指定平仓价格为 持仓均价减10个点。 但是这样做只是为了你让测试更接近实际情况,这一点务必明确下。
sell(1,1,limit,AVGENTERPRICE-10*MINDIFF);
一套系统其实很难兼顾实际交易逻辑和回测逻辑一致。你实际下单时候你还是用你前面的方式即可。或者是用市价。模式选择固定轮询,就能在触发止损时候实时下单了。
然后还有一点建议,就是在回测时候你原本是用c收盘价 来计算止盈止损,但是回测时候可以考虑改成用H或者L(看多空单了)。因为一个K线其实表示一个价格范围,实际交易中如果是固定轮询模式可能中间某个时候就会触发条件满足止盈止损了。但是回测里用C可能就无法复现这个情况了。体现不了这一点。 这个我只是说说 仅供参考吧。