Artem Trishkin me respondió la misma pregunta, porque es un enlace (uppersand), por lo que puede estar en cualquier lugar. debe tratar sin espacios para la pureza del experimento.
¡Gracias, Valery! Tendré en cuenta este punto si alguna vez me encuentro con un problema similar.
Sigo estudiando el lenguaje de programación MQL5. He modificado un poco el código publicado anteriormente y esto es lo que he conseguido:
inputstring Symbol_Main="EURUSD"; //Валютная пара, на которую ставим советникinputENUM_TIMEFRAMES Time_Frame=PERIOD_H1; //Таймфрейм, на который ставим советник//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
/* Определим график валютной пары и таймфрейм, на который будем устанавливать советник. *//* Если текущий график валютной пары и текущий таймфрейм совпадают со входными параметрами */if(_Symbol==Symbol_Main && _Period==Time_Frame)
{
/* выводим окно сообщений на торговом терминале и продолжаем работу советника */MessageBox("Работа советника разрешена! Продолжим!");
return(INIT_SUCCEEDED); //возвращаем для функции OnInit значение означающее "удачная инициализация"
}
/* Если текущий график валютной пары и текущий таймфрейм не совпадают со входными параметрами */if(_Symbol!=Symbol_Main && _Period!=Time_Frame)
{
/* выводим окно сообщений на торговом терминале и закрываем советник */MessageBox("Не совпадают валютная пара и таймфрейм! Выходим!");
return(INIT_FAILED); //возвращаем для функции OnInit значение означающее "неудачная инициализация"
}
/* Если текущий график валютной пары не совпадает со входным параметром */if(_Symbol!=Symbol_Main)
{
/* выводим окно сообщений на торговом терминале и закрываем советник */MessageBox("Не совпадает валютная пара! Выходим!");
return(INIT_FAILED); //возвращаем для функции OnInit значение означающее "неудачная инициализация"
}
/* Если текущий таймфрейм не совпадает со входным параметром */if(_Period!=Time_Frame)
{
/* выводим окно сообщений на торговом терминале и закрываем советник */MessageBox("Не совпадет таймфрейм! Выходим!");
return(INIT_FAILED); //возвращаем для функции OnInit значение означающее "неудачная инициализация"
}
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
Tengo algo de tiempo libre y he decidido continuar con mi autoestudio. Pero de repente me encontré con un problema. Anteriormente, cuando hice una solicitud como esta al servidor de comercio en mi Expert Advisor Trailing_Stop_(v.2).mq5:
/* Создадим запрос на сервер и получим ответ с результатом */MqlTradeRequest request= {0};
MqlTradeResult result= {0};
no hubo problemas durante la compilación del código. Ahora el compilador genera el siguiente error:
Tengo algo de tiempo libre y he decidido continuar con mi autoestudio. Pero de repente me encontré con un problema. Anteriormente, cuando hice una solicitud como esta al servidor de comercio en mi Expert Advisor Trailing_Stop_(v.2).mq5:
no hubo problemas durante la compilación del código. Ahora el compilador genera el siguiente error:
Continúo mi autoestudio del lenguaje de programación MQL5. Decidí escribir una función para obtener la señal del indicador ZigZag. Empecé a estudiarlo a fondo y enseguida me surgieron algunas preguntas. Lo tengo en sus parámetros de entrada:
Continúo mi autoestudio del lenguaje de programación MQL5. Decidí escribir una función para obtener la señal del indicador ZigZag. Empecé a estudiarlo a fondo y enseguida me surgieron algunas preguntas. Lo tengo en sus parámetros de entrada:
No domino el inglés, así que tengo que usar el Google Translator. Cuál es la traducción pura:
Preguntas:
Si la profundidad, ¿profundidad de qué?
Si se trata de una desviación, ¿de qué parámetro o valor?
Si un paso atrás, ¿por qué un paso atrás? ¿No está avanzando?
Queridos expertos, ¡ayudadme a entender!
Sinceramente, Vladimir.
¡¡¡¡Elemental - buscar para ayudar, " No avanza " - toda la historia se mueve hacia atrás aquí!!!! :-)
La profundidad es el número mínimo de barras en las que no habrá un segundo máximo (mínimo) menos (más) por pips de desviación que el anterior, es decir, el ZigZag siempre puede divergir, pero converger (o desplazar el conjunto) más que por desviación, el ZigZag sólo puede después de las barras de profundidad. El Backstep es el número mínimo de barras entre máximos (mínimos).
La profundidad es el número mínimo de barras en las que no habrá un segundo máximo (mínimo) menor (mayor) que el anterior por pips de desviación, es decir, el ZigZag siempre puede divergir, pero puede converger (o desplazar el conjunto) más que por desviación, el ZigZag sólo puede después de las barras de profundidad. El Backstep es el número mínimo de barras entre máximos (mínimos).
Mientras probaba un Asesor Experto, me encontré con un problema. Tiene el siguiente código de función de inicialización de EA:
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- достаточно ли количество баров для работыif(Bars(_Symbol,_Period)<60) // общее количество баров на графике меньше 60?
{
Alert("На графике меньше 60 баров, советник не будет работать!!");
return(-1);
}
//--- получить хэндл индикатора Bollinger Bands и DEMA
BolBandsHandle=iBands(NULL,PERIOD_M30,bands_period,bands_shift,deviation,PRICE_CLOSE);
demaHandle=iDEMA(NULL,PERIOD_D1,dema_period,0,PRICE_CLOSE);
//--- Нужно проверить, не были ли возвращены значения Invalid Handleif((BolBandsHandle<0) || (demaHandle<0))
{
Alert("Ошибка при создании индикаторов - номер ошибки: ",GetLastError(),"!!");
return(-1);
}
return(0);
}
Al probar el EA me aparecen mensajes en el registro:
2021.10.3113:19:25.752 Core 2 genetic pass (0, 288) tested with error "OnInit returned non-zero code -1"in0:00:00.0002021.10.3113:19:26.835 Core 2 genetic pass (0, 298) tested with error "OnInit returned non-zero code -1"in0:00:00.0002021.10.3113:19:26.921 Core 1 genetic pass (0, 42) tested with error "OnInit returned non-zero code -1"in0:00:00.0002021.10.3113:19:27.847 Core 2 genetic pass (0, 318) tested with error "OnInit returned non-zero code -1"in0:00:00.0002021.10.3113:19:27.848 Core 2 genetic pass (0, 326) tested with error "OnInit returned non-zero code -1"in0:00:00.0002021.10.3113:19:29.907 Core 2 genetic pass (0, 359) tested with error "OnInit returned non-zero code -1"in0:00:00.0002021.10.3113:19:29.907 Core 2 genetic pass (0, 371) tested with error "OnInit returned non-zero code -1"in0:00:00.0002021.10.3113:19:30.009 Core 1 genetic pass (0, 102) tested with error "OnInit returned non-zero code -1"in0:00:00.0002021.10.3113:19:30.009 Core 1 genetic pass (0, 105) tested with error "OnInit returned non-zero code -1"in0:00:00.0002021.10.3113:19:31.044 Core 1 genetic pass (0, 122) tested with error "OnInit returned non-zero code -1"in0:00:00.000
и т.д.
He descubierto que el problema está en la comprobación de las asas de los indicadores Bollinger Bands y DEMA. Ya he comprobado las asas de los indicadores Bollinger Bands y DEMA, así que tengo una pregunta: ¿Qué debo cambiar en mi código para corregir estos errores?
Artem Trishkin me respondió la misma pregunta, porque es un enlace (uppersand), por lo que puede estar en cualquier lugar. debe tratar sin espacios para la pureza del experimento.
¡Gracias, Valery! Tendré en cuenta este punto si alguna vez me encuentro con un problema similar.
¡Feliz Navidad!
Sinceramente, Vladimir.
¡Feliz comercio y buen humor para todos!
Sigo estudiando el lenguaje de programación MQL5. He modificado un poco el código publicado anteriormente y esto es lo que he conseguido:
Quizás alguien lo necesite.
Saludos, Vladimir.
¡Buen día y buen humor a todos!
Tengo algo de tiempo libre y he decidido continuar con mi autoestudio. Pero de repente me encontré con un problema. Anteriormente, cuando hice una solicitud como esta al servidor de comercio en mi Expert Advisor Trailing_Stop_(v.2).mq5:
no hubo problemas durante la compilación del código. Ahora el compilador genera el siguiente error:
no se puede convertir 0 en el enum'ENUM_TRADE_REQUEST_ACTIONS' Trailing_Stop_(v.2).mq5 411 30
Si quito un cero después de la solicitud entre corchetes,
El compilador no mostrará el error. Por favor, ayúdenme, ¿cuál es la razón de esto?
Saludos, Vladimir.
¡Buen día y buen humor a todos!
Tengo algo de tiempo libre y he decidido continuar con mi autoestudio. Pero de repente me encontré con un problema. Anteriormente, cuando hice una solicitud como esta al servidor de comercio en mi Expert Advisor Trailing_Stop_(v.2).mq5:
no hubo problemas durante la compilación del código. Ahora el compilador genera el siguiente error:
no se puede convertir 0 en el enum'ENUM_TRADE_REQUEST_ACTIONS' Trailing_Stop_(v.2).mq5 411 30
Si quito un cero después de la solicitud entre corchetes,
Entonces no me da error. Por favor, ayúdenme, ¿cuál es la razón de esto?
Saludos, Vladimir.
Sí, ahora no escriba cero para la puesta a cero.
ENUM_TRADE_REQUEST_ACTIONS , una enumeración que carece del valor "0".
La forma correcta sería:
MqlTradeRequest request={};Sí, ahora no escribas cero para la puesta a cero.
¡Gracias, Vladimir!
¡Se vive y se aprende mucho tiempo! Si los desarrolladores de MQL5 Reference corrigieran esto en todas partes, sería genial.
Sinceramente, Vladimir.
Buenos días a todos.
Continúo mi autoestudio del lenguaje de programación MQL5. Decidí escribir una función para obtener la señal del indicador ZigZag. Empecé a estudiarlo a fondo y enseguida me surgieron algunas preguntas. Lo tengo en sus parámetros de entrada:
No domino el inglés, así que tengo que usar el Google Translator. Cuál es la traducción pura:
Depth - глубинаDeviation - отклонениеBackstep - шаг назадPreguntas:
Queridos expertos, ¡ayudadme a entender!
Sinceramente, Vladimir.
Buenos días a todos.
Continúo mi autoestudio del lenguaje de programación MQL5. Decidí escribir una función para obtener la señal del indicador ZigZag. Empecé a estudiarlo a fondo y enseguida me surgieron algunas preguntas. Lo tengo en sus parámetros de entrada:
No domino el inglés, así que tengo que usar el Google Translator. Cuál es la traducción pura:
Preguntas:
Queridos expertos, ¡ayudadme a entender!
Sinceramente, Vladimir.
¡¡¡¡Elemental - buscar para ayudar, " No avanza " - toda la historia se mueve hacia atrás aquí!!!! :-)
https://www.mql5.com/ru/code/7796
La profundidad es el número mínimo de barras en las que no habrá un segundo máximo (mínimo) menos (más) por pips de desviación que el anterior, es decir, el ZigZag siempre puede divergir, pero converger (o desplazar el conjunto) más que por desviación, el ZigZag sólo puede después de las barras de profundidad. El Backstep es el número mínimo de barras entre máximos (mínimos).
¡En el cuadro de búsqueda, escriba: por ejemplo, parámetros en zigzag, https://www.mql5.com/ru/search#!keyword=%D0%B7%D0%B8%D0%B3%20%D0%B7%D0%B0%D0%B3%20%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B&page=2</b></p>
PS cosas elementales...
¡¡¡¡Elemental - la búsqueda es una ayuda, " no se mueve hacia adelante " - toda la historia se mueve hacia atrás aquí!!!! :-)
https://www.mql5.com/ru/code/7796
La profundidad es el número mínimo de barras en las que no habrá un segundo máximo (mínimo) menor (mayor) que el anterior por pips de desviación, es decir, el ZigZag siempre puede divergir, pero puede converger (o desplazar el conjunto) más que por desviación, el ZigZag sólo puede después de las barras de profundidad. El Backstep es el número mínimo de barras entre máximos (mínimos).
¡En el cuadro de búsqueda, escriba: por ejemplo, parámetros en zigzag, https://www.mql5.com/ru/search#!keyword=%D0%B7%D0%B8%D0%B3%20%D0%B7%D0%B0%D0%B3%20%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B&page=2</b></p>
PS cosas elementales...
¡Muchas gracias, Roman! Has dado la explicación más concisa, pero al mismo tiempo comprensible.
Respetuosamente, Vladimir.
¡Muchas gracias, Roman! Has dado la explicación más concisa, pero al mismo tiempo comprensible.
Respetuosamente, Vladimir.
¡Buenos días a todos!
Mientras probaba un Asesor Experto, me encontré con un problema. Tiene el siguiente código de función de inicialización de EA:
Al probar el EA me aparecen mensajes en el registro:
He descubierto que el problema está en la comprobación de las asas de los indicadores Bollinger Bands y DEMA. Ya he comprobado las asas de los indicadores Bollinger Bands y DEMA, así que tengo una pregunta: ¿Qué debo cambiar en mi código para corregir estos errores?
Saludos, Vladimir.