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

 
Roman Shiredchenko:

olvidé cómo actualizar... acaba de descargar del robot...

No me interesa la prueba, sino la optimización, y esto es imposible... porque ellos (los valores que se establecen) se restablecen...

La optimización es una prueba múltiple con diferentes parámetros. Así que la prueba y la optimización es la misma para este problema. Al principio de la prueba/optimización hay una impresión en el diario con el que se lanzó el Asesor Experto. Puede hacer una pausa justo después del inicio y leer el registro después de abrirlo. Y si se lanza con parámetros modificados, éstos serán visibles en la pestaña "Parámetros".

Como se trata de una instalación nueva, es seguro que se trata de la versión de 2007. Esta es la segunda empresa con este problema. Me pregunto si al ejecutarlo en MQ se producirá este problema. Puedes actualizarte conectándote o abriendo una nueva cuenta de MetaQuotes-Demo. Y también a través del menú


 
Alexey Viktorov:

La optimización es una prueba múltiple con diferentes parámetros. Así que la prueba y la optimización son las mismas para este problema. Al principio de la prueba de optimización, el registro contiene una impresión de los parámetros con los que se lanzó el Asesor Experto. Puede hacer una pausa justo después del inicio y leer el registro después de abrirlo. Y si lo ejecuta con los parámetros modificados, éstos serán visibles en la pestaña "Parámetros".

Como se trata de una instalación nueva, es seguro que se trata de la versión de 2007. Esta es la segunda empresa con este problema. Me pregunto si corriendo en MQ aparecerá este problema? Puedes actualizarte conectándote o abriendo una nueva cuenta de MetaQuotes-Demo. También puedes hacerlo a través del menú.


Muchas gracias. Pregunta https://www.mql5.com/ru/forum/305142/page3#comment_11915822 resuelta creando la carpeta Tester manualmente en MKL.
MT5 самостоятельно сбрасывает настройки в тестере после перехода на вкладку "Настройки"
MT5 самостоятельно сбрасывает настройки в тестере после перехода на вкладку "Настройки"
  • 2019.03.20
  • www.mql5.com
Решение (временное) : Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий MT5 самостоятельно сбрасывает настрой...
 
¿Por qué no se muestran las variables externas en los parámetros de entrada del indicador MQL5?
 
Alexandr Sokolov:
¿Por qué no se muestran las variables externas en los parámetros de entrada del indicador MQL5?

añadir

#property strict

Y no utilices construcciones del lenguaje antiguo, utiliza input en lugar de extern, no recuerdo, pero había un error con extern, parece que se pueden modificar en el código, y durante una nueva inicialización se restablecen a los valores iniciales y el compilador no genera advertencias como con input. Sin embargo, puedo estar equivocado.

 
Igor Makanu:

añadir

Y no utilices construcciones del lenguaje antiguo, utiliza input en lugar de extern, no recuerdo, pero había un error con extern, parece que se pueden modificar en el código, y en la nueva inicialización se restablecen a los valores iniciales y el compilador no genera advertencias como con input. Sin embargo, puedo estar equivocado.

Diferencias:

entrada

externo

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
указывается перед типом данных. Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные доступны только для чтения. Изменять значения input-переменных может только пользователь из окна свойств программы. Внешние переменные всегда переинициализируются непосредственно перед вызовом OnInit().   Существует...
 
Igor Makanu:

añadir

Y no utilices construcciones del lenguaje antiguo, utiliza input en lugar de extern, no recuerdo, pero había un error con extern, parece que se pueden modificar en el código, y durante una nueva inicialización se restablecen a los valores iniciales y el compilador no genera advertencias como con input. Sin embargo, puedo estar equivocado.

Eso tampoco funciona por alguna razón.

extern uint            usp      = 10,          //Update of the panel every ... seconds
                       psize    = 7;           //Panel size


 
Artyom Trishkin:

Diferencias:

entrada

externo

Lo he hojeado, pero hay muchas preguntas, que no son interesantes ))))

si extern funciona como está escrito en la ayuda, ¿por qué no puedo declararlo en el cuerpo de la función? - Lo he comprobado, hay un error de compilación:

extern' - unexpected token !!! test11.mq4 35 4

Y a nivel global por qué no es posible declarar tipos de datos complejos, como este:

struct S{double f;};
extern struct x;

en general, el uso de extern plantea más dudas que la necesidad de utilizarlo.

extern es una variable global externa que se usa para describir variables en otros plugins; puede ser que las bibliotecas MQL necesiten este comportamiento, pero muy poca gente escribe bibliotecas, todos usan #include

 
Alexandr Sokolov:

Eso tampoco funcionó por alguna razón


comprobado en el indicador incluso sin#propiedad estricta

muestra la pestaña de variables de entrada, no sé cuál es tu problema, aquí está mi código

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window

extern int x = 10,y=22;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

   return(rates_total);
  }


 
Alexandr Sokolov:

Eso tampoco funcionó por alguna razón


Se le dijo: entrada y #propiedad estricta

Incluso te han dado un enlace de ayuda.

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
указывается перед типом данных. Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные доступны только для чтения. Изменять значения input-переменных может только пользователь из окна свойств программы. Внешние переменные всегда переинициализируются непосредственно перед вызовом OnInit().   Существует...
 
Artyom Trishkin:

Se le dijo: entrada y #propiedad estricta

Incluso te han dado un enlace de ayuda.

Este es mi código

#property copyright "Alexandr Sokolov"
#property link      "https://www.mql5.com/en/users/asokolov7"
#property version   "1.00"
#property indicator_chart_window
#property strict

extern uint x = 10, y = 20;
//-------------------------------------------------------------------
int OnInit()
  {
   
  //-----------------------------------------------------------------
   return(INIT_SUCCEEDED);
  }
//-------------------------------------------------------------------
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   
  //-----------------------------------------------------------------
   return(rates_total);
  }


Razón de la queja: