
PriceAction Stoploss fixe ou RSI fixe (Smart StopLoss)
Introduction
La recherche d'un Saint Graal dans le trading m'a conduit à cette recherche. Le stop-loss est l'outil le plus important du trading en matière de gestion de l'argent. La gestion de l'argent fait partie des différentes façons dont un trader peut gagner de l'argent sur le marché et être cohérent à long terme. Comme indiqué précédemment, la gestion de l'argent est fortement associée au stop-loss et au ratio risque-récompense. Le ratio 1:1.5R (Risque:Récompense) a tendance à avoir un taux de gain plus élevé par rapport aux autres taux de gain Risque:Récompense, mais le ratio 1:>1.9R (Risque:Récompense) a la plupart du temps tendance à être plus rentable et à rester un trader en profit constant sur une longue période de temps (Saint Graal). Cette stratégie de trading du « Saint Graal » a ses inconvénients. Dans une situation idéale, trader avec 1 :>1.9R(Risk:Reward) sera rentable si, sur 10 trades (1pips chacun), 6 trades ont été perdus (6 pips) et 4 trades ont été gagnés (8 pips). Cela signifie que nous sommes en profit de 2 pips. Dans l'application réelle, tout n'est peut-être pas vrai. Un facteur majeur qui contribue à cela est un terme connu sous le nom de "Stop-loss Hunt". La chasse au stop-loss se produit lorsqu'une transaction atteint votre stop-loss pour la liquidité, puis se déplace dans la direction que vous avez prédite. La chasse aux stop-loss (Stop-loss Hunt) est un problème majeur dans le trading et la gestion de l'argent. Cela a également un effet psychologique sur les traders (principalement les nouveaux).
Fig 1.1. Chasse aux Stop-loss
La chasse au stop-loss est principalement associée à un stop-loss fixe ou suiveur sur l'action des prix ou le graphique en chandeliers. S'il n'y a pas de stop-loss sur le graphique d'action des prix, il n'y aura pas de chasse au stop-loss. Mais zéro stop-loss est égal à la probabilité de faire exploser votre compte de trading (qui est égale à un (1)).
Stop-loss RSI
L'oscillateur RSI est une réplique du graphique linéaire d'action des prix tracé sur une fenêtre limite de 100 à 0
Fig 1.2. RSI et Graphique Linéaire
Si l'indicateur RSI et le graphique linéaire sont très similaires, l'utilisation de l'indicateur RSI en tant que stop-loss intelligent peut réduire le risque de chasse aux stop-loss.
Objectif :
Mon but ici est de vérifier si l'utilisation du stop-loss RSI serait capable de réduire la chasse au stop-loss et surtout d'être rentable sur le long terme.
Objectif :
Deux mêmes stratégies seront comparées: l'une avec un stop-loss défini sur le graphique d'action des prix et l'autre avec un stop-loss défini sur l'indicateur RSI.
Stratégie et code
Stop-Loss classique sur le graphique d'action des prix
Pour le premier EA avec stop-loss fixe sur l'action des prix. Voici les exigences pour la stratégie
Paramètres | Description |
---|---|
Indicateur utilisé | MACD (12,26,9) |
Indicateur utilisé | Moyenne mobile (200) |
Indicateur utilisé | Moyenne mobile (50) |
Indicateur utilisé | ATR (5) |
Période | 1 min |
Entrée pour Achat | Si la moyenne mobile (50) est supérieure à la moyenne mobile (200) et que la ligne MACD est supérieure à la ligne de signal lorsque la ligne MACD et la ligne de signal sont inférieures à zéro |
Entrée pour la Vente | Si la moyenne mobile (50) est inférieure à la moyenne mobile (200) et que la ligne MACD est inférieure à la ligne de signal lorsque la ligne MACD et la ligne de signal sont au-dessus de zéro |
Sortie | Take profit et Stop-loss (1:2R). Le stop-loss pour la condition d'achat est le plus bas des vingt (20) bougies après l'entrée moins la valeur ATR (5) Et la condition stop-loss pour la vente est la plus élevée de vingt (20) bougies après l'entrée plus la valeur ATR (5)
|
La représentation graphique est présentée ci-dessous.
Fig 2.1 Achat
Fig 2.2 Vente
Code
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
#include<Trade\Trade.mqh>
CTrade trade;
int MATrend;
int MADirection;
int MACD;
int ATR;
input int afi;// ----------Risque------------
input double risk = 0.02; // % Montant à risquer
input int atrValue = 20; // Valeur de l'ATR
input int ai;// ----------Entrée de la moyenne mobile------------
input int movAvgTrend = 200;// Tendance de la Moyenne Mobile
input int movAvgDirection = 50;// Moyenne mobile pour la direction de la tendance;
input int i;// -----------Entrées du MACD-----------------------
input int fast = 12;// Macd Rapide
input int slow = 26; //Macd Lent
input int signal = 9; //Ligne de Signal
Autre variable déclarée
double pipValue = 0.0;// double Balance; // Pour le solde courant
Les variables ont été assignées à chaque gestionnaire dans la fonction init()
int OnInit() { //--- // Moyennes Mobiles'' MATrend = iMA(_Symbol,_Period,movAvgTrend,0,MODE_SMA,PRICE_CLOSE); //Moving Average 200 MADirection = iMA(_Symbol,_Period,movAvgDirection,0,MODE_EMA,PRICE_CLOSE); //Moving Average 50 //MACD MACD = iMACD(_Symbol,_Period,fast,slow,signal,PRICE_CLOSE);//MACD //ATR ATR = iATR(_Symbol,_Period,atrValue); //--- point=_Point; double Digits=_Digits; if((_Digits==3) || (_Digits==5)) { point*=10; } return(INIT_SUCCEEDED); }
Le code sur la façon dont la stratégie s'exécute est illustré ci-dessous
void Strategy() { MqlRates priceAction[]; ArraySetAsSeries(priceAction,true); int priceData = CopyRates(_Symbol,_Period,0,200,priceAction); double maTrend[]; ArraySetAsSeries(maTrend,true); CopyBuffer(MATrend,0,0,200,maTrend); //200 MA double madirection[]; ArraySetAsSeries(madirection,true); CopyBuffer(MADirection,0,0,200,madirection); //50 MA double macd[]; ArraySetAsSeries(macd,true); CopyBuffer(MACD,0,0,200,macd); //MACD double macds[]; ArraySetAsSeries(macds,true); CopyBuffer(MACD,1,0,200,macds); //MACD_Signal Line double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits); double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); if (madirection[1]>maTrend[1]) { //Achat ; Tendance haussière bool macd_bZero = macds[1]<0&&macd[1]<0; //La ligne de signal du MacD est inférieure à Zero bool macd_cross = macd[1]>macds[1];// Le Macd croise la ligne de signal if (macd_bZero && macd_cross) { buyTrade = true; } } else if (madirection[1]<maTrend[1]) { //Vente; Tendance baissière bool macd_bZero = macds[1]>0&&macd[1]>0;; //La ligne de signal du MacD est inférieure à Zero bool macd_cross = macd[1]<macds[1];// Le Macd croise la ligne de signal if (macd_bZero && macd_cross) { sellTrade = true; } } if (buyTrade && sellTrade) { buyTrade = false; sellTrade = false; return; } if (buyTrade) { buyTrade = false; sellTrade = false; Buy(Ask); } else if (sellTrade) { buyTrade = false; sellTrade = false; Sell(Bid); } }
Entrée (achat et vente)
void Buy(double Ask) { double atr[]; ArraySetAsSeries(atr,true); //Ce tableau est utilisé pour stocker toutes les valeurs de l'ATR jusqu'à la dernière barre fermée CopyBuffer(ATR,0,0,200,atr); // Cette méthode copie la valeur du buffer de l'ATR dans le tableau (200 données bufferisées) theLotsize = NormalizeDouble((Balance*risk)/((MathAbs(Ask-((stoplossforBuy(20)-atr[1])))*100)*pipValue),2); // Calcul de la taille du lot en utilisant le % à risquer trade.Buy(theLotsize,_Symbol,Ask,(stoplossforBuy(20)-atr[1]),Ask+(2*MathAbs(Ask-((stoplossforBuy(20)-atr[1])))),NULL); //Entrée d'Achat sans stoploss && le take profit est 2 fois la distance entre l'entrée et la bougie la plus basse } void Sell(double Bid) { double atr[]; ArraySetAsSeries(atr,true); // Ce tableau est utilisé pour stocker toutes les valeurs de l'ATR jusqu'à la dernière barre fermée CopyBuffer(ATR,0,0,200,atr); // Cette méthode copie la valeur du buffer de l'ATR dans le tableau (200 données bufferisées) theLotsize = NormalizeDouble((Balance*risk)/((MathAbs(Bid-((stoplossforSell(20)+atr[1])))*100)*pipValue),2); // Calcul de la taille du lot en utilisant le % à risquer trade.Sell(theLotsize,_Symbol,Bid,(stoplossforSell(20)+atr[1]),Bid-(2*MathAbs(((stoplossforSell(20)+atr[1]))-Bid)),NULL); //Entrée de Vente sans stoploss && le take profit est 2 fois la distance entre l'entrée et la bougie la plus haute }
À partir des codes ci-dessus, nous avons appelé deux méthodes qui sont le stoplossforSell(int num) et le stoplossforBuy(int num). Ces deux méthodes sont spécifiquement destinées à identifier la bougie la plus élevée et la plus basse du numéro attribué respectivement après le déclenchement de l'entrée. Par exemple, stoplossforSell(20) renvoie la bougie la plus élevée parmi les 20 bougies précédentes avant l'entrée.
double stoplossforBuy(int numcandle) { int LowestCandle; // Crée un tableau pour les plus bas des bougies double low[]; // Trie les bougies depuis le bas courant ArraySetAsSeries(low,true); // Copie tous les plus bas des 100 bougies CopyLow(_Symbol,_Period,0,numcandle,low); // Calcule la bougie la plus basse LowestCandle = ArrayMinimum(low,0,numcandle); // Crée le tableau des prix MqlRates PriceInfo[]; ArraySetAsSeries(PriceInfo,true); // Copie les prix dans le tableau int Data = CopyRates(Symbol(),Period(),0,Bars(Symbol(),Period()),PriceInfo); return PriceInfo[LowestCandle].low; } double stoplossforSell(int numcandle) { int HighestCandle; double High[]; //Trie les bougies depuis le haut courante ArraySetAsSeries(High,true); //Copie tous les plus bas des 100 bougies CopyHigh(_Symbol,_Period,0,numcandle,High); //Calcule la bougie la plus haute HighestCandle = ArrayMaximum(High,0,numcandle); //Crée le tableau des prix MqlRates PriceInformation[]; ArraySetAsSeries(PriceInformation,true); //Copie les prix dans le tableau int Data = CopyRates(Symbol(),Period(),0,Bars(Symbol(),Period()),PriceInformation); return PriceInformation[HighestCandle].high; }
Cet EA entre dans le trade un à à la fois en vérifiant s'il y a un trade ouvert ou non. S'il n'y a pas de trade ouvert, alors la méthode de stratégie est appelée.
void OnTick() { //--- pipValue = ((((SymbolInfoDouble(Symbol(), SYMBOL_TRADE_TICK_VALUE))*point)/(SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_SIZE)))); Balance = AccountInfoDouble(ACCOUNT_BALANCE); if (PositionsTotal()==0) { Strategy(); } }
Stop-Loss RSI sur l'indicateur RSI
Pour la deuxième EA avec stop-loss fixe sur l'indicateur RSI. Vous trouverez ci-dessous les exigences de la stratégie.
Paramètres | Description |
Indicateur utilisé | MACD (12,26,9) |
Indicateur utilisé | Moyenne mobile (200) |
Indicateur utilisé | Moyenne mobile (50) |
Indicateur utilisé | ATR (5) |
Période | 1 min |
Entrée pour Achat | Si la moyenne mobile (50) est supérieure à la moyenne mobile (200) et que la ligne MACD est supérieure à la ligne de signal lorsque la ligne MACD et la ligne de signal sont inférieures à zéro |
Entrée pour la Vente | Si la moyenne mobile (50) est inférieure à la moyenne mobile (200) et que la ligne MACD est inférieure à la ligne de signal lorsque la ligne MACD et la ligne de signal sont au-dessus de zéro |
Sortie | Take profit. Le stop-loss pour la condition d'achat est le plus bas de vingt (10) valeur RSI après l'entrée Et la condition stop-loss pour la vente est la plus élevée de vingt (10) valeurs RSI après l'entrée
Si le RSI croise le RSI le plus élevé ou le plus bas, la transaction est fermée.
|
La ligne est tracée sur le RSI Stop loss pour une visualisation facile
Fig 2.3. Trade Achat avec un stop-loss sur le RSI
La transaction se ferme lorsque la valeur RSI actuelle est inférieure à la ligne Stop-loss de la fenêtre RSI.
Fig 2.4. Trade de Vente avec Stop-loss au RSI
La transaction se ferme lorsque la valeur RSI actuelle est supérieure à la ligne Stop-loss de la fenêtre RSI.
Code
La première partie du code est principalement destinée à la déclaration des variables et aux données d'entrée. Semblable au premier indicateur avec quelques ajouts indiqués ci-dessous
int RSI; input int rsi = 5; // Valeur du RSI double lowestrsiValue = 100; double highestrsiValue = 0.0;
De même, la méthode onint() est également similaire avec quelques ajouts comme indiqué ci-dessous
int OnInit() { //RSI RSI = iRSI(_Symbol,_Period,rsi,PRICE_CLOSE); }
Le code de la stratégie est le même que ci-dessus. Mais l'entrée pour l'achat et la vente n'a pas de stop loss car nous utiliserons le niveau RSI comme stop-loss. Voici le code pour les entrées
void Buy(double Ask) { double atr[]; ArraySetAsSeries(atr,true); // Ce tableau est utilisé pour stocker toutes les valeurs de l'ATR jusqu'à la dernière barre fermée CopyBuffer(ATR,0,0,200,atr); // Cette méthode copie la valeur du buffer de l'ATR dans le tableau (200 données bufferisées) theLotsize = NormalizeDouble((Balance*risk)/((MathAbs(Ask-((stoplossforBuy(20)-atr[1])))*100)*pipValue),2); // Calcul de la taille du lot en utilisant le % à risquer ObjectCreate(0,"sl",OBJ_HLINE,3,0,lowestRSI(10)); // Puisque notre stoploss est à zero, nous assignong un stoploss intelligent sur le rsi en dessinant une ligne dans la fenêtre du rsi trade.Buy(theLotsize,_Symbol,Ask,0,Ask+(2*MathAbs(Ask-((stoplossforBuy(20)-atr[1])))),NULL);//Entrée d'Achat sans stoploss && le take profit est 2 fois la distance entre l'entrée et la bougie la plus basse Print("SL",lowestRSI(10)); } void Sell(double Bid) { double atr[]; ArraySetAsSeries(atr,true); //Ce tableau est utilisé pour stocker toutes les valeurs de l'ATR jusqu'à la dernière barre fermée CopyBuffer(ATR,0,0,200,atr); // Cette méthode copie la valeur du buffer de l'ATR dans le tableau (200 données bufferisées) theLotsize = NormalizeDouble((Balance*risk)/((MathAbs(Bid-((stoplossforSell(20)+atr[1])))*100)*pipValue),2); // Calcul de la taille du lot en utilisant le % à risquer ObjectCreate(0,"sl",OBJ_HLINE,3,0,highestRSI(10)); // Puisque notre stoploss est à zero, nous assignong un stoploss intelligent sur le rsi en dessinant une ligne dans la fenêtre du rsi trade.Sell(theLotsize,_Symbol,Bid,0,Bid-(2*MathAbs(((stoplossforSell(20)+atr[1]))-Bid)),NULL);//Entrée de Vente sans stoploss && le take profit est 2 fois la distance entre l'entrée et la bougie la plus haute Print("SL",highestRSI(10)); }
La dernière partie du code qui diffère de l'EA ci-dessus concerne les méthodes qui obtiennent les valeurs les plus basses et les plus élevées du RSI. Ceci est appelé à partir de la méthode des entrées ci-dessus et utilise les données pour tracer une ligne au point du RSI le plus bas ou le plus élevé.
Remarque : La ligne tracée est supprimée dans la méthode de stratégie lorsqu'il n'y a pas de position ouverte.
double lowestRSI(int count) { double thersi[]; ArraySetAsSeries(thersi,true); CopyBuffer(RSI,0,0,200,thersi); for (int i = 0; i<count;i++) { if (thersi[i]<lowestrsiValue) { lowestrsiValue = thersi[i]; } } return lowestrsiValue; } // La méthode pour obtenir le RSI Le Plus Haut après l'entrée pour définir le Stoploss intelligent double highestRSI(int count) { double thersi[]; ArraySetAsSeries(thersi,true); CopyBuffer(RSI,0,0,200,thersi); for (int i = 0; i<count;i++) { if (thersi[i]>highestrsiValue) { highestrsiValue = thersi[i]; } } return highestrsiValue; }
####
Maintenant que les EA sont définis et respectés, nous pouvons procéder au test des deux EA pour le résultat requis.
Test et résultat
Test de chasse au Stop-Loss
Dans la section, le test et le résultat obtenu à partir de la simulation seront présents. Le premier test à effectuer est de déterminer si le RSI STOP-LOSS EA est capable de RÉDUIRE le problème de la chasse au stop-loss pendant le trading. Il sera comparé au CLASSIC STOP-LOSS EA.
Les tests se font sur la tranche horaire M1.
RSI STOP-LOSS EA ENTRY DATA
Expert : | MACD_Smart_Stoploss | |||||||||||
Symbole : | Volatilité 10 Index | |||||||||||
Période : | M1 (2021.07.01 - 2021.07.15) | |||||||||||
Entrées : | afi=0 | |||||||||||
risk=0.05 | ||||||||||||
atrValue=20 | ||||||||||||
rsi=14 | ||||||||||||
ai=0 | ||||||||||||
movAvgTrend=200 | ||||||||||||
movAvgDirection=50 | ||||||||||||
i=0 | ||||||||||||
fast=12 | ||||||||||||
slow=26 | ||||||||||||
signal=9 | ||||||||||||
Courtier : | Deriv Limited | |||||||||||
Devise : | USD | |||||||||||
Dépôit Initial : | 500.00 | |||||||||||
Levier : | 1:500 |
CLASSIC STOP-LOSS EA ENTRY DATA
Expert : | MACD_Cross_Stoploss | |||||||||||
Symbole : | Volatilité 10 Index | |||||||||||
Période : | M1 (2021.07.01 - 2021.07.15) | |||||||||||
Entrées : | afi=0 | |||||||||||
risk=0.05 | ||||||||||||
atrValue=5 | ||||||||||||
ai=0 | ||||||||||||
movAvgTrend=200 | ||||||||||||
movAvgDirection=50 | ||||||||||||
i=0 | ||||||||||||
fast=12 | ||||||||||||
slow=26 | ||||||||||||
signal=9 risk reward=1:2 | ||||||||||||
Courtier : | Deriv Limited | |||||||||||
Devise : | USD | |||||||||||
Dépôit Initial : | 500.00 | |||||||||||
Levier : | 1:50 |
RÉSULTATS
Une représentation graphique des transactions effectuées par les deux EA sera affichée ci-dessous. Un total de 3 échantillons ont été prélevés dans chacun.
Fig 3.1. Echantillon 1 de RSI STOP-LOSS EA
Fig 3.1a. Echantillon 1 de CLASSIC STOP-LOSS EA
Fig 3.2. Echantillon 2 de RSI STOP-LOSS EA
Fig 3.2a. Echantillon 2 de CLASSIC STOP-LOSS EA
Fig 3.3. Echantillon 3 de RSI STOP-LOSS EA
Fig 3.3a. Echantillon 3 de CLASSIC STOP-LOSS EA
À partir de la comparaison ci-dessus, on peut observer que le RSI STOP-LOSS EA a fait un excellent travail pour éviter d'être chassé par le marché par rapport au Stop-Loss classique défini sur le graphique d'action des prix.
Test de rentabilité
Il est maintenant temps de se poser la grande question "Est-ce rentable ?". Étant donné que le RSI STOP-LOSS EA a fait un excellent travail pour éviter la chasse aux stop loss, il doit être rentable et également avoir un taux de gain plus élevé car peu de stop-loss seraient déclenchés par rapport à la méthode stop-loss classique. Logiquement, cela pourrait être vrai. Mais pour prouver cette théorie, un test doit être effectué.
Des données similaires du test ci-dessus seraient utilisées pour les deux tests. Un back-test sur les deux EA de plus de 100 transactions serait effectué sur la période M1. Voici les résultats.
RSI STOP-LOSS EA RESULTS
Résultats | ||||||||||||
Qualité de l'historique : | 100% | |||||||||||
Barres : | 20160 | Tick s: | 603385 | Symboles : | 1 | |||||||
Profit Total Net : | 327.71 | Drawdown Absolu du Solde : | 288.96 | Drawdown Absolu des Fonds: | 367.85 | |||||||
Profit Brut : | 3 525.74 | Drawdown Maximal du Solde : | 483.90 (69.63%) | Drawdown Maximal des Fonds : | 523.24 (71.95%) | |||||||
Perte Brute : | -3 198.03 | Drawdown Relatif du Solde : | 69.63% (483.90) | Drawdown Relatif des Fonds: | 73.65% (369.45) | |||||||
Facteur de profit : | 1.10 | Rendement Attendu : | 1.76 | Taux de Marge : | 317.21% | |||||||
Facteur de Récupération : | 0.63 | Ratio de Sharpe : | 0.08 | Z-Score : | 1.68 (90.70%) | |||||||
AHPR : | 1.0070 (0.70%) | Corrélation LR : | 0.51 | Résultat OnTester : | 0 | |||||||
GHPR : | 1.0027 (0.27%) | Erreur Standard LR : | 134.83 | |||||||||
Nb Total de Trades : | 186 | Trades Courts (gagnés %): | 94 (42.55%) | Trades Longs (gagnés %): | 92 (38.04%) | |||||||
Nb Total de Transactions : | 372 | Trades Gagnants (% du total): | 75 (40.32%) | Trades Perdants (% du total): | 111 (59.68%) | |||||||
Plus gros gain : | 85.26 | Plus grosse perte : | -264.99 | |||||||||
Profit Moyen par Trade : | 47.01 | Perte Moyenne par Trade : | -28.81 | |||||||||
Gains consécutifs maximum ($) : | 5 (350.60) | Pertes consécutives maximum ($) : | 6 (-255.81) | |||||||||
Profit consécutif maximal (nombre) : | 350.60 (5) | Perte consécutive maximale (nombre) : | -413.34 (5) | |||||||||
Victoires consécutives moyennes : | 2 | Pertes consécutives moyennes : | 2 | |||||||||
Fig 3.4 Courbes des fonds pour RSI Stop-loss EA
CLASSIC STOP-LOSS EA RESULTS
Résultats | ||||||||||||
Qualité de l'historique : | 100% | |||||||||||
Barres : | 20160 | Tick s: | 603385 | Symboles : | 1 | |||||||
Profit Total Net : | 3 672.06 | Drawdown Absolu du Solde : | 215.45 | Drawdown Absolu des Fonds: | 217.30 | |||||||
Profit Brut : | 10 635.21 | Drawdown Maximal du Solde : | 829.54 (19.27%) | Drawdown Maximal des Fonds : | 1 159.20 (25.59%) | |||||||
Perte Brute : | -6 963.15 | Drawdown Relatif du Solde : | 48.76% (270.82) | Drawdown Relatif des Fonds: | 51.81% (303.90) | |||||||
Facteur de profit : | 1.53 | Rendement Attendu : | 15.97 | Taux de Marge : | 274.21% | |||||||
Facteur de Récupération : | 3.17 | Ratio de Sharpe : | 0.16 | Z-Score : | -0.14 (11.13%) | |||||||
AHPR : | 1.0120 (1.20%) | Corrélation LR : | 0.80 | Résultat OnTester : | 0 | |||||||
GHPR : | 1.0093 (0.93%) | Erreur Standard LR : | 545.00 | |||||||||
Nb Total de Trades : | 230 | Trades Courts (gagnés %): | 107 (44.86%) | Trades Longs (gagnés %): | 123 (38.21%) | |||||||
Nb Total de Transactions : | 460 | Trades Gagnants (% du total): | 95 (41.30%) | Trades Perdants (% du total): | 135 (58.70%) | |||||||
Plus gros gain : | 392.11 | Plus grosse perte : | -219.95 | |||||||||
Profit Moyen par Trade : | 111.95 | Perte Moyenne par Trade : | -51.58 | |||||||||
Gains consécutifs maximum ($) : | 6 (1 134.53) | Pertes consécutives maximum ($) : | 9 (-211.43) | |||||||||
Profit consécutif maximal (nombre) : | 1 134.53 (6) | Perte consécutive maximale (nombre) : | -809.21 (4) | |||||||||
Victoires consécutives moyennes : | 2 | Pertes consécutives moyennes : | 2 |
Fig 3.5. Courbe des fonds pour l'EA Classic Stop loss EA
Observation
Bien que les deux EA aient été rentables à la fin de la période de trading, il a été observé que le premier EA (RSI Stop-Loss EA) avait moins de pertes dont certaines étaient énormes.Fig 3.6. Pertes de la courbe des fonds
Ces pertes pourraient affecter la rentabilité globale de l'EA ainsi que la bonne gestion de l'argent. D'autre part, le stop loss classique EA a enregistré plus de pertes et a également rapporté le plus d'argent à la fin de la période de négociation.
Conclusion et recommandation
Le Money Management est en effet le Saint Graal du trading. D'après l'expérience ci-dessus, l'EA dans laquelle la gestion de l'argent a été entièrement mise en œuvre a fait le plus de profit avec plus de perte. C'est à cause de la cohérence de trading. Cependant, définir le stop loss au RSI ne donne pas entièrement la même cohérence pour le premier EA (RSI STOP-LOSS) car le montant du risque varie.
Recommandation
La couverture est un moyen de réduire les pertes dans le premier (RSI STOP-LOSS) EA. Cela pourrait donner un montant de risque plus cohérent et améliorer le profit à long terme.Merci d'avoir lu !!!
Traduit de l’anglais par MetaQuotes Ltd.
Article original : https://www.mql5.com/en/articles/9827





- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation