Errores, fallos, preguntas - página 134

 
EQU:

Sentado... Observando...

Nunca creeré que MQL5 y MQL4 fueron escritos por el mismo equipo.(((

MQ4 - volando...

MQ5 es un juego de niños. Sin ánimo de ofender, pero...(((


¿Cuánto tiempo ha pasado desde el lanzamiento de MT4? En 2 años y MT5 será considerado un "sistema de trading perfecto"...
 
Dmitriy2:

No he visto este hilo... lo mismo...

El caso es que no voy a hacer estúpidamente comprobaciones en cada línea para todas las ocasiones confundiendo y desordenando el código. Si eso no es posible, entonces... se añaden muletas, se rehace por fin un proyecto lo suficientemente grande y se trabaja...

Y en general me sorprende este enfoque... Resulta que no es la primera vez que surge una pregunta de este tipo (y estoy seguro de que más de una vez en el futuro surgirá en otras personas), y cada vez "por primera vez" para pasar un montón de su tiempo de trabajo y de los demás para explicar lo que hay que hacer para evitar este error ...

Lo único que hay que hacer es añadir en el TESTER que se recomienda en ese hilo sólo UNA DORMIDA(1000) al inicio del Expert Advisor.

No debe ser así para que el caparazón implique fallos, y esos fallos deben evitarse en el código. Y el TERMINAL está funcionando correctamente y de forma correcta, no hay ERRORES (en esta situación). Pero el funcionamiento del comprobador es DIFERENTE al del terminal.

ps EQU hola:)

Una vez más, lo repito. Recomendamos de antemano cómo trabajar con los indicadores, lo describimos en la documentación (alguien simplemente no lee la documentación).

Justo después de crear una manija de indicador, todavía no hay datos. Deben ser calculados en un hilo diferente. El hecho de que obtengas inmediatamente datos en el terminal del cliente, considéralo una suerte. Una vez más, es posible que no obtenga los datos.

El probador es más determinista que el terminal: allí todo es mucho más sincrónico. E inmediatamente después de crear una manija nunca obtendrá datos. En este caso, "nunca" equivale a "a veces". Para "a veces" todavía hay que organizar algún tipo de cheque. Así que pon un bucle de comprobación con un resbalón. Y todo será como en la vida.

PS Bueno, no crear un nuevo mango en cada iteración - es un error desde cualquier punto de vista.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов - Документация по MQL5
 
stringo:

Una vez más, lo repito. Hemos recomendado de antemano cómo deben manejarse los indicadores y lo hemos descrito en la documentación (simplemente alguien no lee la documentación).

Justo después de la creación de la manija del indicador, todavía no hay datos. Deben ser calculados en un hilo diferente. El hecho de que obtengas inmediatamente datos en el terminal del cliente, considéralo una suerte. Una vez más, es posible que no obtenga los datos.

El probador es más determinista que el terminal: allí todo es mucho más sincrónico. E inmediatamente después de crear una manija nunca obtendrá datos. En este caso, "nunca" equivale a "a veces". Para "a veces" todavía hay que organizar algún tipo de cheque. Así que pon un bucle de comprobación con un resbalón. Y todo será como en la vida.

PS Bueno, no deberías crear un nuevo mango en cada iteración - es un error desde cualquier punto de vista.

Entonces necesitamos dos funciones (tiempo extra...). Esto tiene en cuenta el hecho de que los datos del indicador en el código son siempre diferentes. ¿Estará bien?

   if(ХендлПараболик(ТФОткрытияпоSAR,SAR_stepОткрытияпоSAR,SAR_maximumОткрытияпоSAR,2)==true)
      ЗначениеПараболик=Параболик(ТФОткрытияпоSAR,SAR_stepОткрытияпоSAR,SAR_maximumОткрытияпоSAR,1);

//+----------------------------------------------------------------------------+
//Функция создания и проверки хендла Parabolic SAR                    MQL5     |
//+----------------------------------------------------------------------------+
bool ХендлПараболик(ENUM_TIMEFRAMES период,double step,double maximum,int бар)
  {
   Parabolic=iSAR(СИМВОЛ,период,step,maximum);
   for(int i=0;i<100;i=i+1)
     {
      if(BarsCalculated(Parabolic)>бар)
         return(true);
      Sleep(50);
     }
   return(false);
  }
//+------------------------------------------------------------------+


//+----------------------------------------------------------------------------+
//Функция Parabolic SAR                                               MQL5     |
//+----------------------------------------------------------------------------+
double Параболик(ENUM_TIMEFRAMES период,double step,double maximum,int бар)
  {
   double ЗначениеParabolic[1];
   CopyBuffer(Parabolic,0,бар,1,ЗначениеParabolic);
   return(ЗначениеParabolic[0]);
  }
 
¿Alguien sabe cómo obtener el índice de la sesión de negociación actual para la función SymbolInfoSessionTrade() ? La ayuda sólo dice elnúmero de sesión para el que quiero obtener la hora de inicio y la hora de finalización. La indexación de las sesiones comienza desde 0.
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionQuote - Документация по MQL5
 
 
Gracias por el consejo.
 

Por favor, avisa. ¿Es necesaria esta línea al principio del EA?

void OnTick()
{
   if(!MQL5InfoInteger(MQL5_TRADE_ALLOWED)) return;
Si no es así, ¿cuándo se necesita?
 
gpwr:

Por favor, avisa. ¿Es necesaria esta línea al principio del EA?

Si no es así, ¿cuándo se necesita?

Esta función comprueba si esta casilla está activada:


 
gpwr:

Por favor, avisa. ¿Es necesaria esta línea al principio del EA?

Si no, ¿en qué casos es necesario?

Si el comercio en el programa mql5 está prohibido (por ejemplo, si ha desmarcado la casilla que permite el comercio en este EA cuando lo inicia), entonces no se realizará ningún comercio. El Asesor Experto en sí mismo funcionará como siempre. Compruébelo usted mismo.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 
Urain:

Esta función comprueba si esta casilla está activada:

No, se trata de un mensaje sobre otra casilla de verificación que se marca cuando se inicia el experto o el script