Discusión sobre el artículo "Guía paso a paso para escribir un Expert Advisor en MQL5 para principiantes" - página 3

 

Después de algunas dificultades, el probador funcionó completamente y produjo resultados que coinciden con los indicados en el artículo.

Sobre las dificultades. La descarga del historial tardó mucho tiempo (55 minutos a 8 Mbps), con varias interrupciones, tuve que reiniciar el probador 2 veces. Al final el probador se congeló. Cerré MT 5, pero no pude abrirlo de nuevo. Tuve que reiniciar completamente el sistema. Después de que MT5 arrancó en silencio, y, sorprendentemente, el probador funcionó completamente (unos 2 minutos) y dio todos los resultados indicados en el artículo (he especificado los parámetros de prueba exactamente como se indica en el artículo). Y las pruebas posteriores en diferentes marcos de tiempo continuaron sin ningún problema.

Resumen. El artículo es genial. El Asesor Experto es viable. Voy a investigar más a fondo.

 
Me pregunto por qué las llamadas a ArraySetAsSeries están en el cuerpo de OnTick() y no en OnInit() ?
Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
Операции с массивами / ArraySetAsSeries - Документация по MQL5
 
Также это лучшее место для получения хэндлов технических индикаторов, которые будут использоваться (в нашем случае это индикаторы ADX y Media móvil).

¿Por qué no decir en este lugar lo que es el mango de los indicadores técnicos?

¿Qué es? ¿Un identificador de indicador?

 
vas:

¿Por qué no decir en este lugar qué es el mango de los indicadores técnicos?

¿Qué es un identificador de indicador?

La manija del indicador es el identificador del hilo en el cual el indicador es calculado, llamando la manija usted dirige la corriente de datos.

Y la función que devuelve el handle crea (inicia) este mismo hilo. Es por eso que los desarrolladores no recomiendan acceder al flujo inmediatamente después de su creación, ya que puede estar todavía en el proceso de cálculo de datos.

 

¡Gran artículo! Claramente estructurado y fácil de entender.

Dudo de la expresión de retorno en la primera condición "if" del "OnInit()". Quizás el parámetro debería ser -1, lo que sea pero no 0, o la condición "if" es redundante.

 

He intentado implementar el experto del artículo https://www.mql5.com/es/articles/100 en clases de la biblioteca estándar.

Estoy publicando lo que obtuve.

Desafortunadamente, la operación idéntica no funcionó, porque el código del artículo tiene errores.

El archivo ExpertADX-MA.mq5 debe colocarse en Experts\Advisors. -Este es el Asesor Experto

Elarchivo SignalADX-MA.mqh debe colocarse en Include\Expert\Signal. esta es la clase de señales de trading.

El archivo TrailingFixedPips.mqh debe colocarse en Include\Expert\Trailing(con reemplazo) - es un archivo de la entrega estándar con algunos cambios menores.

El archivo Expert.mqh debe colocarse enInclude\Expert (con reemplazo). -archivo de la entregastd. archivo de la entrega estándar con pequeños cambios

Los cambios de la entrega estándar se harán en la próxima build.

PD: La red de arrastre está "atornillada" en Expert (por petición de los trabajadores).

Para "desatornillarlo" hay que comentar la línea

      if(!ExtExpert.InitTrailing(new CTrailingFixedPips)) return(-3);

en el archivo ExpertADX-MA.mq5.

Пошаговое руководство по написанию MQL5-советников для начинающих
Пошаговое руководство по написанию MQL5-советников для начинающих
  • 2010.06.09
  • Samuel
  • www.mql5.com
Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
Archivos adjuntos:
 

Se han corregido los errores en el código del EA en el artículo Guía paso a paso para escribir Asesores Expertos MQL5 para principiantes.

Por favor, descargue la versión actualizada del código del Asesor Experto.
 

En el código EA anterior.

Elarray dinámico double maVal[] se declara en el ámbito global.

y no en el ámbito de la función void OnTick().

Supongamos que el Asesor Experto ha estado funcionando durante 24 horas.

Pregunta: ¿Qué pasará con la memoria asignada para el array dinámico? ¿En cuánto tiempo se llenará de basura?

O en otras palabras, formularé la pregunta: ¿Existe una fuga de memoria en este caso?

 

Gracias por su artículo.

 
Estoy muy agradecido por este artículo que ha ayudado mucho. Después de escribir mis códigos para mi EA presioné el botón de depuración y me dijeron que tengo 10 errores, en su artículo no hay ninguna información para corregir estos errores. Entonces, ¿cómo puedo resolver este problema, por favor escriba de nuevo tan pronto como sea posible?