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

 
Dans la nouvelle version de l'assistant MQL5, le format des modules de signaux a changé. Pour plus d'informations, consultez le site https://www.mql5.com/ru/forum/3724/66962#comment_66962.
Обсуждение статьи "Мастер MQL5: Новая версия"
Обсуждение статьи "Мастер MQL5: Новая версия"
  • www.mql5.com
Изменения в архитектуре сигналов позволяют теперь создавать торговые роботы на основе комбинации различных рыночных моделей.
 
Rosh:
Dans la nouvelle version de l'assistant MQL5, le format des modules de signaux a changé. Regardez ici pour plus d'informations - https://www.mql5.com/ru/forum/3724/66962#comment_66962.

J'ai effectué ces modifications, l'assistant voit le nouveau module de signal, mais le conseiller expert qui en résulte n'effectue pas d'opérations pour une raison quelconque. Puis-je utiliser le débogage pour accéder aux fonctions CheckOpenShort/CheckOpenLong ?
 
J'ai regardé le code de plusieurs signaux prêts dans le dossier Signal, il n'y a pas d'implémentation des fonctions CheckOpenShort/CheckOpenLong. Elles sont utilisées à la place
//--- méthodes de vérification de la formation des modèles de marché
   virtual int       LongCondition();
   virtual int       ShortCondition();
Est-ce que je comprends bien ? Lorsque j'écris mon propre module, dois-je également les implémenter ? Quand la description de la classe CExpert apparaîtra-t-elle ?
 
beginner:

J'ai regardé le code de plusieurs signaux prêts dans le dossier Signal, il n'y a pas d'implémentation des fonctions CheckOpenShort/CheckOpenLong. Au lieu de cela, elles sont utilisées correctement, si j'ai bien compris ?
Oui, c'est exact.
 
Rosh:
Oui, c'est vrai.

Pour être honnête, je suis un peu confus. Il y a des fonctions CheckOpenShort/CheckOpenLong dans la classe CExpertSignal. Vous utilisez d'autres fonctions dans vos signaux, et je ne comprends pas non plus où elles sont appelées dans CExpert. Le problème est que j'ai pris un signal prêt à l'emploi dans l'article sur l'écriture de mon propre module de signaux, je l'ai fait voir à l'assistant (vous pouvez probablement apporter des modifications à l'article sur le nouveau format) et j'ai obtenu un Expert Advisor avec ce signal, mais il ne trade pas, pas une seule transaction dans le testeur depuis un an.

Les fonctions sont appelées dans le constructeur - c'est clair, mais pourquoi n'utilise-t-on pas les fonctions standard ?

 
Veuillez voir ce qui ne va pas. Ne pas échanger le testeur.
Dossiers :
1.mq5  7 kb
 
beginner:

Voyez ce qui ne va pas. Il n'y a pas d'échange dans le testeur.

Ce module fait du trading.

Dans votre cas, remplacez pour les longs

if(  High(1) > High(2) && Low(2)>Low(3) && High(2)<High(3) && Close(3)>Open(3) ){
     return(100);
   }
//--- условие не выполнено
   return(0);  
  }

par

Open(1)< Open(2)

pour les shorts - trouvez-le vous-même

Dossiers :
 
gdtt:

ce module négocie

pour votre cas, remplacez les longs

par

pour les shorts, vous le trouverez vous-même.

Oui, c'est le cas, merci ! J'ai passé la journée, je pense avoir tout fait comme dans l'article, quelle est mon erreur ?
 
beginner:
Oui, c'est vrai, merci ! J'ai passé la journée, je pense avoir tout fait comme dans l'article, quelle est mon erreur ?

Dans le nouvel assistant par rapport au précédent, il y a de très gros changements,

virtual bool CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration) ;

virtual bool CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration) ;

J'ai compris comme suit : il devrait y avoir un objet de la classe CExpertSignal parmi plusieurs objets utilisés dans le conseiller expert avec l'attribut principal, il peut utiliser ces fonctions. d'autres objets participent à l'ouverture des positions par le biais des fonctions

virtual int ShortCondition() ; //vérifie la condition d'ouverture de vente

virtual int LongCondition() ; //vérifie la condition d'ouverture d'une position d'achat

Pour mettre les points sur les i, nous avons besoin d'un article sur la façon d'écrire votre propre module de signaux dans le nouvel assistant, nous l'attendons donc.

 
Oui, l'article est manquant, et la documentation de CExpertSignal doit probablement être mise à jour.