Discusión sobre el artículo "Introducción a MQL5: Cómo escribir un Expert Advisor y un Indicador Personalizado" - página 4
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Este ExpertAdvisor no funciona en MT5 build 712, al menos no para mí.
Hay un mensaje de error "Cant't copy indicator buffer".
Además el indicador no compila sin advertencias,
"posible pérdida de datos debido a la conversión de tipo" en la línea 53,
"possible use on uninitialized varaiable 'day_n'" en la línea 54
"possible use on uninitialized varaiable 'h_day'" en la línea 62
"psosible use on uninitialized varaiable 'l_day'" en la línea 63
¿Puede corregir estos problemas, por favor?
Por lo demás, este es un buen ejemplo para nosotros que tenemos experiencia en otro software que no sea MT5.
Este es un excelente artículo, para los principiantes y las personas que viene de mql4, con en primer lugar un buen ejemplo de estrategia de negociación.
Hay algunas carencias menores en el código (comprobación de errores no siempre implementado), pero la EA funciona muy bien si se utiliza en el marco de tiempo minuto como recomienda el autor. Las advertencias al compilar el indicador son sólo advertencias, y no están bloqueando a utilizarlo y la EA.
Gracias.
esta no es una manera facil de explicar mql5 a la gente. (Es como con los libros de programación, el 90% de la gente no tiene ni idea de cómo empezar. Abren este libro por ejemplo sobre programación en c y el primer "ejemplo fácil" es largo por 1 página entera escrita en fuentes minúsculas. En toda mi vida solo he leido un buen libro de programacion que podria enseñar a programar a cualquiera. La razón es que están escritos por programadores probablemente excelentes, pero desafortunadamente muy malos profesores. Programar puede ser realmente fácil y te lo demostraré haciendo un sencillo tutorial para el lenguaje de programación MQL4 cuando tenga un poco más de tiempo que ahora. Para todos - incluso principiantes totales. El mayor error es enseñar a la gente los detalles de la lengua la mayor parte de su trabajo debe ser ctrl + C y ctrl + v y el uso de Google para los comandos y lo más importante - mantener todo muy simple. Conozco más de 10 lenguajes de programación (programo desde los 7 años) y todavía estoy asustado por la forma en que se explica este "ejemplo fácil" en 11kb (!!!). Me gustaria saber si hay algun principiante en programacion que haya aprendido MQL5 con este ejemplo ;D. Lo dudo y si lo hay se puede contar con los dedos de una mano.
esta no es una forma facil de explicar mql5 a la gente. (Es como con los libros de programación, el 90% de la gente no tiene ni idea de cómo empezar. Abren este libro por ejemplo sobre programación en c y el primer "ejemplo fácil" es largo por 1 página entera escrita en fuentes minúsculas. En toda mi vida solo he leido un buen libro de programacion que podria enseñar a programar a cualquiera. La razón es que están escritos por programadores probablemente excelentes, pero desafortunadamente muy malos profesores. Programar puede ser realmente fácil y te lo demostraré haciendo un sencillo tutorial para el lenguaje de programación MQL4 cuando tenga un poco más de tiempo que ahora. Para todos - incluso principiantes totales. El mayor error es enseñar a la gente los detalles de la lengua la mayor parte de su trabajo debe ser ctrl + C y ctrl + v y el uso de Google para los comandos y lo más importante - mantener todo muy simple. Conozco más de 10 lenguajes de programación (programo desde los 7 años) y todavía estoy asustado por la forma en que se explica este "ejemplo fácil" en 11kb (!!!). Me gustaria saber si hay algun principiante en programacion que haya aprendido MQL5 con este ejemplo ;D. Lo dudo y si lo hay se puede contar con los dedos de una mano.
Tienes razón cuando dices que los programadores no son buenos profesores en general.
Pero no estoy de acuerdo cuando dices que MQL5 es tan dificil de aprender, principalmente para un programador que ha experimentado con mas de 10 lenguajes.
En la práctica, que yo recuerde, es posible cambiar uno de los niveles (SL o TP) de una posición dejando inalterados los demás niveles, incluso en los casos en que el nivel cuyo valor permanece inalterado está más cerca del precio actual que el especificado en el parámetro SYMBOL_TRADE_STOPS_LEVEL. Al crear programas, no recomiendo cambiar los parámetros de posición (niveles) de tal forma que los nuevos parámetros de posición (niveles) no cumplan los requisitos para comprobar la corrección de los datos de la posición, ya que esta situación no está documentada y en el futuro podría obtenerse un resultado diferente.
Hola a todos
Todo funciona bien para mí sólo cuando
request.type_filling=ORDEN_FILLING_IOC;
request.type_time = ORDER_TIME_DAY;
Situación similar con https://www.mql5.com/ru/forum/1156/page9#comment_2359257
¿Es una peculiaridad de mi broker FxPro?
Soy nuevo en la programación mql5.
Estaba tratando de aprender a través de este ejemplo, pero estoy un poco perdido con el bucle al final de la construcción del indicador. ¿Dónde exactamente se asigna un valor a la variable day_n?
Porque el bucle comprobará si day_n<day_t. ¿Cómo puede el programa conocer el valor de day_n?
¿Y cómo se calcula en absoluto? Supongamos que rate_total = 10 y todavía no hay ninguna barra calculada. Entonces prev_calculated = 0
day_t=time[0] (HOY! ya que cuenta hacia atrás)/PeriodSeconds... ya que empieza a contar desde 1970, supongamos que empieza a contar desde hace 10 días. así que debería dar 10, ¿no?
Entonces day_t=10. Ahora comprueba si dayt > dayn. No sé dayn, pero sé dayt = 10. Voy a asumir dayn es cero, ya que no hay ningún valor.
Entonces dayn se convierte en 10 también. Ok.
Segunda tirada del bucle. prev_calculado + 1= 1.
DayT=time[1] (yesterday)/period... recuerda, empieza a contar desde hace 10 días... pero ahora sólo hasta ayer. debería dar un valor de 9, ¿no?
pero ahora díaN < díaT es falso. Entonces empieza a realizar las expresiones else. Ok. Entiendo.
Entonces calculará todos los bu[] y bd[]. Ok. El bucle terminará cuando prev < total rate sea falso.
Pero cuando llegue una nueva barra, y vuelva a ser verdadero, ¿volveré a empezar desde cero? ¿O empezará desde 10 y pasará directamente a la parte else?
¡¡¡¡Gracias!!!!