Indicateur technique

Indicateur pour Évaluer Vos Stratégies de Trading sur MetaTrader 4
MetaTrader4
Indicateur pour Évaluer Vos Stratégies de Trading sur MetaTrader 4

Bienvenue à tous les traders ! Aujourd'hui, nous allons parler d'un outil essentiel pour évaluer nos stratégies de trading sur MetaTrader 4. Vous savez, il est souvent frustrant de vouloir visualiser les failles d'une stratégie de trading tout en ayant des statistiques objectives à portée de main. Bien qu'il existe un backtester sur MT4, faire un backtest en mode visuel pour chaque modification de votre EA peut être un vrai casse-tête. En plus, ses capacités visuelles sont assez limitées, et tester des stratégies multi-devises devient un véritable défi. Pour remédier à ces problèmes, j'ai développé un indicateur open-source qui permet de tester visuellement vos stratégies de trading. Certes, il est difficile de créer un indicateur universel pour tous les besoins, mais la structure actuelle peut être facilement modifiée et étendue pour des besoins spécifiques, notamment pour les stratégies multi-devises. Une attention particulière a été portée à la gestion du spread. Cet indicateur prend en compte le spread de la même manière qu'il est présent dans le trading réel et dans le backtester de MT4. Si vous modifiez cet indicateur pour vos besoins, il est crucial de bien étudier la gestion du spread. Sinon, vous pourriez voir de bons résultats de stratégie sur un graphique M1, alors qu'en réalité, cela pourrait être un désastre. :-) Comme démonstration, j'inclus un indicateur de trading avec une stratégie simple. Les règles de la stratégie sont basées sur des croisements de moyennes mobiles (MA) en tenant compte de l'action des prix, permettant ainsi de placer des trades même avant qu'ils ne croisent réellement, ce qui élimine le décalage. Une stratégie de sortie est également présente, utilisant des signaux opposés et un croisement de MA lent dans l'autre sens, avec une gestion du stop loss via une stratégie Chandelier SL modifiée. Cet indicateur sert d'exemple, mais certains le trouvent suffisant pour leur trading manuel. L'idée derrière le système Le système d'indicateur est construit de manière modulaire. D'abord, nous devons implémenter une stratégie de trading dans un indicateur de trading, où deux buffers sont utilisés pour les signaux d'entrée, deux pour les signaux de sortie et un pour le stop loss. Un échantillon d'un tel indicateur avec toute sa fonctionnalité est l'indicateur StrategyIndi_1.0. Nous pouvons ensuite évaluer cette stratégie avec l'indicateur de test de stratégie StrategySym_1.0. Si les résultats ne nous conviennent pas, il suffit d'optimiser l'indicateur de trading et de voir les résultats des modifications en temps réel grâce aux statistiques. Si nous souhaitons plus tard implémenter un EA, cela devient très facile, car en appelant un indicateur de trading personnalisé, nous obtenons tous les signaux d'entrée et de sortie, ainsi que les valeurs de SL. Comment utiliser ce système et l'adapter à vos propres besoins ? Pour utiliser le système tel quel, il suffit de copier les deux indicateurs dans votre dossier MetaTrader\experts\indicators. Assurez-vous de redémarrer le terminal avant de les utiliser pour qu'ils soient compilés. Il y a certains paramètres que vous voudrez peut-être modifier, la plupart étant évidents par leurs noms, donc je vais décrire seulement les autres : Paramètres de StrategyIndi : ChandBars = 7 : nombre de barres pour la stratégie Chandelier SL ChandATRFact = 2.0 : facteur pour multiplier l'ATR à long terme pour obtenir la distance Chandelier RiskPercent = 2.0 : risque en pourcentage du solde libre du compte pour le calcul du lot selon le SL de départ (utilisé uniquement pour l'information de trading manuel) Offset = 10 : décalage des barres sur le graphique pour placer les flèches, en pips à 4 chiffres BarsBack = 2000 : nombre de barres à traiter, du passé AlertSound = "alert.wav" : fichier WAV pour les alertes sonores UseSoundAlert = true : si nous voulons des alertes sonores (pour le trading manuel) UsePopupAlert = true : si nous voulons des alertes de fenêtre pop-up (pour le trading manuel) WriteToLog = false : si nous voulons écrire les détails dans le journal (pour le débogage) Paramètres de StrategySim : MaxLossAtSL = 200.0 : montant en monnaie de compte que nous sommes prêts à perdre à chaque SL BarsBack = 2000 : nombre de barres à traiter pour l'évaluation de la stratégie WriteToLog = false : si nous voulons écrire les détails dans le journal (pour le débogage) Si vous adaptez le système à vos besoins, vous devez ajouter à l'indicateur StrategySym tous les paramètres de votre propre indicateur StrategyIndi qui comptent pour la simulation. Ils seront utilisés plus tard dans la méthode GetIndiSignals, et vous n'aurez qu'à entrer des valeurs fixes pour d'autres paramètres (comme UseSoundAlert). Rien d'autre ne doit être modifié dans le StrategySim, sauf si vous souhaitez l'utiliser à d'autres fins (comme des stratégies multi-devises). Avec ce système, j'espère contribuer à l'objectivité dans l'évaluation des stratégies de trading (pour les systèmes manuels ou les EA), car les approches marketing actuelles sont souvent très manipulatrices, ce qui fait perdre beaucoup d'argent durement gagné à des débutants. Cordialement, Robert Pour toute question, ou pour de la programmation MT4, n'hésitez pas à me contacter à robert [point] leskovar [at] gmail [point] com. Le site MQLTools mentionné dans le code source n'est plus actif.

2010.04.01
Market Way : Indicateur essentiel pour MetaTrader 4
MetaTrader4
Market Way : Indicateur essentiel pour MetaTrader 4

Présentation de l'indicateur : Bien que l'idée derrière cet indicateur ne soit pas toute récente, elle reste pertinente dans le monde du forex. Cet indicateur met en lumière la différence entre les prix d'ouverture et de fermeture sur une période donnée, offrant ainsi une vision claire de la dynamique du marché. Fonctionnement : Il additionne uniquement les barres baissières ; Il additionne uniquement les barres haussières ; En plus, il calcule une moyenne pondérée pour la période totale. Avantages : (important!) Combine les fonctions d'un oscillateur et d'un indicateur de tendance ; Facile à comprendre et à interpréter ; Fournit de bons signaux pour les mouvements haussiers ou baissiers ; Indique la pression haussière et/ou baissière, et l'estimation des mouvements en points, crucial pour définir des niveaux de stop et de profit. Met en évidence la présence et la force des mouvements latéraux (haute ou basse volatilité) ; Identifie les niveaux de surachat/survente ; Montre clairement la fonction des vagues de mouvement des prix et les possibilités de divergence/convergence ; Aide à anticiper le comportement futur des prix et à entrer sur le marché uniquement avec cet indicateur. Compatible avec toutes les périodes de temps et d'autres marchés que le forex ; Sans filtre supplémentaire, il élimine les faux signaux liés à la cassure des coûts SMA avec la même période. Inconvénients : Il est nécessaire d'avoir une période de règlement, ce qui réduit naturellement la précision de l'échantillon de données analysé (problème commun à de nombreux indicateurs) ; Les possibilités de cet indicateur sont encore peu explorées. Paramètres recommandés : extern int IdMain = 12; // Ligne principale (tracée sur le graphique) de l'indicateur, il est préférable (mais pas nécessaire) qu'elle soit toujours entre les lignes haussières et baissières. extern int IdBull = 12; // Ligne haussière, il est préférable qu'elle soit égale à la ligne baissière et à la ligne principale. extern int IdBear = 12; // Ligne baissière, il est préférable qu'elle soit égale à la ligne haussière et à la ligne principale. extern int IdArray = 12; // Valeur de lissage de toutes les lignes sur le graphique, ou lignes SIGNAL. Le graphique présente un histogramme affichant la différence entre la ligne haussière (barres blanches) et la SMA, ainsi que la ligne baissière (barres noires) et la SMA. Les paramètres recommandés sont des multiples de 12, ainsi que les options qui sont divisées par 3 et 4, maximum 108, minimum 12, éventuellement 9 et 7. Ces suggestions sont basées sur des études antérieures. Utilisation de cet indicateur dans les tests de stratégies : Cet exemple sert à illustrer la construction d'indicateurs. Ces tests ne sont pas optimisés, les transactions se font à l'ouverture d'une barre, donc il n'est pas nécessaire de tester "chaque tick", mode d'ouverture des transactions 1 par barre. Timeframe : Daily, outil : EURUSD, période : de 1999 à 2010. Stop Loss et Profit à 500 points. La sortie s'effectue par condition d'entrée en transaction opposée. L'options des indicateurs : tous à 12, Lot : 0.1 continu. Conditions d'entrée Long : MainAccumulation1 - MainSMA1 > 0 // Si la ligne principale est au-dessus de la valeur lissée &amp;&amp; BullPressue1 - Point > 0 // Si la pression haussière est au-dessus de 0 &amp;&amp; BearPressue1 - Point > 0 // Si la pression baissière est au-dessus de 0 &amp;&amp; MainAccumulation1 - Point > 0 // Si la ligne principale est au-dessus de 0 Conditions d'entrée Short : MainAccumulation1 - MainSMA1 < 0 // Si la ligne principale est en-dessous de sa valeur lissée &amp;&amp; BullPressue1 - Point < 0 // Si la pression haussière est en-dessous de 0 &amp;&amp; BearPressue1 - Point < 0 // Si la pression baissière est en-dessous de 0 &amp;&amp; MainAccumulation1 - Point < 0 // Si la ligne principale est en-dessous de 0 Les conditions de sortie sont strictement opposées. Voici un graphique de l'évolution des actifs (Equity), avec une précision de 5 chiffres. Comme vous pouvez le constater, après l'ouverture de transactions, l'équité ne tombe que très rarement en-dessous de -200 points.

2010.03.30
Indicateur de Tendance sur Timeframe Supérieur pour MetaTrader 4
MetaTrader4
Indicateur de Tendance sur Timeframe Supérieur pour MetaTrader 4

Description : Cet indicateur vous permet de visualiser la tendance générale d'un timeframe supérieur sur votre graphique actuel (timeframe inférieur) de la manière suivante : Si MA_1 &lt; MA_2 &lt; MA_3 &lt; MA_4 sur le timeframe supérieur, cela signifie qu'une tendance baissière est en place. Sur votre graphique actuel, une ligne rouge apparaîtra pour l'indiquer. Cette ligne rouge est basée sur l'indicateur PCI (Price Channel Index) et peut être utilisée comme ligne de support. Si l'indicateur RSI intégré est activé, une alerte sera donnée chaque fois que le RSI entre dans la zone de surachat, signalant qu'un retournement est plus probable. En d'autres termes, la tendance sur le timeframe inférieur reprend la tendance générale du timeframe supérieur. Il est conseillé d'entrer sur une clôture en dessous de la ligne de support rouge PCI. Voici un exemple ci-dessous. Si MA_1 &gt; MA_2 &gt; MA_3 &gt; MA_4 sur le timeframe supérieur, cela signifie qu'une tendance haussière est en cours. Sur le graphique actuel, une ligne verte apparaîtra pour l'indiquer. Cette ligne verte est également basée sur l'indicateur PCI et peut être utilisée comme ligne de résistance. Si l'indicateur RSI est activé, une alerte sera donnée chaque fois que le RSI entre dans la zone de survente, ce qui signale qu'un retournement est plus probable. Il est conseillé d'entrer sur une clôture au-dessus de la ligne de résistance verte PCI. Une ligne grise indique qu'aucune tendance du timeframe supérieur n'est présente. Note : Je recommande d'utiliser les combinaisons de timeframe suivantes : Timeframe Supérieur : Quotidien | Timeframe Actuel : 1 heure Timeframe Supérieur : 4 heures | Timeframe Actuel : 15 minutes Timeframe Supérieur : 1 heure | Timeframe Actuel : 5 minutes Timeframe Supérieur : 5/15 minutes | Timeframe Actuel : 1 minute Image : Propriétés : extern int Upper_Timeframe = 240; // Timeframe supérieur en minutes ex. 240 = 4h extern int Upper_Timeframe_MA_1 = 10; // MA_1 doit être la MA la plus rapide extern int Upper_Timeframe_MA_2 = 20; extern int Upper_Timeframe_MA_3 = 50; extern int Upper_Timeframe_MA_4 = 100; // MA_4 doit être la MA la plus lente extern bool RSI_Check_On = true; // Vérifie les conditions de surachat/survente du RSI extern bool RSI_Alert_On = true; // Alerte sonore pour les conditions de surachat/survente du RSI extern int RSI_Period = 12; // Période du RSI extern int Upper_RSI_Limit = 70; // Limite supérieure au-dessus de laquelle indique des conditions de surachat extern int Lower_RSI_Limit = 30; // Limite inférieure en dessous de laquelle indique des conditions de survente extern int PCI_Period = 5; // Période PCI. ex. 5 fixe la ligne de support en tendance baissière au plus bas des 5 dernières bougies extern int PCI_Shift = 1; // Décalage PCI, mieux vaut le fixer à 1 extern double Entry_Buffer = 0.0002; // Augmente la largeur du canal PCI de pips spécifiés. ex. abaisse la ligne de support en tendance baissière extern color Dot_Color = Blue;

2010.03.26
Découvrez le DemoBufferPattern : un indicateur puissant pour MetaTrader 5
MetaTrader5
Découvrez le DemoBufferPattern : un indicateur puissant pour MetaTrader 5

Bienvenue sur notre blog dédié aux traders ! Aujourd'hui, nous allons explorer un indicateur très intéressant : le DemoBufferPattern. Cet indicateur combine des éléments comme les bougies, les fractales, le zigzag coloré et la moyenne mobile colorée pour vous aider à affiner vos analyses de marché. Voici les styles de dessin utilisés par cet indicateur : Bougies colorées Flèches Zigzag coloré Ligne colorée //+------------------------------------------------------------------+ //| Fonction d'initialisation de l'indicateur personnalisé&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | //+------------------------------------------------------------------+ int OnInit() &nbsp;&nbsp;{ //--- mappage des buffers d'indicateur &nbsp;&nbsp; SetIndexBuffer( 0,P1B1,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 1,P1B2,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 2,P1B3,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 3,P1B4,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 4,P1BC,INDICATOR_COLOR_INDEX); &nbsp;&nbsp; SetIndexBuffer( 5,P2B1,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 6,P3B1,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 7,P4B1,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 8,P4B2,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 9,P4BC,INDICATOR_COLOR_INDEX); &nbsp;&nbsp; SetIndexBuffer(10,P5B1,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer(11,P5BC,INDICATOR_COLOR_INDEX); //--- Buffers auxiliaires pour les calculs intermédiaires &nbsp;&nbsp; SetIndexBuffer(12,P4M1,INDICATOR_CALCULATIONS); &nbsp;&nbsp; SetIndexBuffer(13,P4M2,INDICATOR_CALCULATIONS); //--- Ils doivent être placés après tous les buffers à afficher, sinon ... vous pouvez essayer par vous-même //--- FLÈCHE &nbsp;&nbsp; PlotIndexSetInteger(1,PLOT_ARROW,217); &nbsp;&nbsp; PlotIndexSetInteger(2,PLOT_ARROW,218); &nbsp;&nbsp; PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,-iArrowShift); &nbsp;&nbsp; PlotIndexSetInteger(2,PLOT_ARROW_SHIFT,iArrowShift); &nbsp;&nbsp; PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE); &nbsp;&nbsp; PlotIndexSetDouble(2,PLOT_EMPTY_VALUE,EMPTY_VALUE); //--- ZIGZAG &nbsp;&nbsp; PlotIndexSetDouble(3,PLOT_EMPTY_VALUE,0.0); //--- MA &nbsp;&nbsp; maHandle=iMA(Symbol(),0,ExtPeriod,0,MODE_EMA,PRICE_CLOSE); &nbsp;&nbsp; return(0); &nbsp;&nbsp;} //+------------------------------------------------------------------+ //| Fonction d'itération de l'indicateur personnalisé&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const int prev_calculated, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const datetime&amp; time[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const double&amp; open[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const double&amp; high[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const double&amp; low[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const double&amp; close[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const long&amp; tick_volume[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const long&amp; volume[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const int&amp; spread[]) &nbsp;&nbsp;{ //--- &nbsp;&nbsp; CalcCandles(rates_total,prev_calculated,open,high,low,close); &nbsp;&nbsp; CalcFractal(rates_total,prev_calculated,high,low,P2B1,P3B1); &nbsp;&nbsp; CalcZigzag (rates_total,prev_calculated,high,low,P4B1,P4B2,P4BC,P4M1,P4M2); &nbsp;&nbsp; CalcColorMA(rates_total,prev_calculated,P5B1,P5BC); //--- valeur de retour de prev_calculated pour le prochain appel &nbsp;&nbsp; return(rates_total); &nbsp;&nbsp;}

2010.03.25
Indicateur des Sessions de Trading pour MetaTrader 5
MetaTrader5
Indicateur des Sessions de Trading pour MetaTrader 5

Ce indicateur est basé sur les buffers de remplissage. Les paramètres d'entrée sont absents, les fonctions TimeTradeServer() et TimeGMT() sont utilisées. Il peut y avoir des imprécisions dans les horaires des sessions de trading, les valeurs proviennent du premier site que j'ai trouvé :))Il est possible de modifier ces valeurs dans le bloc de constantes, l'heure GMT est utilisée. // Les constantes horaires sont spécifiées par rapport à Greenwich const int&nbsp;&nbsp; AsiaOpen=0; const int&nbsp;&nbsp; AsiaClose=9; const int&nbsp;&nbsp; AsiaOpenSummertime=1;&nbsp;&nbsp; // L'ouverture de la session asiatique en été const int&nbsp;&nbsp; AsiaCloseSummertime=10; // après les changements d'heure const int&nbsp;&nbsp; EuropaOpen=6; const int&nbsp;&nbsp; EuropaClose=15; const int&nbsp;&nbsp; AmericaOpen=13; const int&nbsp;&nbsp; AmericaClose=22; Il y a une possibilité d'utiliser les changements d'heure pour l'heure d'été, pour l'instant c'est assez basique et réalisé avec la fonction TimeDaylightSavings(); //+--------------------------------------------------------------------+ // La détermination de l'heure d'été est réservée pour des calculs futurs //+--------------------------------------------------------------------+ bool Summertime(datetime time) { &nbsp;&nbsp; if(TimeDaylightSavings()!=0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(true); &nbsp;&nbsp; else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(false); }&nbsp; Ainsi, après le passage à l'heure d'été, toute l'historique voit ses horaires modifiés et vice versa. La première version de cet indicateur a été publiée sur MQL4.

2010.03.15
Optimiser l'indicateur Cross Moving Average pour MetaTrader 4
MetaTrader4
Optimiser l'indicateur Cross Moving Average pour MetaTrader 4

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

2010.03.03
Premier Précédent 337 338 339 340 341 342 343 344 345 346 347 Suivant Dernier