Autor de la idea — Maksim Zerkalov, autor del código mq5 — barabashkakvn.
Cuando abrimos una nueva barra, el Asesor Experto (EA) analiza el valor de las cuatro barras anteriores:
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;
Una vez que tenemos una posición abierta, se revisa el valor de la variable "HalfLots" en el bloque de trailing. En otras palabras, el sistema verifica si es posible cerrar parcialmente una posición rentable. Si "HalfLots==true", la posición se cierra parcialmente:
m_trade_partial.PositionClose(m_position.Ticket(),-1,half_volume);
Comentarios 0