在MT4里怎么写策略让在一个周期里只开仓一次?! 对于一般的开仓然后用“止损指标”平仓的情况来说容易处理,因为可以设置一个“开仓信号”标示,然后在平仓时解除这个标示就行了。但在用到“目标价位”主动性平仓时就有点麻烦了。
1)在发送订单时将Bar的时间 当做订单OrderMagicNumber的参数。 int Magic=Time[0]; OrderSend(x,x,x,x,x,x,x,x,Magic,x,x,x); 2)在程序的开始先检查OrdersHistoryTotal 和 OrdersTotal 里面是否有(OrderMagicNumber==当前Bar时间) , 如果有,则退出。如果无订单,则开始程序。 int opened==0; //检查历史成交纪录 for(i=0;i<OrdersHistoryTotal();i++) { if (OrderSelect(i,SELECT_BY_POS)==false) return(-1); if (OrderMagicNumber()==Time[0]) opened++; } //检查当前成交纪录 for(i=0;i<OrdersTotal;i++) { if (OrderSelect(i,SELECT_BY_POS)==false) return(-1); if (OrderMagicNumber()==Time[0]) opened++; } // 如果历史纪录和当前成交里面没有 纪录,进入程序 if (opened==0) { doing......... }