Croix universelle MA EA

 

J'essaie de faire un EA pour n'importe quelle stratégie de croisement de moyennes mobiles, j'essaie de le rendre universel. Donc, s'il vous plaît, faites-moi savoir si vous avez des suggestions à ajouter à cet EA.

Paramètres communs :

-----------------

StopLoss (par défaut 100)

Définissez votre Stop Loss. Utilisez 0 (zéro) si vous n'aimez pas utiliser le Stop Loss (non recommandé).

TakeProfit (par défaut 200)

Définissez votre Take Profit. Utilisez 0 (zéro) si vous souhaitez utiliser un objectif ouvert.

Réglage du Trailing Stop :

----------------------

ver.6 TrailingStopType (par défaut 1)

Définit le type de trailing stop. 1:commencera le trailing si le profit en pips est supérieur / identique au TrailingStop. 2:commencera le trailing dès que la transaction sera profitable. (nous ajouterons d'autres types de trailing stop si nécessaire, la dernière suggestion étant SafeZone trailing stop post #99 https://www.mql5.com/en/forum/general )

TrailingStop (par défaut 40)

Définit le Trailing Stop. Utilisez 0 (zéro) si vous n'utilisez pas la fonction de trailing stop.

Réglage de la moyenne mobile :

------------------------

FastMAPeriod (par défaut 10)

Période de la moyenne mobile rapide.

FastMAType (par défaut EMA / 1)

Type de moyenne mobile rapide 0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice (par défaut Close / 0)

Prix appliqué de la moyenne mobile rapide 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 FastMAshift (par défaut 0)

Décalage de la moyenne mobile rapide

SlowMAPeriod (par défaut 80)

Période de la moyenne mobile lente.

SlowMAType (par défaut EMA / 1)

Type de moyenne mobile lente 0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice (par défaut Close / 0)

Prix appliqué de la moyenne mobile lente 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 FastMAshift (par défaut 0)

Décalage de la moyenne mobile lente

Distance minimale de croisement :

------------------------

ver.2 MinCrossDistance (par défaut 0)

Définit la distance minimale entre FastMA et SlowMA pour être considéré comme un croisement valide. Utilisez 0 (zéro) pour désactiver ce filtre.

ver.7 MaxLookUp (par défaut 1)

Définit le nombre de barres après le cross pour continuer à vérifier la condition d'entrée par rapport à la distance minimale entre FastMA et SlowMA. Nécessite MinCrosDistance > 0 pour activer cette fonction. Utilisez 0 (zéro) pour désactiver cette fonction.

Exit Setting :

-------------

StopAndReverse (par défaut true)

Si cette option est réglée sur TRUE, elle permet de sortir d'une transaction et d'inverser la position lorsque le signal change.

PureSAR (par défaut false)

S'il est réglé sur TRUE, il n'y aura pas de Stop Loss - Take Profit - et de Trailing Stop. Ce paramètre est toujours en jeu.

ver.7.2 ExitOnCross (par défaut false)

Si cette option est réglée sur TRUE, la transaction sera abandonnée s'il y a un croisement opposé sans considérer aucun filtre supplémentaire. Ainsi, la sortie est purement basée sur le croisement de la moyenne mobile.

Réglage de la troisième MA :

------------------

ver.5 UseThirdMA (par défaut false)

S'il est réglé sur TRUE (et UseCounterTrend = FALSE), le trade se fera uniquement selon la direction de la ThirdMA, au-dessus pour BUY et en dessous pour SELL.

ver.5 UseCounterTrend (par défaut false)

Si la valeur est TRUE, la transaction sera maintenue même si la direction de la ThirdMA est contraire, mais avec des StopLoss et TakeProfit différents. UseThirdMA = TRUE est nécessaire pour activer cette fonction.

ver.7 OnlyCounterTrend (par défaut false)

S'il est réglé sur TRUE, l'EA ne négociera que des transactions à contre-tendance, c'est-à-dire qu'il achètera si le croisement est inférieur à la ThirdMA et vendra si le croisement est supérieur à la ThirdMA. Il faut que UseCounterTrend = TRUE pour activer cette fonction.

ver.5 ThirdMAPeriod (defaul 100)

Troisième période de moyenne mobile.

ver.5 ThirdMAType (par défaut EMA / 1)

Type de troisième moyenne mobile 0:SMA 1:EMA 2:SMMA 3:LWMA

ver.5 ThirdMAPrice (par défaut Close / 0)

Troisième moyenne mobile appliquée au prix 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 ThridMAshift (par défaut 0)

Décalage de la troisième moyenne mobile

ver.5 CTStopLoss (par défaut 0)

Définissez votre Stop Loss pour une transaction CounterTrend. Utilisez 0 (zéro) si vous n'aimez pas utiliser le Stop Loss (non recommandé).

ver.5 CTTakeProfit (par défaut 0)

Définit votre Take Profit pour la transaction CounterTrend. Utilisez 0 (zéro) si vous souhaitez utiliser un objectif ouvert.

Réglage du filtre Pivot :

-------------------

ver.8.0 Use.Pivot.Filter (par défaut false)

Définissez à true si vous souhaitez filtrer le trade, seulement BUY si le croisement de Slow et Fast MA se produit entre S1 et S2 et seulement SELL si le croisement de Slow et Fast MA se produit entre R1 et R2.

Réglage des ordres :

--------------

ReverseCondition (par défaut false)

Mettre TRUE pour inverser la condition d'entrée.

ver.3 ConfirmedOnEntry (par défaut true)

Si cette option est réglée sur TRUE, l'ordre entrera/sortira sur la prochaine barre après la confirmation du croisement. S'il a la valeur FALSE, il entrera/sortira du marché dès qu'il y aura un croisement.

ver.4 OneEntryPerBar (par défaut true)

Si la valeur est TRUE, la transaction ne sera effectuée qu'une seule fois sur une barre. S'il est défini à FALSE, il négociera plusieurs fois sur une même barre si la condition d'entrée est toujours valide, mais toujours une seule fois.

NumberOfTries (par défaut 5)

Nombre de tentatives si l'ordre est rejeté par le système.

Slippage (par défaut 5)

Réglage du slippage.

MagicNumber (par défaut 1234)

Permet de générer le numéro magique. Changez ce numéro UNIQUEMENT si vous souhaitez exécuter l'EA sur la même paire et le même cadre temporel mais avec des paramètres différents.

Réglage de l'ouverture multiple des positions :

-----------------------------

ver.5 MaxOpenTrade (par défaut 2)

Nombre maximum de trades ouverts en une seule fois. Ce paramètre est utilisé lorsque StopAndReverse / PureSAR = FALSE afin que l'EA ne ferme pas l'ordre ouvert lorsqu'il y a un signal contraire, mais plutôt qu'il ouvre un nouveau trade. Définissez le nombre de trades ouverts autorisés. Si StopAndReverse / PureSAR = TRUE, ce paramètre sera toujours = 1, ce qui signifie une seule transaction à la fois.

ver.6 MinPriceDistance (par défaut 5)

Si le nombre de trades ouverts est activé (en fixant MaxOpenOrder>1 et OneEntryPerBar=FALSE), ce nombre déterminera la distance minimale entre chaque trade dans la même direction.

Réglage du filtre temporel :

-------------------

UseHourTrade (par défaut false)

Si cette option est réglée sur TRUE, l'EA ne sera actif qu'à certaines heures.

StartHour (par défaut 10)

Heure à laquelle l'EA commence à être actif (à utiliser avec UseHourTrade = TRUE).

EndHour (par défaut 11)

Heure à laquelle l'EA s'arrête (à utiliser avec UseHourTrade = TRUE).

Paramètres de gestion des lots et de l'argent :

------------------------------------

Lots (par défaut 1)

Nombre de lot par transaction.

MM (par défaut false)

Si ce paramètre est réglé sur TRUE, il utilisera la gestion monétaire intégrée.

AccountIsMicro (par défaut false)

Si vous utilisez un compte Micro, mettez ce paramètre sur TRUE.

Risk (par défaut 10)

A utiliser avec MM = TRUE pour définir le risque par transaction.

Réglage des alertes croisées :

--------------------

ver.5 EnableAlert (par défaut true)

Sonnera une alerte quand il y a un croisement de moyenne mobile, un croisement HAUT ou un croisement BAS.

ver.5 SoundFilename (par défaut "alert.wav")

Le nom de fichier pour l'alerte.

Réglage du BackTest :

------------------

PrintControl (par défaut true)

Imprimer un commentaire sur le backtesting.

Show_Settings (par défaut true)

Affiche les paramètres sur le graphique.

Faites-moi savoir si vous avez encore des problèmes avec les paramètres. Merci à codersguru et pengie pour plusieurs codes partiels. J'espère que cela vous aidera.

Journal :

-----------

version.6:

- correction du bug ConfirmedOnEntry.

- ajout d'un trailing stop immédiat.

- ajout d'une MinPriceDistance pour les trades ouverts multiples.

version.7:

- ajout de la fonction MaxLookUp pour continuer à vérifier l'entrée après une certaine barre du croisement concernant la MinCrossDistance.

- ajout de la fonction OnlyCounterTrend si vous utilisez le filtre ThirdMA.

version.7.1:

- correction du bug MinCrossDistance.

version.7.2:

- correction du bug MinCrossDistance pour ConfirmedOnEntry = FALSE.

- ajout du paramètre MA shift.

- ajout de la fonction ExitOnCross.

version.7.3:

- correction de l'affichage à l'écran COMMENT.

version.8.0:

- ajout du filtre Pivot.

version.8.1:

- révisé quelques codes à cause des bugs de la Build 206.

Dossiers :
 

Salut Dave,

Excellent travail...........

Babar

 

Bonjour

Merci pour cet effort.

Je voudrais savoir si cela fonctionnera sur un seul compte.

1. Même paire différente TF.

2. Est-ce que cela fonctionnera pour plus d'une paire sur un compte ?

3. Est-ce que cela fonctionnera pour la même paire, le même TF, mais avec des paramètres différents, c'est-à-dire TP ou SL, etc, si nous utilisons le numéro de magin.

 

Veuillez nous faire connaître la meilleure TF .

 
kumawat:
Bonjour

Merci pour cet effort.

Je voudrais savoir si cela fonctionnera sur un seul compte.

1. Même paire différente TF.

2. Est-ce que cela fonctionnera pour plus d'une paire sur un compte ?

3. Cela fonctionnera-t-il pour la même paire, le même TF, mais avec des paramètres différents (TP ou SL, etc.) si nous utilisons le numéro de magin ?

Bonjour kumawat. Oui à toutes vos questions. Je viens d'ajouter la graine MagicNumber pour générer le numéro magique de l'ordre. Changez le MagicNumber seulement si vous voulez utiliser l'EA pour la question numéro 3. J'espère que cela vous aidera.

 
Fxparadise:
Veuillez nous indiquer le meilleur TF.

Bonjour, je pense que l'intervalle de temps dépend de votre stratégie. Par défaut, vous pouvez utiliser l'EA sur un graphique en 1 heure. J'espère que cela vous aidera.

 

Bel EA. Quels sont les MA et les paramètres que vous avez trouvés les meilleurs ?

J'ai essayé celle-ci et elle a produit de très bons résultats sur le 4hrs.

-------

extern int

FastMAPeriod = 10,

FastMAType = 3, //0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice = 1, //0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

SlowMAPeriod = 100,

SlowMAType = 3, //0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice = 2 ; //0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

extern string

Exit_Setting = "---------- Exit Setting" ;

extern bool

ReverseCondition = false, // TRUE:buy-sell , sell-buy

ConfirmedOnEntry = false, // TRUE:entrée sur la prochaine barre de signal

StopAndReverse = true, // TRUE:si le signal change, sortie et ordre inverse

PureSAR = false ; // VRAI:pas de SL, pas de TP, pas de TS

--------

 
firedave:
Bonjour kumawat. Oui à toutes vos questions. Je viens d'ajouter la graine MagicNumber pour générer le numéro magique de l'ordre. Changez MagicNumber seulement si vous voulez utiliser l'EA pour la question numéro 3. J'espère que cela vous aidera

Je pense que le numéro magique que vous avez là est excellent. Je pense que tous les EA devraient l'avoir, ainsi l'utilisateur n'a pas à s'en soucier, c'est trié pour vous automatiquement.

 

Bonjour

une autre suggestion. si nous pouvons inclure MACD, RSI & stochestic

Cela pourrait être un excellent EA

 

Une idée géniale !

Excellent travailfiredave

Et très bonne idée !

 
codersguru:
Excellent travailfiredaveet très bonne idée !

Bonjour codersguru, merci pour le compliment. Je ne suis qu'un de tes élèves, c'est ton code qui est partout dans l'EA, donc merci à toi aussi.

Raison: