使用指定的过期时间设置两个挂单 (止损买入和止损卖出)。
思路的作者 — John Smith, MQL5 代码的作者 — barabashkakvn.
运行开始
设置两个挂单:

然后我们就期待有一个仓位会有操作 - 如果因为某些原因两个仓位都建立了,它们两个都应该要被删除:
if(total>1)
{
if(count_buy>1 || count_sell>1 || count_buy+count_sell>1)
{
CloseAllPositions();
return;
}
}
管理建立的仓位。
首先,我们检查是否达到了最小利润,同时,柱1的大小必须小于"稳定的点数". 如果条件符合,关闭仓位并且退出。
if(m_position.Profit()>MinProfit && MathAbs(iClose(1)-iOpen(1))<=ExtStabilization)
{
m_trade.PositionClose(m_position.Ticket());
DeleteOrders(ORDER_TYPE_SELL_STOP);
return;
}
第二项检查 — 同时检查利润或亏损是否到达。如果条件符合,关闭仓位。
if(m_position.Profit()>=AbsoluteFixation || m_position.Profit()<=-AbsoluteFixation)
{
m_trade.PositionClose(m_position.Ticket());
DeleteOrders(ORDER_TYPE_SELL_STOP);
}
在 EURUSD, H1 从 2016.06.01 到 2016.12.21 的测试结果: