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

 

Hola a todos. ¿Puedes aconsejarme dónde escribir sobre el error en MT5 después de la actualización de hace dos semanas?


La cuestión es ésta. Cuando abrí posiciones y pasé por encima de SL y TP, la ventana de datos (la ventana que muestra el hecho de SL y TP) no se muestra o se abre muy lentamente. He probado con varios ordenadores en diferentes cuentas. Creo que sólo ocurre cuando tengo más de una ventana en mi terminal. Antes no tenía este problema.

No sé cómo usarlo y no sé qué hacer con él.

Archivos adjuntos:
 
Artyom Trishkin:

Crea una nueva variable global. Establece el valor del parámetro de entrada Inp_element_2542795 en él:

y reemplazar toda la entrada de la cadena Inp_element_2542795 con esta nueva variable g_element_2542795 usando Ctrl + H

La pregunta sigue siendo la misma. El EA trabaja por su cuenta. No estoy entendiendo el punto en el que esta variable global va a ayudar. He intentado cambiarlo pero el 400 sigue igual. He probado a cambiar a 200, es constante a 200. Pero quiero que el EA pueda decidir qué punto debe aplicarse.

 
jaffer wilson :

La pregunta sigue siendo la misma. El EA trabaja por su cuenta. No estoy entendiendo el punto en el que esta variable global va a ayudar. He intentado cambiarlo pero el 400 sigue igual. He probado a cambiar a 200, es constante a 200. Pero quiero que el EA pueda decidir qué punto debe aplicarse.

Si quieres que el asesor cambie una variable, entonces debería cambiar la variable g_element_2542795. Obtiene el valor de la variable Inp_element_2542795 en la inicialización, y luego en el asesor puede cambiarlo a su gusto.

 

¿Por qué no funciona así?

int massiv[OrdersTotal()];
 
igrok333:

¿Por qué no funciona así?

Stroustrup y Ritchie lo querían así.
 
igrok333:

¿Por qué no funciona?

Sería sorprendente que lo hiciera.

 
igrok333:

¿Por qué no funciona así?

El uso de arrayresize funcionará
 

Por favor, ayuda, sólo estoy empezando...
¿Cómo se determina el tamaño del lote en función de las condiciones? He escrito esto, pero no funciona.

double lot()
{
if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid > = L2b1) ||
(Oferta >= L5b1) | (Oferta >= L8b1))
lot=(NormalizeDouble(Lots, 2))

if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) |
(Bid >= L5b) || (Bid >= L8b)
lote=(NormalizeDouble((Lotes*1,5), 2))

if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >= L0b3) ||
(Oferta >= L2b3) || (Oferta >= L5b3) || (Oferta >= L8b3))
lot=(NormalizeDouble((Lots*2.5), 2));
return lot;
}

 
wolder1:

Por favor, ayuda, sólo estoy empezando...
¿Cómo se determina el tamaño del lote en función de las condiciones? Escribí esto pero algo no funciona.

doble lote()
{
if((Demanda <= L0a3) || (Demanda <= L2a3) || (Demanda <= L5a3) || (Demanda <= L8a3) || (Oferta >= L0b1) || (Oferta >= L2b1) ||
(Oferta >= L5b1) || (Oferta >= L8b1))
lote=(NormalizeDouble(Lots, 2))

if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
(Oferta >= L5b) || (Oferta >= L8b))
lote=(NormalizeDouble((Lotes*1,5), 2))

if((Demanda <= L0a1) || (Demanda <= L2a1) || (Demanda <= L5a1) || (Demanda <= L8a1) || (Oferta >= L0b3) ||
(Oferta >= L2b3) || (Oferta >= L5b3) || (Oferta >= L8b3))
lote=(NormalizeDouble((Lotes*2,5), 2))
lote de vuelta;
}

tienes una confusión sobre variables y funciones, si es una función, inténtalo de esta manera:

insertar el código con ALT + S

double _LOTS()
  {
   double lot=0;
   if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid > = L2b1) ||
      (Bid >= L5b1) || (Bid >= L8b1))
      {
       lot=(NormalizeDouble(Lots, 2));
       Print(" lot = ", lot); 
       return(lot);
      }
      
    if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
      (Bid >= L5b) || (Bid > = L8b))
      {
       lot=(NormalizeDouble((Lots*1.5), 2));
       Print(" lot = ", lot); 
       return(lot);
      }
     
    

   if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >= L0b3) ||
      (Bid >= L2b3) || (Bid >= L5b3) || (Bid >= L8b3))      
      {
       lot=(NormalizeDouble((Lots*2.5), 2));
       Print(" lot = ", lot); 
       return(lot);
      }
  } 
 
Una pregunta sencilla. El búho no compila. Hay un error al final del código. + __FUNCSIG__
+ ": "+Market_Err_To_Str(errIndex)
+ "; ticket de pedido = " + (cadena)OrderTicket()
+ "; tipo de pedido = " + (cadena)OrderType()
+ "; orden Stop Loss = " + DoubleToStr(OrderStopLoss(), Digits())
+ "; nuevo Stop Loss = " + DoubleToStr(newStopLoss, Digits())
+ "; Oferta = " + DoubleToStr(Oferta, Dígitos())
+ "; Ask = " + DoubleToStr(Ask, Digits())
);
}
}
lastSetNonlosTryTime = TimeLocal();
}


Lanza un error de compilación. Por favor, ayude si puede. Gracias.