Discusión sobre el artículo "Asistente MQL5: Ampliación de la biblioteca estándar para el establecimiento de órdenes, stops y objetivos según precios calculados"

 

Artículo publicado Asistente MQL5: Ampliación de la biblioteca estándar para el establecimiento de órdenes, stops y objetivos según precios calculados:

El objetivo práctico de esta publicación es añadir a los asesores creados las posibilidades de abrir órdenes, stop loss y take profit en los niveles de precio requeridos y no sólo a una distancia determinada del precio actual.

Podemos encontrar una tarea similar en el artículo "Wizard MQL5: Cómo enseñar a un Asesor Experto a abrir las órdenes pendientes de cualquier precio", pero la variante que proponen en él para resolver el problema tiene una desventaja significativa: el cambio "forzoso" de un parámetro del módulo de señales comerciales del filtro subordinado. Esta aproximación no posibilita adecuadamente el trabajo con multitud de módulos. Al usarlo, la utilización del asistente para la optimización del proceso de desarrollo pierde su sentido.

A continuación, estudiaremos con detalle la implementación de la apertura de órdenes, stops y takes de cualquier precio y clase, heredados de los estándar. Además, cualquier conflicto entre módulos queda excluido. Espero que este artículo sirva de ejemplo e inspire a los lectores a desarrollar sus propias mejoras del marco de trabajo estándar, y que además permita aplicar la ampliación de la biblioteca para sus propios fines a los usuarios que entiendan instrucciones no muy complejas.

Asistente MQL5: Ampliación de la biblioteca estándar para el establecimiento de órdenes, stops y objetivos según precios calculados

Autor: Andrey Shpilev

 
¡Arriba y a por ellos!
 
He aquí el siguiente error: failed instant buy 0.20 EURUSD at 1.07971 sl: 1.07959 tp: 1.08053 [Invalid stops].
[Eliminado]  

Hola, gracias por su código y la perspectiva de emplear una lógica diferente a la clase CSignal. ¿Qué sería lo contrario para esto?

   double direction=Direction();
//--- señal prohibitiva
   if(direction==EMPTY_VALUE)
      return(false);


¿Permitir que se tomen señales en cada oportunidad independientemente de las posiciones en ejecución?