Stoploss de PriceAction Fijo o RSI fijo (Smart StopLoss)
vwegba | 10 diciembre, 2021
Introducción
La búsqueda de un grial en el trading me ha llevado a realizar esta investigación. El stop-loss es la herramienta comercial más importante cuando hablamos de gestión de dinero. La gestión de dinero es una de las diferentes formas en las que el tráder puede ganar dinero en el mercado y demostrar su consistencia a largo plazo. Como se mencionó anteriormente, la gestión de dinero está fuertemente vinculada con la relación stop-loss y riesgo-recompensa. La relación 1:1.5R (Riesgo:Recompensa) tiende a poseer una factor de beneficio más alta en comparación con el otro factor de beneficio de Riesgo:Recompensa, pero la relación 1:>1.9R (Riesgo: Recompensa) la mayoría de las veces tiende a ser más rentable y mantiene a los tráders con beneficio constante durante un largo periodo temporal (Santo Grial). Esta estrategia comercial del “Santo Grial” tiene un lado negativo. En una situación ideal, comerciar con 1:>1.9R (Riesgo:Recompensa) sería rentable si, de 10 transacciones (de 1 pip cada una), se perdieran 6 transacciones (6 pips) y se ganaran 4 (8 pips). Esto significaría que tenemos un beneficio de 2 pips. Aplicado a la vida real, puede que no sea del todo cierto. Un factor importante que contribuye a esto es un término conocido como “Stop-loss Hunt” o “Caza de Stop-loss”. En la caza de stop-loss, una transacción alcanza su stop-loss para obtener liquidez y luego se mueve en la dirección que hemos predicho. La caza de stop-loss es un problema importante en el trading y la gestión de dinero. También tiene un efecto psicológico en los tráders (en su mayoría, en los tráders nuevos).
Fig 1.1 Caza de Stop-loss
La caza de stop-loss se vincula principalmente con stop-loss fijos o dinámicos en la acción del precio o en el gráfico de velas. Si no hay stop-loss en el gráfico de acción del precio, no se dará la caza de stop-loss. Pero un stop-loss cero equivale a la probabilidad de arruinar nuestra cuenta comercial (que es igual a uno (1))
Stop Loss de RSI
El oscilador RSI es una réplica del gráfico de líneas de acción del precio dibujado en una ventana de límite de 100 a 0
Fig 1.2 RSI y Gráfico de Líneas
Si el indicador RSI y el gráfico de líneas resultan muy semejantes, entonces el uso del indicador RSI como stop-loss inteligente podría reducir el riesgo de caza de stop-loss.
Meta:
Mi meta aquí es comprobar si el uso de stop-loss de RSI podría reducir la caza de stop-loss y, sobre todo, si sería rentable a largo plazo.
Objetivo:
Se compararán dos estrategias iguales, una con un stop-loss establecido en el gráfico de acción del precio y otra con un stop-loss establecido en el indicador RSI
Estrategia y Código
Stop Loss clásico en el gráfico de acción del precio
Para el primer EA con stop-loss fijo en la acción del precio. A continuación, se muestran los requisitos de la estrategia.
Parámetros | Descripción |
---|---|
Indicador utilizado | MACD (12,26,9) |
Indicador utilizado | Moving Average (200) |
Indicador utilizado | Moving Average (50) |
Indicador utilizado | ATR (5) |
Marco Temporal | 1 min |
Entrada para Buy | Si la Media Móvil (50) está por encima de la Media Móvil (200) y la línea de MACD es mayor que la línea de señal cuando ambas líneas (MACD y la línea de señal) están por debajo de cero |
Entrada para Sell | Si la Media Móvil (50) está por debajo de la Media Móvil (200) y la línea de MACD es menor que la línea de señal cuando ambas líneas (MACD y la línea de señal) están por debajo de cero |
Salida | Take Profit y Stop Loss (1:2R). La condición del stop-loss para la compra es la más baja de las veinte (20) velas después de la Entrada, menos el valor ATR (5) Y la condición del stop-loss para la venta es la más alta de las veinte (20) velas después de la Entrada, más el valor ATR (5)
|
A continuación, mostramos la representación gráfica.
Fig 2.1 Entrada de Buy
Fig 2.2 Entrada de Sell
Código
#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
Otras variables declaradas
double pipValue = 0.0;// double Balance; // For the Current Balance
La variable donde se ha asignado a cada manejador en la función 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); }
Más abajo, mostramos un código que indica cómo funciona la estrategia
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); } }
Entrada (Buy y Sell)
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 }
A partir de los códigos anteriores, llamamos a dos métodos que son stoplossforSell(int num) y stoplossforBuy (int num). Estos dos métodos son específicos para identificar la vela más alta y la más baja del número asignado, respectivamente, después de activarse la entrada comercial. Por ejemplo, stoplossforSell(20) retorna la vela más alta entre las 20 velas anteriores a la entrada.
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; }
Este asesor introduce las transacciones una a una, comprobando si hay una transacción abierta o no. Si no las hay, se llama al método de estrategia.
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 de RSI en el indicador RSI
Para el segundo asesor con stop-loss fijo en el indicador RSI. A continuación, se muestran los requisitos de la estrategia.
Parámetros | Descripción |
Indicador utilizado | MACD (12,26,9) |
Indicador utilizado | Moving Average (200) |
Indicador utilizado | Moving Average (50) |
Indicador utilizado | ATR (5) |
Marco Temporal | 1 min |
Entrada para Buy | Si la Media Móvil (50) está por encima de la Media Móvil (200) y la línea de MACD es mayor que la línea de señal cuando ambas líneas (MACD y la línea de señal) están por debajo de cero |
Entrada para Sell | Si la Media Móvil (50) está por debajo de la Media Móvil (200) y la línea de MACD es menor que la línea de señal cuando ambas líneas (MACD y la línea de señal) están por debajo de cero |
Salida | Take profit. La condición de stop-loss para la compra es la más baja de veinte (10) valores RSI después de la entrada Y la condición de stop-loss para la venta es la más alta de veinte (10) valores RSI después de la entrada
Si el RSI cruza el RSI más alto o más bajo, la transacción se cierra.
|
La línea se dibuja en el stop-loss de RSI para que la visualización resulte más fácil
Fig 2.3 Transacción Buy con stop-loss en RSI
La transacción se cierra cuando el valor actual de RSI es menor que la línea de Stop Loss en la ventana de RSI.
Fig 2.4 Transacción Sell con stop-loss en RSI
La transacción se cierra cuando el valor actual de RSI es mayor que la línea de Stop Loss en la ventana de RSI.
Código
La primera parte del código está principalmente dedicada a la declaración de variables y los datos de entrada. Es similar al primer indicador con algunas adiciones que se muestran más abajo
int RSI; input int rsi = 5; // RSI VAlue double lowestrsiValue = 100; double highestrsiValue = 0.0;
De forma similar, el método onint() también es semejante, con algunas adiciones que se muestran a continuación
int OnInit() { //RSI RSI = iRSI(_Symbol,_Period,rsi,PRICE_CLOSE); }
El código de la estrategia es el mismo que el anterior. Pero la entrada tanto para la compra como para la venta no tiene stop-loss porque usaremos el nivel de RSI como stop-loss. A continuación, mostramos el código de las entradas.
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 final del código, que se diferencia del asesor anterior, abarca los métodos que obtienen el valor más bajo y más alto de RSI. Esta parte se llama desde el método de Entradas anterior, y usa los datos para dibujar una línea en el punto de RSI más bajo o más alto.
Nota: la línea dibujada se elimina en el método de estrategia cuando no hay una posición abierta
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; }
####
Ahora que los asesores están configurados y listos, podemos comenzar a probar ambos asesores para obtener el resultado necesario.
Prueba y resultado
Prueba de caza de Stop-Loss
En este apartado, mostraremos la prueba y el resultado obtenido de la simulación. La primera prueba que debemos realizar consiste en determinar si el RSI STOP-LOSS EA puede REDUCIR el problema de la caza de stop-loss durante el trading. Lo compararemos con el CLASSICAL STOP-LOSS EA.
Las pruebas se realizarán en el marco temporal de 1 minuto.
DATOS DE ENTRADA DE RSI STOP-LOSS EA
Experto: | MACD_Smart_Stoploss | |||||||||||
Símbolo: | Volatility 10 Index | |||||||||||
Periodo: | M1 (2021.07.01 - 2021.07.15) | |||||||||||
Inputs: | afi=0 | |||||||||||
risk=0.05 | ||||||||||||
atrValue=20 | ||||||||||||
rsi=14 | ||||||||||||
ai=0 | ||||||||||||
movAvgTrend=200 | ||||||||||||
movAvgDirection=50 | ||||||||||||
i=0 | ||||||||||||
fast=12 | ||||||||||||
slow=26 | ||||||||||||
signal=9 | ||||||||||||
Bróker: | Deriv Limited | |||||||||||
Divisa: | USD | |||||||||||
Depósito Inicial: | 500.00 | |||||||||||
Apalancamiento: | 1:500 |
DATOS DE ENTRADA DE CLASSIC STOP-LOSS EA
Experto: | MACD_Cross_Stoploss | |||||||||||
Símbolo: | Volatility 10 Index | |||||||||||
Periodo: | M1 (2021.07.01 - 2021.07.15) | |||||||||||
Inputs: | 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 | ||||||||||||
Bróker: | Deriv Limited | |||||||||||
Divisa: | USD | |||||||||||
Depósito Inicial: | 500.00 | |||||||||||
Apalancamiento: | 1:50 |
RESULTADOS
A continuación, mostraremos una representación gráfica de las transacciones realizadas por ambos asesores. Hemos tomado un total de 3 muestras comerciales de cada uno.
Fig 3.1 Muestra 1 de RSI STOP-LOSS EA
Fig 3.1a Muestra 1 de CLASSIC STOP-LOSS EA
Fig 3.2 Muestra 2 de RSI STOP-LOSS EA
Fig 3.2a Muestra 2 de CLASSIC STOP-LOSS EA
Fig 3.3 Muestra 3 de RSI STOP-LOSS EA
Fig 3.3a Muestra 3 de CLASSIC STOP-LOSS EA
Por la comparación anterior, podemos ver que el RSI STOP-LOSS EA ha hecho un gran trabajo para evitar ser cazado por el mercado en comparación con el clásico Stop-Loss que se establece en el gráfico de acción del precio.
Prueba de rentabilidad
Ahora ha llegado el momento de hacernos la gran pregunta: "¿es esto rentable?". Como el RSI STOP-LOSS EA ha hecho un gran trabajo al evitar la caza de stop-loss, debería resultar rentable y también tener un factor de beneficio más alto, porque se activarían pocos stop-loss en comparación con el método clásico de stop-loss. Lógicamente, esto podría ser cierto. Pero para comprobar esta teoría, deberíamos realizar una prueba.
Para ambas pruebas se utilizarían datos similares a los de la prueba anterior, En ambos asesores realizaríamos un backtest de más de 100 transacciones en el marco temporal de 1 minuto. A continuación, mostramos los resultados
RESULTADOS DE RSI STOP-LOSS EA
Resultados | ||||||||||||
Calidad de la Historia: | 100% | |||||||||||
Barras: | 20160 | Ticks: | 603385 | Símbolos: | 1 | |||||||
Beneficio Neto Total: | 327.71 | Reducción Absoluta del Balance: | 288.96 | Reducción Absoluta de la Equidad: | 367.85 | |||||||
Beneficio Bruto: | 3 525.74 | Reducción Máxima del Balance: | 483.90 (69.63%) | Reducción Máxima de la Equidad: | 523.24 (71.95%) | |||||||
Pérdidas Brutas: | -3 198.03 | Reducción Relativa del Balance: | 69.63% (483.90) | Reducción Relativa de la Equidad: | 73.65% (369.45) | |||||||
Factor de Beneficio: | 1.10 | Beneficio Esperado: | 1.76 | Nivel de Margen: | 317.21% | |||||||
Factor de Recuperación: | 0.63 | Ratio de Sharpe: | 0.08 | Puntuación Z: | 1.68 (90.70%) | |||||||
AHPR: | 1.0070 (0.70%) | Correlación LR: | 0.51 | Resultado OnTester: | 0 | |||||||
GHPR: | 1.0027 (0.27%) | Error Estándar LR: | 134.83 | |||||||||
Transacciones Totales: | 186 | Transacciones cortas (% ganadoras): | 94 (42.55%) | Transacciones largas (% ganadoras): | 92 (38.04%) | |||||||
Transacciones Totales: | 372 | Transacciones rentables (% del total): | 75 (40.32%) | Transacciones no rentables (% del total): | 111 (59.68%) | |||||||
Transacción rentable más larga: | 85.26 | Transacción no rentable más larga: | -264.99 | |||||||||
Transacción rentable media: | 47.01 | Transacción no rentable media: | -28.81 | |||||||||
Máximo de ganancias consecutivas ($): | 5 (350.60) | Máximo de pérdidas consecutivas ($): | 6 (-255.81) | |||||||||
Beneficio máximo consecutivo (cuenta): | 350.60 (5) | Pérdidas máximas consecutivas (cuenta): | -413.34 (5) | |||||||||
Media de ganancias consecutivas: | 2 | Media de pérdidas consecutivas: | 2 | |||||||||
Fig 3.4 Curva de equidad para RSI Stop-loss EA
RESULTADOS DE CLASSICAL STOP-LOSS EA
Resultados | ||||||||||||
Calidad de la Historia: | 100% | |||||||||||
Barras: | 20160 | Ticks: | 603385 | Símbolos: | 1 | |||||||
Beneficio Neto Total: | 3 672.06 | Reducción Absoluta del Balance: | 215.45 | Reducción Absoluta de la Equidad: | 217.30 | |||||||
Beneficio Bruto: | 10 635.21 | Reducción Máxima del Balance: | 829.54 (19.27%) | Reducción Máxima de la Equidad: | 1 159.20 (25.59%) | |||||||
Pérdidas Brutas: | -6 963.15 | Reducción Relativa del Balance: | 48.76% (270.82) | Reducción Relativa de la Equidad: | 51.81% (303.90) | |||||||
Factor de Beneficio: | 1.53 | Beneficio Esperado: | 15.97 | Nivel de Margen: | 274.21% | |||||||
Factor de Recuperación: | 3.17 | Ratio de Sharpe: | 0.16 | Puntuación Z: | -0.14 (11.13%) | |||||||
AHPR: | 1.0120 (1.20%) | Correlación LR: | 0.80 | Resultado OnTester: | 0 | |||||||
GHPR: | 1.0093 (0.93%) | Error Estándar LR: | 545.00 | |||||||||
Transacciones Totales: | 230 | Transacciones cortas (% ganadoras): | 107 (44.86%) | Transacciones largas (% ganadoras): | 123 (38.21%) | |||||||
Transacciones Totales: | 460 | Transacciones rentables (% del total): | 95 (41.30%) | Transacciones no rentables (% del total): | 135 (58.70%) | |||||||
Transacción rentable más larga: | 392.11 | Transacción no rentable más larga: | -219.95 | |||||||||
Transacción rentable media: | 111.95 | Transacción no rentable media: | -51.58 | |||||||||
Máximo de ganancias consecutivas ($): | 6 (1 134.53) | Máximo de pérdidas consecutivas ($): | 9 (-211.43) | |||||||||
Beneficio máximo consecutivo (cuenta): | 1 134.53 (6) | Pérdidas máximas consecutivas (cuenta): | -809.21 (4) | |||||||||
Media de ganancias consecutivas: | 2 | Media de pérdidas consecutivas: | 2 |
Fig 3.5 Curva de equidad para Classical Stop loss EA
Observación
Aunque ambos asesores han resultado rentables al final del periodo comercial, hemos observado que el primer asesor (RSI Stop -Loss EA) ha tenido menos pérdidas en las que algunas resultan pérdidas enormes.Fig 3.6 Pérdidas de la curva de equidad
Estas pérdidas pueden influir en la rentabilidad general del asesor y también en la gestión adecuada del dinero. Por otro lado, el EA Stop Loss clásico tuvo más pérdidas y también ganó una mayor cantidad de dinero al final del periodo comercial.
Conclusión y recomendación
La gestión de dinero es de hecho el santo grial del trading. Partiendo del experimento anterior, el asesor en el que se ha implementado por completo la gestión de dinero ha obtenido el mayor benefico con mayor pérdidas. Esto se debe a la consistencia comercial. No obstante, definir un stop loss en el RSI no ofrece la misma consistencia para el primer asesor (RSI STOP-LOSS), ya que varía la cantidad del riesgo.
Recomendación
La cobertura es una buena forma de reducir las pérdidas en el primer asesor (RSI STOP-LOSS). Esto podría ofrecer una cantidad de riesgo más consistente y mejorar el beneficio a largo plazo.¡Gracias por su atención!