在PL的语法中,大多数都会写上if conditon1 then sell next bar at xxx stop; 即满足condition1 的条件下,就以XXX的价格平仓。 但是,如果在XXX这个价格没有触到的成交之前,condition1突然不满足了, MC会自动发出信号,删除这个未成交的平仓单。 比如有些策略:如果当前盈利了300,才发出止盈单(获利400,如果亏损50%就出场)。 if openpositionprofit>300 then setpercenttrailing(400,50). 这么写看起来没错,但是实际上有误区。 如果盈利到达400之后,突然回撤,直降到300以下,那么这个condition就不满足了。 这个时候MC会主动删掉setpercenttraling单子。 这样就无法做到止盈的效果了啊? 程序可以这样改改,做一个开关: if openpositionprofit>300 then value1=1; if value1=1 then setpercenttraling(400,50) 这样 value1=1就代表曾今获利到达300,止盈单就会正常发出, 就算获利少于了300,setpercenttraling一样可以正常执行。 本文转自http://www.aboutels.com/thread-12797-1-1.html