このアイデアの著者 — Maksim Zerkalov、mq5コードの著者 — barabashkakvnです。
新しいバーがオープンすると、EAは前の4本のバーの値を分析します。具体的には、以下の条件をチェックしています:
if(iHigh(1)>iHigh(2) && iHigh(2)>iHigh(3) &&
iHigh(3)>iHigh(4) && iOpen(1)>iOpen(2) &&
iOpen(2)>iOpen(3) && iOpen(3)>iOpen(4))
BuyOp=true;
if(iHigh(1)<iHigh(2) && iHigh(2)<iHigh(3) &&
iHigh(3)<iHigh(4) && iOpen(1)<iOpen(2) &&
iOpen(2)<iOpen(3) && iOpen(3)<iOpen(4))
SellOp=true;
iHigh(3)>iHigh(4) && iOpen(1)>iOpen(2) &&
iOpen(2)>iOpen(3) && iOpen(3)>iOpen(4))
BuyOp=true;
if(iHigh(1)<iHigh(2) && iHigh(2)<iHigh(3) &&
iHigh(3)<iHigh(4) && iOpen(1)<iOpen(2) &&
iOpen(2)<iOpen(3) && iOpen(3)<iOpen(4))
SellOp=true;
ポジションがオープンしているときは、「HalfLots」変数の値をトレーリングブロックの中で確認します。つまり、利益が出ているポジションを部分的にクローズできるかどうかをシステムがチェックします。「HalfLots==true」の場合、ポジションは部分的にクローズされます:
m_trade_partial.PositionClose(m_position.Ticket(),-1,half_volume);
コメント 0