Accueil Indicateur technique Publication

Optimiser l'indicateur Cross Moving Average pour MetaTrader 4

Pièce jointe
9528.zip (6.69 KB, Télécharger 0 fois)

Version mise à jour.

Découvrez la description ci-dessous.



Je suis toujours convaincu de l'efficacité du Cross Moving Average et, en tant que programmeur, je cherche constamment la solution la plus simple. J'ai souvent entendu dire qu'il n'y a pas de réglage magique pour le MA croisé. Cet indicateur teste de nombreuses configurations à chaque fois que le timeframe ou le symbole change, ou même à chaque nouvelle bougie. Il fonctionne en analysant les 100 dernières bougies et en choisissant les réglages ayant le meilleur taux de réussite. Il mesure simplement la distance entre un signal court et un signal long, comme si quelqu'un tradait sans stop loss. Il prend également en compte le spread.

La fenêtre inférieure montre la distance entre la moyenne mobile courte et la longue : les valeurs positives sont pour les trades longs, les valeurs négatives pour les trades courts, exprimées en pips. Avec l'oscillateur de profit, vous pouvez clôturer un trade en profit en vérifiant si les trades longs/courts ont une différence maximale, et en sortant juste avant le maximum.

La ligne supérieure indique : "Profit aujourd'hui avec MA 5/19 est de 60 pips". L'indicateur ou l'utilisateur a choisi 5 pour la MA rapide et 19 pour la MA lente. Le champ de texte suivant affiche les résultats d'hier, suivi du signal Long ou Short. Les traders peuvent aimer ajouter deux moyennes mobiles au graphique et les configurer selon les valeurs données.

Je suis à la recherche de recommandations pour d'autres MA dans la littérature.

Paramètres

  • PeriodShort=6;
    Période pour la MA rapide. À ignorer si l'optimisation est vraie.
  • PeriodLong=40;
    Période pour la MA lente. À ignorer si l'optimisation est vraie.
  • Method=0;
    Méthode pour iMA.
  • Optimize=true;
    L'indicateur choisit automatiquement les valeurs pour la MA rapide et lente.
  • DrawTringles=true;
    Dessine des triangles sur le graphique.
  • MinShortMA=2;
    MaxShortMA=20;
    MaxLongMA=100;
    Valeurs minimum et maximum pour l'optimisation, il testera des valeurs entre 2 et 20 pour la MA rapide et 7 à 100 pour la MA lente.
  • StepLongMA=5;
    StepShortMA=5;
    Pour accélérer la recherche, il teste chaque troisième valeur.
  • CountOptimize=200;
    Il analyse 200 bougies du passé. Plus vous analysez de bougies, plus cela sera lent, un nombre trop élevé peut également donner de moins bons résultats.
  • OptimizeOnNewCandle=false;
    Commencer l'optimisation à chaque nouvelle bougie. Note : L'optimisation peut prendre un certain temps et ralentir votre terminal.
  • Alarm=true;
    Faites sonner la cloche si un nouveau signal apparaît.

Prochaine étape, je souhaite créer un expert advisor à partir de cela, cependant, je me demande toujours comment détecter une tendance latérale qui ne devrait pas être tradée avec le MA croisé. Jusqu'à présent, mon EA basé sur le MA croisé optimisé fait parfois d'excellents gains, mais les perd tous le lendemain.

Version mise à jour

Nouvelles fonctionnalités :



- L'indicateur dessine maintenant les moyennes mobiles à l'intérieur du graphique, l'oscillateur de profit est dans un autre indicateur (MAProfit2), les deux communiquent avec des variables globales.


- Supporte les canaux MA (voir ebook sur www.vnchanger.org), la moyenne mobile lente est divisée en deux lignes, une pour les valeurs basses et une pour les valeurs élevées, ce qui devrait éviter les pertes dans un marché latéral.


- Au lieu de tester toutes les combinaisons, il peut tester certaines plages de MA trouvées dans la littérature. Pour ce faire, mettez OptimizeAll à faux et OptimizeSystems à vrai.


Vous pouvez ajouter ou modifier le tableau des systèmes. Assurez-vous de le terminer par 0,0,0,0,0,0.



extern bool OptimizeAll=false;
extern bool OptimizeSystems=true;

int Systems[] = {PRICE_MEDIAN,MODE_SMA,50, PRICE_MEDIAN,MODE_SMA,200,
PRICE_MEDIAN,MODE_SMA,50, PRICE_MEDIAN,MODE_SMA,100, //
Death Cross
PRICE_MEDIAN,MODE_SMA,10, PRICE_MEDIAN,MODE_SMA,40,
PRICE_MEDIAN,MODE_SMA,13, PRICE_MEDIAN,MODE_SMA,26,
PRICE_MEDIAN,MODE_SMA,5, PRICE_MEDIAN,MODE_SMA,10,
PRICE_CLOSE, MODE_EMA,5, PRICE_OPEN, MODE_EMA,6,
PRICE_MEDIAN,MODE_SMA,3, PRICE_MEDIAN,MODE_SMA,8,

0,0,0,0,0,0};


- De nouvelles alertes peuvent être données par la voix, pour cela, vous devez télécharger gspeak, par exemple depuis ce lien.



Si vous ne voulez pas de voix, vous devez modifier le code. Supprimez les lignes de #import "speak.dll" jusqu'à #import et décommentez la fonction gSpeak. Merci à l'auteur pour cette DLL incroyable.



#import "speak.dll"
void gRate(int rate);
void gVolume(int rate);
void gPitch(int rate);
void gSpeak(string text);
#import

// si vous n'avez pas (ou ne voulez pas) le speak.dll décommentez ceci
/*
void gSpeak(string x)
{
}
*/

Si vous ne retirez pas la voix, après quelques profits, vous pourriez commencer à apprécier la voix d'"Oncle Sam" qui parle.



- Au premier démarrage ou lors d'un changement de paramètre, il mémorise la bougie de la première transaction, cela devrait éviter de repeindre de vieux trades avec des nouveaux.



- Les triangles ont maintenant trois couleurs : Vert pour les trades longs, Rouge pour les trades courts et Violet pour les trades avec perte (long ou court). Les couleurs peuvent être modifiées dans le code source :

int ColorLongTrade = MediumSpringGreen;
int ColorShortTrade = Red;
int ColorBadTrade = Violet;

- Les étapes dans l'optimisation MA ont été fixées à 5

- Le nom interne de cet indicateur a été changé en SMA (Smart Ass ... il affiche comment vous auriez dû trader par la suite).


MA Optimizer


Articles connexes

Commentaire (0)