Discusión sobre el artículo "MQL5 Wizard: Cómo crear un módulo de señales de trading" - página 4

 

¿Pueden decirme cómo puedo utilizar LongCondition y ShortCondition no sólo para abrir sino también para cerrar una posición sin abrir la posición contraria? Por ejemplo, Valor umbral de señal para abrir = 30 y Valor umbral de señal para cerrar = 70.

Queremos abrir en largo cuando se ejecute la Condición1 y cerrar la posición cuando se ejecute la Condición2. ¿Qué valores deben devolver LongCondition y ShortCondition en este caso?

Si controlar los valores de retorno de LongCondition y ShortCondition no es suficiente, ¿cómo se puede hacer? Se supone que estamos utilizando sólo una señal.

Gracias.

 

Hola,

He seguido todos los pasos en el artículo, pero tengo que no funciona.

He guardado la señal en los archivos \include\expert\signal\mysignals\samplesignal.mqh.

Pero no es reconocido por el editor de meta. He intentado lo mismo con el archivo adjunto en el artículo, ningún cambio ...


Mi versión actual del Meta Editor es 5.00 Build 567


¿Alguna idea?


Gracias Mario

 

Cuando utilizo el archivo que adjuntaste al artículo, hay algo que no funciona.

Me parece que el comentario sobre Tipo debería ser el siguiente:

//| Type=SignalAdvanced                                          |

 
yankai0219:

Cuando utilizo el archivo que adjuntaste al artículo, hay algo que no funciona.

Me parece que el comentario sobre Tipo debería ser el siguiente:

//| Type=SignalAdvanced                                          |

Puedes leerlo en el artículo ¡Crea tu propio robot de trading en 6 pasos!
 

Hola a todos,

He descargado la señal de este artículo y creó un MQ5 utilizando el asistente, pero la EA no hace ningún comercio. ¿alguna idea?

Tuve que hacer el cambio en los comentarios anteriores para obtener la señal para que aparezca en la lista, aparte de que se compila bien. Sin embargo, al ejecutar el EA en el probador de estrategias no hace nada :(

EDIT: Después de insertar declaraciones de impresión en todas las funciones de la clase CSampleSignal, y las funciones de la clase CExpertSignal, parece como si las funciones heredadas no están siendo sobrescritos por las funciones CSampleSignal-.

es decir, en este ejemplo, en lugar de ejecutarse estas:

class CSampleSignal : public CExpertSignal
  {
	 bool CSampleSignal::CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration);
	 bool CSampleSignal::CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration);

Se ejecutan las siguientes:

class CExpertSignal : public CExpertBase
  {
	 virtual bool     CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration);
	 virtual bool     CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration);

¿Tiene sentido? Se están ejecutando las funciones de la clase padre, cuando se están sobrescribiendo en la clase hija .... ¡¡Cualquier ayuda será muy apreciada!!

 
trolley:

Hola a todos,

He descargado la señal de este artículo y creó un MQ5 utilizando el asistente, pero la EA no hace ningún comercio. ¿alguna idea?

Tuve que hacer el cambio en los comentarios anteriores para obtener la señal para que aparezca en la lista, aparte de que se compila bien. Sin embargo, al ejecutar el EA en el probador de estrategias no hace nada :(

EDIT: Después de insertar declaraciones de impresión en todas las funciones de la clase CSampleSignal, y las funciones de la clase CExpertSignal, parece como si las funciones heredadas no están siendo sobrescritos por las funciones CSampleSignal-.

es decir, en este ejemplo, en lugar de ejecutarse estas:

Se ejecutan las siguientes:

¿Tiene sentido? Se están ejecutando las funciones de la clase padre, cuando se están sobrescribiendo en la clase hija .... ¡¡¡Cualquier ayuda será muy apreciada!!!

Hola Trolley,

tengo el mismo problema. ¿Has encontrado alguna solución o idea al respecto?

gracias

 

Buenas tardes,

Por favor, aconséjeme cómo aumentar (recargar) una posición en un Asesor Experto, que está escrito sobre la base de MQL5 Wizard y donde las posiciones se abren a través de

virtual int CondiciónLarga();
virtual int CondiciónCorta();

Escribí el robot de acuerdo con las recomendaciones del artículo

https://www.mql5.com/es/articles/367 "Crear un robot de comercio en 6 pasos" y funciona bien, pero los intentos de influir en el tamaño de la posición (no importa si para aumentar o disminuir)

(no importa si aumentar o disminuir) a través de la generación repetida de la condición en , por ejemplo en

LongCondition();

no conduce a nada, la posición ya abierta no se modifica, sólo puede borrarse ejecutando la condición de cierre o disparando sl , tp.

Me gusta el MQL5 Wizard, puedes "construir" fácil y rápidamente un Expert Advisor multiindicador, cambiar el módulo de seguimiento de sl, cambiar el módulo de gestión monetaria.

Pero mi intento de escribir un Asesor Experto que abre una posición mínima cuando una condición es formada por un indicador y aumenta (llena) la posición cuando la tendencia es confirmada por otro indicador.

Me encontré con el problema descrito anteriormente - la posición ya abierta no cambia cuando la señal para abrir de nuevo se emite a través de. por ejemplo LongCondition();

Gracias.

Создай торговый робот за 6 шагов!
Создай торговый робот за 6 шагов!
  • 2012.06.01
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
 
El archivo del artículo no es visible en el asistente, que está en el tema, por favor dígame qué ajustar.
 
thejobber:
El archivo del artículo no es visible en el asistente, que está en el tema, por favor dígame qué ajustar.

En los comentarios que necesita para reemplazar la línea

//| Tipo=Señal

a

//|| Type=SignalAdvanced.

Después de que mi maestro comenzó a ver la señal.

 
Lo descargué, lo generé a través del Wizard, intenté ejecutarlo en el tester y no funciona. Ni siquiera accede a los métodos CheckOpenLong/Short() de samplesignal. Se llaman en ExpertSignal, pero no en SampleSignal. ¿Qué más puedo hacer para anularlos con seguridad?