
Stoploss Fisso sulla PriceAction o RSI Fisso (StopLoss Intelligente)
Introduzione
La ricerca di un Santo Graal nel trading mi ha portato a questo studio. Lo stop loss è lo strumento più importante nel trading quando si tratta di gestione del denaro. La gestione del denaro è uno dei diversi modi in cui un trader può fare soldi sul mercato ed essere costante nel lungo periodo. Come affermato in precedenza, la gestione del denaro è fortemente associata allo stop loss e al rapporto rischio-rendimento. Il rapporto 1:1.5R (Rischio:Rendimento) tende ad avere una percentuale di vincita più elevata rispetto ad altri rapporti di Rischio:Rendimento, ma il rapporto 1:>1.9R (Rischio:Rendimento) tende a essere più redditizio e mantiene un trader con un profitto costante per un lungo periodo di tempo (Santo Graal). Questa strategia di trading 'Santo Graal' ha un lato negativo. In una situazione ideale, fare trading con 1:>1.9R(Rischio:Rendimento) sarà redditizio se, su 10 operazioni (1 pip ciascuna), 6 operazioni sono state perdenti (6 pip) e 4 operazioni sono state vincenti (8 pip). Ciò significa che siamo in profitto di 2 pip. Nell'applicazione nella vita reale, potrebbe non essere tutto vero. Un fattore importante che contribuisce a questo è un termine noto come 'Caccia allo Stop-Loss'. La Caccia allo Stop-Loss si realizza quando un'operazione raggiunge il tuo stop-loss per raccogliere la liquidità, quindi si muove nella direzione prevista. La Caccia allo Stop-Loss è un problema importante nel trading e nella gestione del denaro. Ha anche un effetto psicologico sui trader (per lo più sui nuovi trader).
Fig 1.1. Caccia agli stop loss
La caccia allo stop loss è principalmente associata a uno stop loss fisso o trailing sull'azione dei prezzi o sul grafico a candele. Se non ci sono stop loss sul grafico dell'azione dei prezzi, non ci sarà alcuna caccia allo stop loss. Ma l'assenza dello stop loss corrisponde alla probabilità di far saltare il tuo conto di trading (che è uguale a uno (1)).
RSI Stop-loss
L'oscillatore RSI è una replica del grafico linea dell'azione del prezzo tracciato su un range che va da 100 a 0
Fig 1.2. RSI e Ggrafico Linea
Se l'indicatore RSI e il grafico linea sono molto simili, l'utilizzo dell'indicatore RSI come stop loss intelligente potrebbe ridurre il rischio di caccia agli stop loss.
Scopo:
Il mio scopo qui è verificare se l'uso dello stop-loss basato sull'RSI potrebbe essere in grado di ridurre il rischio di caccia allo stop-loss e soprattutto essere redditizio nel lungo periodo.
Obbiettivo:
Verranno confrontate due strategie uguali: una con stop-loss impostato sulla price action e l'altra con stop-loss impostato sull'indicatore RSI.
Strategia e Codice
Stop-Loss classico sul grafico dell'azione dei prezzi
Per il primo EA con stop loss fisso sull'azione dei prezzi. Di seguito sono riportati i requisiti per la strategia
Parametri | Descrizione |
---|---|
Indicatore Usato | MACD (12,26,9) |
Indicatore Usato | Media Mobile (200) |
Indicatore Usato | Media Mobile (50) |
Indicatore Usato | ATR (5) |
Time Frame | 1 min |
Entrata in Acquisto | Se la media mobile (50) è al di sopra della media mobile (200) e la linea MACD è maggiore della linea del segnale quando sia la linea MACD che la linea del segnale sono inferiori a zero |
Entrata in Vendita | Se la media mobile (50) è inferiore alla media mobile (200) e la linea MACD è inferiore alla linea del segnale quando sia la linea MACD che la linea del segnale sono superiori a zero |
Uscita | Take profit e Stop-loss (1:2R). Lo stop-loss nel setup di acquisto è posizionato sotto la più bassa di venti (20) candele precedenti dopo l'ingresso meno il valore dell'ATR (5) E lo stop-loss per la condizione di vendita è il massimo di venti (20) candele precedenti dopo l'ingresso più il valore ATR (5)
|
La rappresentazione grafica è mostrata di seguito.
Fig 2.1 Entrata in Acquisto
Fig 2.2 Entrata in Vendita
Codice
#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;// ----------RiskAmount------------
input double risk = 0.02; //% Amount to risk
input int atrValue = 20; // ATR VAlue
input int ai;// ----------Moving Average inputs------------
input int movAvgTrend = 200;// Moving Average Trend
input int movAvgDirection = 50;//moving Average for trend Direction;
input int i;// -----------MACD inputs-----------------------
input int fast = 12;// Macd Fast
input int slow = 26; //Macd Slow
input int signal = 9; //Signal Line
Altre variabili dichiarate
double pipValue = 0.0;// double Balance; // For the Current Balance
Le variabili sono state assegnate a ogni handler nella funzione init()
int OnInit() { //--- //Moving Averages Indicators'' 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); }
Il codice in base al quale viene eseguita la strategia è mostrato di seguito
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]) { //Buy ; Uptrend bool macd_bZero = macds[1]<0&&macd[1]<0; //MacD Signal Line is less than Zero bool macd_cross = macd[1]>macds[1];// Macd Crosses the signal line if (macd_bZero && macd_cross) { buyTrade = true; } } else if (madirection[1]<maTrend[1]) { //Sell; DownTrend bool macd_bZero = macds[1]>0&&macd[1]>0;; //MacD Signal Line is less than Zero bool macd_cross = macd[1]<macds[1];// Macd Crosses the signal line 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); } }
Entrata(Acquisto e Vendita)
void Buy(double Ask) { double atr[]; ArraySetAsSeries(atr,true); //This array is use to store all ATR value to the last closed bar CopyBuffer(ATR,0,0,200,atr); // This method copy the buffer value of the ATR indicator into the array (200 buffered data) theLotsize = NormalizeDouble((Balance*risk)/((MathAbs(Ask-((stoplossforBuy(20)-atr[1])))*100)*pipValue),2); // This Calculate the lotsize using the % to risk trade.Buy(theLotsize,_Symbol,Ask,(stoplossforBuy(20)-atr[1]),Ask+(2*MathAbs(Ask-((stoplossforBuy(20)-atr[1])))),NULL); //Buy Entry with zero stoploss && take profit is twice the distance between the entry and the lowest candle } void Sell(double Bid) { double atr[]; ArraySetAsSeries(atr,true); //This array is use to store all ATR value to the last closed bar CopyBuffer(ATR,0,0,200,atr); // This method copy the buffer value of the ATR indicator into the array (200 buffered data) theLotsize = NormalizeDouble((Balance*risk)/((MathAbs(Bid-((stoplossforSell(20)+atr[1])))*100)*pipValue),2); // This Calculate the lotsize using the % to risk trade.Sell(theLotsize,_Symbol,Bid,(stoplossforSell(20)+atr[1]),Bid-(2*MathAbs(((stoplossforSell(20)+atr[1]))-Bid)),NULL); //Sell Entry with zero stoploss && take profit is twice the distance between the entry and the highest candle }
Dai codici sopra abbiamo chiamato due metodi che sono lo stoplossforSell(int num) e lo stoplossforBuy(int num). Questi due metodi sono pensati specificamente per identificare la candela più alta e quella più bassa del numero assegnato rispettivamente dopo l'attivazione dell'entrata. Ad esempio, stoplossforSell(20) restituisce la candela più alta tra le 20 candele precedenti prima dell'ingresso.
double stoplossforBuy(int numcandle) { int LowestCandle; //Create array for candle lows double low[]; //Sort Candle from current downward ArraySetAsSeries(low,true); //Copy all lows for 100 candle CopyLow(_Symbol,_Period,0,numcandle,low); //Calculate the lowest candle LowestCandle = ArrayMinimum(low,0,numcandle); //Create array of price MqlRates PriceInfo[]; ArraySetAsSeries(PriceInfo,true); //Copy price data to array int Data = CopyRates(Symbol(),Period(),0,Bars(Symbol(),Period()),PriceInfo); return PriceInfo[LowestCandle].low; } double stoplossforSell(int numcandle) { int HighestCandle; double High[]; //Sort array downward from current candle ArraySetAsSeries(High,true); //Fill array with data for 100 candle CopyHigh(_Symbol,_Period,0,numcandle,High); //calculate highest candle HighestCandle = ArrayMaximum(High,0,numcandle); //Create array for price MqlRates PriceInformation[]; ArraySetAsSeries(PriceInformation,true); //Copy price data to array int Data = CopyRates(Symbol(),Period(),0,Bars(Symbol(),Period()),PriceInformation); return PriceInformation[HighestCandle].high; }
Questo EA entra in un trade alla volta controllando se c'è un trade aperto o meno. Se non ci sono trade aperti, viene richiamato il metodo della strategia.
void OnTick() { //--- pipValue = ((((SymbolInfoDouble(Symbol(), SYMBOL_TRADE_TICK_VALUE))*point)/(SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_SIZE)))); Balance = AccountInfoDouble(ACCOUNT_BALANCE); if (PositionsTotal()==0) { Strategy(); } }
RSI Stop-Loss sull'indicatore RSI
Per il Secondo EA con stop loss fisso sull'indicatore RSI. Di seguito sono riportati i requisiti per la strategia.
Parametri | Descrizione |
Indicatore Usato | MACD (12,26,9) |
Indicatore Usato | Media Mobile (200) |
Indicatore Usato | Media Mobile (50) |
Indicatore Usato | ATR (5) |
Time Frame | 1 min |
Entrata in Acquisto | Se la media mobile (50) è al di sopra della media mobile (200) e la linea MACD è maggiore della linea del segnale quando sia la linea MACD che la linea del segnale sono inferiori a zero |
Entrata in Vendita | Se la media mobile (50) è inferiore alla media mobile (200) e la linea MACD è inferiore alla linea del segnale quando sia la linea MACD che la linea del segnale sono superiori a zero |
Uscita | Take profit. Lo stop-loss per il setup di acquisto è il valore più basso di venti (10) RSI dopo l'entrata E lo stop loss per la condizione di vendita è il valore più alto di venti (10) RSI dopo l'entrata
Se l'RSI incrocia l'RSI più alto o più basso, l'operazione viene chiusa.
|
La linea viene tracciata sullo Stop loss sull'RSI per una facile visualizzazione
Fig 2.3. Operazione d'acquisto con stop-loss sull'RSI
L'operazione si chiude quando il valore RSI corrente è inferiore alla linea Stop-loss nella finestra RSI.
Fig 2.4. Operazione di vendita con stop-loss sull'RSI
L'operazione si chiude quando il valore RSI corrente è maggiore della linea Stop-loss nella finestra RSI.
Codice
La prima parte del codice riguarda principalmente la dichiarazione di variabili e i dati di input. Simile al primo indicatore con poche aggiunte mostrate di seguito
int RSI; input int rsi = 5; // RSI VAlue double lowestrsiValue = 100; double highestrsiValue = 0.0;
Allo stesso modo, anche il metodo onint() è simile con poche aggiunte come mostrato di seguito
int OnInit() { //RSI RSI = iRSI(_Symbol,_Period,rsi,PRICE_CLOSE); }
Il codice per la strategia è lo stesso di cui sopra. Ma l'ingresso sia per l'acquisto che per la vendita non contiene stop loss perché utilizzeremo il livello RSI come stop loss. Di seguito il codice per le voci
void Buy(double Ask) { double atr[]; ArraySetAsSeries(atr,true); //This array is use to store all ATR value to the last closed bar CopyBuffer(ATR,0,0,200,atr); // This method copy the buffer value of the ATR indicator into the array (200 buffered data) theLotsize = NormalizeDouble((Balance*risk)/((MathAbs(Ask-((stoplossforBuy(20)-atr[1])))*100)*pipValue),2); // This Calculate the lotsize using the % to risk ObjectCreate(0,"sl",OBJ_HLINE,3,0,lowestRSI(10)); // Since our stoploss is zero we assign a smart stoploss on the rsi by drawing a line on the rsi window trade.Buy(theLotsize,_Symbol,Ask,0,Ask+(2*MathAbs(Ask-((stoplossforBuy(20)-atr[1])))),NULL);//Buy Entry with zero stoploss && take profit is twice the distance between the entry and the lowest candle Print("SL",lowestRSI(10)); } void Sell(double Bid) { double atr[]; ArraySetAsSeries(atr,true); //This array is use to store all ATR value to the last closed bar CopyBuffer(ATR,0,0,200,atr); // This method copy the buffer value of the ATR indicator into the array (200 buffered data) theLotsize = NormalizeDouble((Balance*risk)/((MathAbs(Bid-((stoplossforSell(20)+atr[1])))*100)*pipValue),2); // This Calculate the lotsize using the % to risk ObjectCreate(0,"sl",OBJ_HLINE,3,0,highestRSI(10)); // Since our stoploss is zero we assign a smart stoploss on the rsi by drawing a line on the rsi window trade.Sell(theLotsize,_Symbol,Bid,0,Bid-(2*MathAbs(((stoplossforSell(20)+atr[1]))-Bid)),NULL);//Sell Entry with zero stoploss && take profit is twice the distance between the entry and the highest candle Print("SL",highestRSI(10)); }
La parte finale del codice che è diversa dall'EA di cui sopra comprende i metodi che ottengono i valori più bassi e più alti dell'RSI. Viene richiamato dal metodo di entrata di cui sopra e utilizza i dati per tracciare una linea nel punto dell'RSI più basso o più alto.
Nota: la linea tracciata viene eliminata nel metodo della strategia quando non vi è alcuna posizione aperta.
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; } //This method get the Highest RSI afer ENtry to set the smart Stoploss 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; }
####
Ora che gli EA sono impostati e rispettati, possiamo procedere al test di entrambi gli EA per il risultato richiesto.
Test e Resultati
Test Caccia agli Stop-Loss
Nella sezione sarà presente il test e il risultato ottenuto dalla simulazione. Il primo test da effettuare è determinare se l'RSI STOP-LOSS EA è in grado di RIDURRE il problema della caccia allo stop loss durante il trading. Sarà paragonato al CLASSIC STOP-LOSS EA.
I test vengono eseguiti su timeframe M1.
RSI STOP-LOSS EA DATI DI ENTRATA
Expert: | MACD_Smart_Stoploss | |||||||||||
Simbolo: | Volatility 10 Index | |||||||||||
Periodo: | M1 (2021.07.01 - 2021.07.15) | |||||||||||
Input: | afi=0 | |||||||||||
risk=0.05 | ||||||||||||
atrValue=20 | ||||||||||||
rsi=14 | ||||||||||||
ai=0 | ||||||||||||
movAvgTrend=200 | ||||||||||||
movAvgDirection=50 | ||||||||||||
i=0 | ||||||||||||
fast=12 | ||||||||||||
slow=26 | ||||||||||||
signal=9 | ||||||||||||
Broker: | Deriv Limited | |||||||||||
Valuta: | USD | |||||||||||
Deposito Iniziale: | 500.00 | |||||||||||
Leva: | 1:500 |
CLASSIC STOP-LOSS EA ENTRY DATA
Expert: | MACD_Cross_Stoploss | |||||||||||
Simbolo: | Volatility 10 Index | |||||||||||
Periodo: | M1 (2021.07.01 - 2021.07.15) | |||||||||||
Input: | 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 | ||||||||||||
Broker: | Deriv Limited | |||||||||||
Valuta: | USD | |||||||||||
Deposito Iniziale: | 500.00 | |||||||||||
Leva: | 1:50 |
RISULTATI
Di seguito verrà visualizzata la rappresentazione grafica delle operazioni effettuate da entrambi gli EA. Sono stati presi in totale 3 esempi di trade da ciascuno.
Fig 3.1. Esempio 1 from RSI STOP-LOSS EA
Fig 3.1a. Esempio 1 da CLASSIC STOP-LOSS EA
Fig 3.2. Esempio 2 da RSI STOP-LOSS EA
Fig 3.2a. Esempio 2 da CLASSIC STOP-LOSS EA
Fig 3.3. Esempio 3 da RSI STOP-LOSS EA
Fig 3.3a. Esempio 3 da CLASSIC STOP-LOSS EA
Dal confronto di cui sopra, si può osservare che l'RSI STOP-LOSS EA ha fatto un ottimo lavoro evitando di essere braccato dal mercato rispetto al classico Stop-Loss impostato sul grafico di azione del prezzo.
Test di redditività
Ora è il momento di porre la grande domanda 'È redditizio?'. Poiché l'EA RSI STOP-LOSS ha fatto un ottimo lavoro nell'evitare la caccia allo stop loss, deve essere redditizio e avere anche un tasso di vincita più elevato perché pochi stop loss verrebbero attivati rispetto al metodo classico dello stop loss. Logicamente questo potrebbe essere vero. Ma per dimostrare questa teoria deve essere condotto un test.
Dati simili del test di cui sopra dovrebbero essere utilizzati per entrambi i test. Un back-test su entrambi gli EA di oltre 100 operazioni dovrebbe essere effettuato su un periodo di tempo M1. Di seguito i risultati.
RISULTATI RSI STOP-LOSS EA
Risultati | ||||||||||||
Qualità dello Storico: | 100% | |||||||||||
Barre: | 20160 | Tick: | 603385 | Simboli: | 1 | |||||||
Profitto Totale Netto: | 327.71 | Drawdown Assoluto del Saldo: | 288.96 | Drawdown Assoluto dell'Equity: | 367.85 | |||||||
Profitto Lordo | 3 525.74 | Drawdown Massimale del Saldo: | 483.90 (69.63%) | Drawdown Massimale dell'Equity: | 523.24 (71.95%) | |||||||
Perdita Lorda: | -3 198.03 | Drawdown Relativo del Saldo: | 69.63% (483.90) | Drawdown Relativo dell'Equity: | 73.65% (369.45) | |||||||
Fattore di Profitto: | 1.10 | Payoff Atteso: | 1.76 | Livello del Margine: | 317.21% | |||||||
Fattore di Recupero: | 0.63 | Rapporto di Sharpe: | 0.08 | Z-Score: | 1.68 (90.70%) | |||||||
AHPR: | 1.0070 (0.70%) | Correlazione LR: | 0.51 | Risultato OnTester: | 0 | |||||||
GHPR: | 1.0027 (0.27%) | Errore Standard LR: | 134.83 | |||||||||
Trade Totali: | 186 | Trade Short (won %): | 94 (42.55%) | Trade Long (won %): | 92 (38.04%) | |||||||
Operazioni Totali: | 372 | Trade in Profitto (% of total): | 75 (40.32%) | Trade in Perdita (% of total): | 111 (59.68%) | |||||||
Trade in Profitto più grande: | 85.26 | Trade in Perdita più grande: | -264.99 | |||||||||
Media Trade in Profitto: | 47.01 | Media Trade in Perdita: | -28.81 | |||||||||
Vittorie consecutive massime ($): | 5 (350.60) | Perdite consecutive massime ($): | 6 (-255.81) | |||||||||
Vittorie consecutive massimali (conteggio): | 350.60 (5) | Perdite consecutive massimali (conteggio): | -413.34 (5) | |||||||||
Media Vincite consecutive: | 2 | Media Perdite consecutive: | 2 | |||||||||
Fig 3.4 Linea dell'Equity per RSI Stop-loss EA
RISULTATI CLASSIC STOP-LOSS EAS
Risultati | ||||||||||||
Qualità dello Storico: | 100% | |||||||||||
Barre: | 20160 | Tick: | 603385 | Simboli: | 1 | |||||||
Profitto Totale Netto: | 3 672.06 | Drawdown Assoluto del Saldo: | 215.45 | Drawdown Assoluto dell'Equity: | 217.30 | |||||||
Profitto Lordo | 10 635.21 | Drawdown Massimale del Saldo: | 829.54 (19.27%) | Drawdown Massimale dell'Equity: | 1 159.20 (25.59%) | |||||||
Perdita Lorda: | -6 963.15 | Drawdown Relativo del Saldo: | 48.76% (270.82) | Drawdown Relativo dell'Equity: | 51.81% (303.90) | |||||||
Fattore di Profitto: | 1.53 | Payoff Atteso: | 15.97 | Livello del Margine: | 274.21% | |||||||
Fattore di Recupero: | 3.17 | Rapporto di Sharpe: | 0.16 | Z-Score: | -0.14 (11.13%) | |||||||
AHPR: | 1.0120 (1.20%) | Correlazione LR: | 0.80 | Risultato OnTester: | 0 | |||||||
GHPR: | 1.0093 (0.93%) | Errore Standard LR: | 545.00 | |||||||||
Trade Totali: | 230 | Trade Short (won %): | 107 (44.86%) | Trade Long (won %): | 123 (38.21%) | |||||||
Operazioni Totali: | 460 | Trade in Profitto (% of total): | 95 (41.30%) | Trade in Perdita (% of total): | 135 (58.70%) | |||||||
Trade in Profitto più grande: | 392.11 | Trade in Perdita più grande: | -219.95 | |||||||||
Media Trade in Profitto: | 111.95 | Media Trade in Perdita: | -51.58 | |||||||||
Vittorie consecutive massime ($): | 6 (1 134.53) | Perdite consecutive massime ($): | 9 (-211.43) | |||||||||
Vittorie consecutive massimali (conteggio): | 1 134.53 (6) | Perdite consecutive massimali (conteggio): | -809.21 (4) | |||||||||
Media Vincite consecutive: | 2 | Media Perdite consecutive: | 2 |
Fig 3.5. Equity curve for Classic Stop loss EA
Osservazione
Sebbene entrambi gli EA fossero redditizi alla fine del periodo di negoziazione, è stato osservato che il primo EA (RSI Stop-Loss EA) ha avuto meno perdite, alcune delle quali sono enormi.Fig 3.6. Perdite della Linea dell'Equity
Queste perdite potrebbero influire sulla redditività complessiva dell'EA e anche sulla corretta gestione del denaro. D'altra parte, il classico Stop loss EA ha avuto più perdite e ha anche guadagnato più soldi alla fine del periodo di trading.
Conclusione e raccomandazione
Il Money Management è davvero il Santo Graal del trading. Dall'esperimento di cui sopra, l'EA in cui la gestione del denaro è stata completamente implementata ha ottenuto il massimo profitto con maggiori perdite. Ciò è dovuto alla costanza dei trade. Tuttavia, la definizione di uno stop loss sll'RSI non fornisce completamente la stessa consistenza per il primo EA (RSI STOP-LOSS) poiché l'importo del rischio varia.
Raccomandazione
La copertura è un modo per ridurre le perdite nel primo EA (RSI STOP-LOSS). Ciò potrebbe fornire una quantità rischio più coerente e migliorare il profitto a lungo termine.Grazie per aver letto!!!
Tradotto dall’inglese da MetaQuotes Ltd.
Articolo originale: https://www.mql5.com/en/articles/9827





- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso