Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1778

 
Janis Ozols #:

¿O hay alguna forma más fácil de obtener este valor?

   zz=iCustom(NULL,0,"ZigZag",InpDepth,InpDeviation,InpBackstep,0,InpBackstep);
   if(zz!=EMPTY_VALUE)
     {prev_zz=curr_zz; curr_zz=zz;}
 
Janis Ozols #:

Pregunta de atención: ¿es un planteamiento válido hacer un bucle a través de los valores del buffer de indicadores, comenzando con un desplazamiento a cero en profundidad, llamando a la función iCustom en cada iteración, hasta que el valor resultante sea diferente de EMPTY_VALUE?

Janis Ozols #:

¿O hay alguna forma más sencilla de obtener este valor?

no

 

Cómo escribir el código para que realice lo siguiente.


tick-check para la orden de venta abierta dentro de +/- (arriba/abajo) rango de 10 pips del precio, si no hay orden de venta abierta

Si no estoy seguro de tener una orden de venta abierta, entonces debería abrir una orden de venta. El libro es similar a C++.

Lo siento si estas preguntas son demasiado sabias.


 
valentin104 #:

Cómo escribir el código para que realice lo siguiente.


tick-check para la orden de venta abierta dentro de +/- (arriba/abajo) rango de 10 pips del precio, si no hay orden de venta abierta

Si no estoy seguro de tener una orden de venta abierta, entonces debería abrir una orden de venta. El libro es similar a C++.

Lo siento si estas preguntas son demasiado inteligentes.

Revise las ofertas abiertas y compare el precio de apertura: si está dentro del rango de Ask+10 a Ask-10, si lo está, significa que tiene una oferta abierta.

"Como último recurso, abra un Codebase y vea cómo hacerlo)

 

valentin104 #:

Comprueba si hay una orden de venta abierta dentro de +/- (arriba/abajo) del precio 10 pips, si no, abre una orden de venta

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(FindOrders(OP_BUY)<1) покупаем;
   if(FindOrders(OP_SELL)<1) продаем;
  }
//+----------------------------------------------------------------------------+
int FindOrders(int ot=-1)
  {
   int order=0;
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(ot==OP_BUY&&OrderType()==ot)
           {
            if(OrderOpenPrice()>Bid-10*Point&&OrderOpenPrice()<Bid+10*Point)
            order=1;
           }
         if(ot==OP_SELL&&OrderType()==ot)
           {
            if(OrderOpenPrice()>Ask-10*Point&&OrderOpenPrice()<Ask+10*Point)
            order=1;
           }
        }
     }
   return(order);
  }
//+----------------------------------------------------------------------------+
 
MakarFX #:
gracias
 
valentin104 #:
gracias


 
MakarFX #:


Ya veo. Sólo soy un bielorruso asustado.
 
valentin104 #:
Ya veo. Sólo soy un bielorruso miedoso.
Lo siento, no estaba pensando)
 

Mihail Matkovskij #:

Gracias. Por alguna razón no tuvo ningún efecto.

Razón de la queja: