Abrir operación a "x" pips del cierre de la vela anterior

 

Buenas,

Necesito que mi EA abra una operación de compra cuando el precio Bid supere en X pips al precio de cierre de la vela anterior.

Probé la siguiente estructura pero no me funciona:

int start()
{
  double MyPoint=Point;
  if(Digits==3 || Digits==5) MyPoint=Point;
  
  double TheStopLoss=0;
  double TheTakeProfit=0;
  if( TotalOrdersCount()==0 ) 
  {
     int result=0;
     if(Bid>(Close[1]+20))
     {
        result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"***********",MagicNumber,0,Blue);
        if(result>0)
        {
         TheStopLoss=0;
         TheTakeProfit=0;
         if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
         if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
         OrderSelect(result,SELECT_BY_TICKET);
         OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
        }
        return(0);

 En este caso 20 serían los pips de diferencia sobre el precio de cierre de la vela anterior.

¿Alguno lo hace de otra forma?

 
Santiago Lopez Golpe:

Buenas,

Necesito que mi EA abra una operación de compra cuando el precio Bid supere en X pips al precio de cierre de la vela anterior.

Probé la siguiente estructura pero no me funciona:

En este caso 20 serían los pips de diferencia sobre el precio de cierre de la vela anterior.

¿Alguno lo hace de otra forma?

Bid>(Close[1]+20*_Point)
 
David Diez #:

Gracias David, hice lo que dijiste pero lo que me hace es abrir y cerrar continuamente las operaciones

 
Santiago Lopez Golpe #:

Gracias David, hice lo que dijiste pero lo que me hace es abrir y cerrar continuamente las operaciones

if(Bid>=Close[1]+20*Point()&&PositionsTotal()<1){ // OrderSend -> OP_BUY