Discussion de l'article "Assistant MQL5 : Comment Créer un Module de Signaux de Trading" - page 4

 

Pouvez-vous me dire comment je peux utiliser LongCondition et ShortCondition pour non seulement ouvrir mais aussi fermer une position sans ouvrir la position opposée ? Par exemple, la valeur seuil du signal pour ouvrir = 30 et la valeur seuil du signal pour fermer = 70.

Nous voulons ouvrir une position longue lorsque la condition 1 est exécutée et fermer la position lorsque la condition 2 est exécutée. Quelles valeurs doivent être renvoyées par LongCondition et ShortCondition dans ce cas ?

Si le contrôle des valeurs de retour de LongCondition et ShortCondition n'est pas suffisant, comment peut-on procéder ? Nous supposons que nous n'utilisons qu'un seul signal.

Je vous remercie.

 

Bonjour,

J'ai suivi toutes les étapes de l'article, mais cela ne fonctionne pas.

J'ai sauvegardé le signal dans le fichier \include\expert\signal\mysignals\samplesignal.mqh.

Mais il n'est pas reconnu par l'éditeur de méta. J'ai essayé la même chose avec le fichier attaché dans l'article, aucun changement...


La version actuelle de mon éditeur de méta est 5.00 Build 567.


Une idée ?


Merci Mario

 

Lorsque j'utilise le fichier que vous avez joint à l'article, il y a quelque chose qui ne va pas.

Je trouve que le commentaire sur le type devrait être le suivant :

//| Type=SignalAdvanced                                          |

 
yankai0219:

Lorsque j'utilise le fichier que vous avez joint à l'article, il y a quelque chose qui ne va pas.

Je trouve que le commentaire sur le type devrait être le suivant :

//| Type=SignalAdvanced                                          |

Vous pouvez lire cela dans l'article Créez votre propre robot de trading en 6 étapes !
 

Bonjour à tous,

J'ai téléchargé le signal de cet article et créé un MQ5 en utilisant l'assistant, mais l'EA n'effectue aucune transaction. Des idées ?

J'ai dû faire le changement dans les commentaires ci-dessus pour que le signal apparaisse dans la liste, à part cela, il s'est compilé correctement. L'exécution de l'EA dans le testeur de stratégie ne fait rien par contre :(

EDIT : Après avoir inséré des instructions d'impression dans toutes les fonctions de la classe CSampleSignal, et les fonctions de la classe CExpertSignal, il semble que les fonctions héritées ne sont pas écrasées par les fonctions CSampleSignal-

c'est-à-dire dans cet exemple, au lieu d'exécuter ces fonctions :

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);

Les fonctions suivantes sont exécutées :

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);

Est-ce que cela a un sens ? Les fonctions de la classe mère sont exécutées, alors qu'elles sont écrasées dans la classe enfant... Toute aide serait grandement appréciée !

 
trolley:

Bonjour à tous,

J'ai téléchargé le signal de cet article et créé un MQ5 en utilisant l'assistant, mais l'EA n'effectue aucune transaction. Des idées ?

J'ai dû faire le changement dans les commentaires ci-dessus pour que le signal apparaisse dans la liste, à part cela, il s'est compilé correctement. L'exécution de l'EA dans le testeur de stratégie ne fait rien par contre :(

EDIT : Après avoir inséré des instructions d'impression dans toutes les fonctions de la classe CSampleSignal, et les fonctions de la classe CExpertSignal, il semble que les fonctions héritées ne sont pas écrasées par les fonctions CSampleSignal-

c'est-à-dire dans cet exemple, au lieu d'exécuter ces fonctions :

Les fonctions suivantes sont exécutées :

Est-ce que cela a un sens ? Les fonctions de la classe mère sont exécutées, alors qu'elles sont écrasées dans la classe enfant... Toute aide serait grandement appréciée !

Bonjour Trolley,

J'ai le même problème. Avez-vous trouvé une solution ou une idée à ce sujet ?

Je vous remercie.

 

Bonjour,

Merci de m'indiquer comment augmenter (top up) une position dans un Expert Advisor, qui est écrit sur la base de MQL5 Wizard et où les positions sont ouvertes via

virtual int LongCondition() ;
virtual int ShortCondition() ;

J'ai écrit le robot en suivant les recommandations de l'article

https://www.mql5.com/fr/articles/367 "Créer un robot de trading en 6 étapes" et il fonctionne bien, mais il tente d'influencer la taille de la position (qu'il s'agisse de l'augmenter ou de la diminuer)

(qu'il s'agisse d'augmenter ou de diminuer) par la génération répétée de la condition dans , par exemple dans

LongCondition() ;

n'aboutit à rien, la position déjà ouverte n'est pas modifiée, elle ne peut être supprimée que par l'exécution de la condition de fermeture ou par le déclenchement de sl , tp.

J'aime l'assistant MQL5, vous pouvez facilement et rapidement "construire" un conseiller expert multi-indicateurs, changer le module de suivi des sl, changer le module de gestion de l'argent.

Mais ma tentative d'écrire un Expert Advisor qui ouvre une position minimale lorsqu'une condition est formée par un indicateur et augmente (remplit) la position lorsque la tendance est confirmée par un autre indicateur.

J'ai rencontré le problème décrit ci-dessus - la position déjà ouverte ne change pas lorsque le signal pour l'ouvrir à nouveau est émis à travers, par exemple, LongCondition() ;

Je vous remercie.

Создай торговый робот за 6 шагов!
Создай торговый робот за 6 шагов!
  • 2012.06.01
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
 
Le fichier de l'article n'est pas visible dans l'assistant, qui est dans le sujet, merci de me dire ce qu'il faut ajuster.
 
thejobber:
Le fichier de l'article n'est pas visible dans l'assistant, qui est dans le sujet, merci de me dire ce qu'il faut modifier.

Dans les commentaires il faut remplacer la ligne

//| Type=Signal

par

//|| Type=SignalAdvanced.

Après cela, mon maître a commencé à voir le signal.

 
Je l'ai téléchargé, je l'ai généré avec l'assistant, j'ai essayé de l'exécuter dans le testeur et il ne fonctionne pas. Il n'accède même pas aux méthodes CheckOpenLong/Short() dans samplesignal. Elles sont appelées dans ExpertSignal, mais pas dans SampleSignal. Qu'est-ce que je peux faire d'autre pour les surcharger à coup sûr ?