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

 
ginoit #:

Bonjour Chariot,

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

Merci de votre compréhension.

Le problème est causé par l'assistant MetaTrader lui-même. D'une certaine manière, il ne crée pas l'objet signal en utilisant la classe SampleSignal mais en utilisant CExpertSignal ! Cherchez le :

   CExpertSignal *signal = new CExpertSignal;

et remplacez-le par :

CSampleSignal *signal = new CSampleSignal;


Merci, Zarik

 
Longsen Chen #:

Bonjour,

Lorsque j'ai compilé le code, j'ai obtenu trois avertissements

la déclaration de 'm_open' cache le membre samplesignal.mqh 42 23

la déclaration de 'm_close' cache le membre samplesignal.mqh 43 23

declaration of 'm_expiration' hides member samplesignal.mqh 52 23


m_open et m_close ont été définis dans ExpertBase.mqh mais avec un type différent.

m_expiratin a été défini dans ExpertSignal.mqh.

Commentez les trois lignes ci-dessus. Les avertissements ont disparu.

Georges


La raison de l'avertissement est que ces propriétés sont déjà définies dans ExpertBase (m_open et m_close) et ExpertSignal (m_expiration). Renommez les noms des propriétés en quelque chose de différent et le problème sera résolu.

Merci, Zarik

 
Comment puis-je finalement générer un signal de clôture via CheckCloseLong/Short à partir du module de signal ? Je n'ai pas vu comment faire dans cet article https://www.mql5.com/fr/articles/367
 

Je viens de télécharger votre code de signal et de le compiler. J'obtiens ces erreurs. Comment puis-je les corriger pour qu'il fonctionne ?

Et les mêmes erreurs apparaissent dans votre fichier, qui se trouve dans l'archive et que je n'ai pas modifié, je l'ai juste compilé.

Si vous regardez comment ces paramètres sont écrits dans le fichier ExpertBase, ils sont avec des astérisques, si je mets des astérisques avant le nom dans le code, les erreurs seront encore plus nombreuses. Quelle en est la raison ?

https://photos.app.goo.gl/2rPVRPfBDhb65aZC9

 

Veuillez définir le code correct.

Même après avoir consulté toutes les réponses de ce fil de discussion, l'EA n'effectue toujours pas de transactions sur l'historique, il ne fait que dessiner une ligne mobile et n'effectue pas d'autres transactions.

Je cherche au moins un EA fonctionnel avec des ordres d'achat et de vente pour expérimenter les paramètres ou ajouter mes idées. J'aimerais avoir un modèle simple et pouvoir ajouter les conditions 1 et 2 au code pour exécuter des transactions basées sur ces conditions. J'avais l'habitude d'écrire dans un autre programme (Easy Lengwich d'une autre plateforme), ici il est très difficile pour un simple utilisateur de comprendre comment écrire ses stratégies. Même lorsqu'une erreur se produit, il n'est pas possible de faire un clic droit sur la souris pour trouver une variante de sa correction dans le manuel d'aide, je dois donc faire des recherches sur Internet et je ne trouve toujours pas de solution.

 
FINANSE-BOND ordres d'achat et de vente pour expérimenter les paramètres ou ajouter mes idées. J'aimerais avoir un modèle simple et pouvoir ajouter des conditions 1 et 2 au code pour exécuter des transactions en fonction de ces conditions. J'avais l'habitude d'écrire dans un autre programme (Easy Lengwich d'une autre plateforme), ici il est très difficile pour un simple utilisateur de comprendre comment écrire ses stratégies. Même lorsqu'une erreur se produit, il n'est pas possible de faire un clic droit sur la souris pour trouver une variante de sa correction dans le manuel d'aide, je dois donc faire des recherches sur Internet et je ne trouve toujours pas de solution.

Essayez ceci - https://www.mql5.com/en/code/32107

Universal Signals & Universal Trailing Modules
Universal Signals & Universal Trailing Modules
  • www.mql5.com
This is a module for MQL5 Wizard and Standard Library, which allows you to generate expert adviser based on arbitrary set of indicators and conditions.
 


Note importante :

Pour que l'assistant MetaEditor puisse trouver le fichier de signal (fichier samplesignal.mqh), le descripteur de classe doit être le suivant :


// début de la description de l'assistant
//+------------------------------------------------------------------+
//| Description de la classe |
//| Titre=Signal sur croisement du prix et du MA |
//| Entrée sur le mouvement de retour|
//| Type=SignalAdvanced |
//| Nom=Echantillon|
//| Class=CSampleSignal|
//| Page=|
//| Paramètre=PériodeMA,int,12|
//| Paramètre=DécalageMA,int,0|
//| Paramètre=MethodMA,ENUM_MA_METHOD,MODE_EMA|
//| Paramètre=AppliedMA,ENUM_APPLIED_PRICE,PRICE_CLOSE |
//| Paramètre=Limit,double,0.0|
//| Paramètre=StopLoss,double,50.0|
//| Paramètre=TakeProfit,double,50.0|
//| Paramètre=Expiration,int,10 |
//+------------------------------------------------------------------+
// description de l'assistant fin
//+------------------------------------------------------------------+

Le Type devrait être SignalAdvanced (qui est montré par la couleur rouge), donc changez signal en SignalAdvanced dans votre code source et alors l'assistant MetaEditor sera capable de trouver le fichier de signal (fichier samplesignal.mqh).


et enfin, seules les méta-citations devraient éditer cet article.