Autore dell'idea — Maksim Zerkalov, autore del codice mq5 — barabashkakvn.
Quando si apre una nuova candela, il sistema di trading analizza i valori delle quattro candele precedenti:
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;
Quando abbiamo una posizione aperta, viene controllato il valore della variabile "HalfLots" nel blocco di trailing. In altre parole, il sistema verifica se è possibile chiudere parzialmente una posizione profittevole. Se "HalfLots==true", la posizione viene chiusa parzialmente:
m_trade_partial.PositionClose(m_position.Ticket(),-1,half_volume);
Commento 0