English Русский 中文 Deutsch 日本語
preview
Estrategias de reversión a la media con RSI2 de Larry Connors para operativa intradía

Estrategias de reversión a la media con RSI2 de Larry Connors para operativa intradía

MetaTrader 5Ejemplos |
82 0
Zhuo Kai Chen
Zhuo Kai Chen

Introducción

Larry Connors es un reconocido operador bursátil y autor, conocido principalmente por su trabajo en el ámbito del trading cuantitativo y estrategias como el RSI de dos períodos (RSI2), que ayuda a identificar condiciones de sobrecompra y sobreventa a corto plazo en los mercados. En este artículo, primero explicaremos la motivación detrás de nuestra investigación, luego recrearemos tres de las estrategias más famosas de Connors en MQL5 y las aplicaremos al trading intradía del CFD del índice S&P 500. A continuación, analizaremos los resultados de cada estrategia y presentaremos el concepto de creación de sistemas modelo en el trading. Por último, ofreceremos sugerencias para futuras mejoras de estas estrategias.


Motivaciones

Larry Connors ha desarrollado numerosas estrategias cuantitativas para el comercio minorista a lo largo de su carrera y ha documentado sus investigaciones en su sitio web. La mayoría de sus estrategias se prueban y se negocian en el mercado bursátil estadounidense utilizando marcos temporales diarios, con exhaustivas pruebas retrospectivas que demuestran su rentabilidad. Sin embargo, pocos operadores han adaptado sus ideas a marcos temporales más cortos para el trading intradía. 

Este artículo investiga este enfoque codificando tres de las estrategias más famosas de Connors en MQL5 y probándolas en el CFD US500 utilizando un marco temporal de 30 minutos. El objetivo es determinar si sus conceptos de reversión a la media pueden aportar valor en el trading de alta frecuencia, donde aumenta el ruido, pero se amplían las oportunidades de trading y el tamaño de las muestras. Seleccionamos el CFD del índice US500 para reflejar la volatilidad del mercado bursátil estadounidense, ya que Connors diseñó originalmente sus estrategias para acciones. El marco temporal de 30 minutos logra un equilibrio: reduce el ruido excesivo y, al mismo tiempo, proporciona suficiente actividad comercial. La prueba retrospectiva abarcará el último año para garantizar la actualidad de los datos.  

El cálculo del RSI es el siguiente:

Cálculo del RSI

El RSI mide el número de barras al alza y a la baja durante un periodo determinado y utiliza un método de suavizado, como una media móvil, para indicar la fuerza relativa del movimiento del mercado. Un periodo más corto hace que el RSI sea más sensible, pero también más propenso al ruido. Connors aprovecha esta alta sensibilidad utilizando un RSI de dos períodos para identificar condiciones de sobreventa o sobrecompra a corto plazo, que sirven como señales para operaciones de reversión a la media alineadas con la tendencia general.  

En comparación con las estrategias tradicionales de reversión a la media, como las bandas de Bollinger, este enfoque difiere en varios aspectos clave:

  • El RSI2 es más sencillo y rápido, y reacciona más rápidamente a las reversiones a corto plazo que el cálculo de varios pasos de las Bandas de Bollinger.
  • El RSI2 ofrece niveles claros de sobrecompra (por encima de 90) y sobreventa (por debajo de 10), a diferencia de las señales menos precisas de toque de banda de las Bandas de Bollinger.
  • El RSI2 ignora el rango de precios y el contexto de la tendencia, mientras que las Bandas de Bollinger capturan visualmente los cambios de tendencia y volatilidad.

En general, este enfoque se centra más en capturar retrocesos instantáneos que en desviaciones extremas de los precios.


Estrategia uno: RSI2 clásico de Connors

La estrategia clásica RSI2 de Connors se basa en el principio de reversión a la media, aprovechando los retrocesos temporales dentro de las tendencias establecidas. La intuición es que incluso los activos con fuertes tendencias experimentan caídas a corto plazo debido a la toma de ganancias o al ruido del mercado. Queremos emplear un RSI de dos períodos para identificar condiciones extremas de sobreventa/sobrecompra (por debajo de 5/por encima de 95) en solo dos barras de 30 minutos, y señalar posibles oportunidades de rebote. Utilizamos una media móvil para alinearnos con la tendencia general, lo que aumenta la probabilidad de que los retrocesos sean temporales y no reversiones de la tendencia.  

Esta estrategia exacta se detalla en Short-Term Trading Strategies That Work (2008) y fue rigurosamente probada por Connors y su socio de investigación César Álvarez en su momento. Nos gustaría ver si la ventaja sigue manteniéndose años después. 

Reglas de las señales:

  • Comprar cuando: RSI2 < 5, último precio de cierre > media móvil de 200 períodos y sin posiciones abiertas.
  • Vender cuando: RSI2 > 95, último precio de cierre < media móvil de 200 períodos y sin posiciones abiertas.
  • Salir de la compra cuando: el último precio de cierre sea superior a la media móvil de 5 períodos, o el último precio de cierre sea inferior a la media móvil de 200 períodos.
  • Salir de la venta cuando: el último precio de cierre sea inferior a la media móvil de 5 períodos, o el último precio de cierre sea superior a la media móvil de 200 períodos.
  • La distancia de stop loss es del 0,15 % del precio actual.

El código MQL5:

//US500 M30
#include <Trade/Trade.mqh>
CTrade trade;

input int Magic = 0;
input double lot = 0.1;

int barsTotal = 0;
int handleMa;
int handleMaFast;
int handleRsi;
const int Max = 5;
const int Min = 95;
const int MaPeriods = 200;
const int MaPeriodsFast = 5;
const double slp = 0.0015;

int OnInit()
  {
   trade.SetExpertMagicNumber(Magic);
   handleMa =iMA(_Symbol,PERIOD_CURRENT,MaPeriods,0,MODE_SMA,PRICE_CLOSE);
   handleMaFast = iMA(_Symbol,PERIOD_CURRENT,MaPeriodsFast,0,MODE_SMA,PRICE_CLOSE);
   handleRsi = iRSI(_Symbol,PERIOD_CURRENT,2,PRICE_CLOSE);
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
  }  

void OnTick()
  {
  int bars = iBars(_Symbol,PERIOD_CURRENT);
  
  if (barsTotal!= bars){
     barsTotal = bars;
     bool NotInPosition = true;
     double ma[];
     double ma_fast[];
     double rsi[];
     CopyBuffer(handleMa,BASE_LINE,1,1,ma);
     CopyBuffer(handleMaFast,BASE_LINE,1,1,ma_fast);
     CopyBuffer(handleRsi,0,1,1,rsi);
     double lastClose = iClose(_Symbol, PERIOD_CURRENT, 1);
     for(int i = PositionsTotal()-1; i>=0; i--){
         ulong pos = PositionGetTicket(i);
         string symboll = PositionGetSymbol(i);
         if(PositionGetInteger(POSITION_MAGIC) == Magic&&symboll== _Symbol){
            NotInPosition = false;
            if((PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY&&(lastClose>ma_fast[0]||lastClose<ma[0]))
            ||(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL&&(lastClose<ma_fast[0]||lastClose>ma[0])))trade.PositionClose(pos);  
            }}
     if(rsi[0]<Max&&NotInPosition&&lastClose>ma[0])executeBuy();
     if(rsi[0]>Min&&NotInPosition&&lastClose<ma[0])executeSell();
    }
 }

void executeSell() {      
       double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
       bid = NormalizeDouble(bid,_Digits);
       double sl = bid*(1+slp);
       sl = NormalizeDouble(sl, _Digits);
       trade.Sell(lot,_Symbol,bid,sl);    
}
    
void executeBuy() {
       double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
       ask = NormalizeDouble(ask,_Digits);
       double sl = ask*(1-slp);
       sl = NormalizeDouble(sl, _Digits);
       trade.Buy(lot,_Symbol,ask,sl);
}

Una operación típica sería así:

Demostración de RSI2 V1

Estos son los resultados de la prueba retrospectiva para el US500 (M30) desde el 1 de enero de 2024 hasta el 1 de marzo de 2025.

Configuración de RSI2 V1

Parámetros

Curva de equidad RSI2 V1

Resultado RSI2 V1

La frecuencia de operaciones aquí es bastante alta en comparación con otras estrategias de trading intradía, con una media de entre 1 y 2 operaciones al día y 252 días de negociación al año. Probablemente esto se deba a que el RSI2 es muy reactivo y genera señales con frecuencia, incluso con criterios de entrada extremos. El beneficio medio coincide aproximadamente con la pérdida media, lo que es sólido para una estrategia de reversión a la media en la que la tasa de ganancias suele superar el 50 %. Aunque las reglas de negociación son completamente simétricas, existe una diferencia entre las tasas de ganancia de las operaciones cortas y largas: las operaciones cortas tuvieron una tasa de ganancia más alta con menos operaciones en el mercado alcista de 2024, lo que sugiere que los retrocesos alcistas podrían ser más difíciles de aprovechar con esta estrategia.


Estrategia dos: retroceso del RSI2 (Pullback) 

La estrategia de retroceso RSI2 mejora el trading de reversión a la media al requerir varios valores extremos consecutivos del RSI. La idea es que un activo en una tendencia a largo plazo, que se enfrenta a un retroceso brusco de varias barras, está preparado para un rebote. Al utilizar el RSI2 con un umbral ligeramente superior al de la versión tradicional y combinarlo con tres valores consecutivos del RSI por encima o por debajo de ese umbral, la señal se vuelve más fuerte, lo que sugiere una capitulación y aumenta las posibilidades de una rápida reversión.

Esta estrategia se basa en el marco de Larry Connors, pero la he modificado añadiendo el requisito de múltiples lecturas extremas consecutivas del RSI e introduciendo una regla de salida inusual. Salimos de la posición una vez que supera el máximo o mínimo de la vela anterior. Esta idea de salida surge al observar que las reversiones a corto plazo suelen mostrar una barra de reversión que supera el máximo o mínimo de la vela anterior, lo que nos permite salir rápidamente y asegurar una pequeña ganancia.

Reglas de las señales:

  • Comprar cuando: el valor RSI2 de los últimos tres días sea inferior a 10, el último precio de cierre sea superior a la media móvil de 200 períodos y no haya posiciones abiertas.
  • Vender cuando: los últimos tres valores del RSI2 sean > 90, el último precio de cierre sea < la media móvil de 200 períodos y no haya posiciones abiertas.
  • Salir de la compra cuando: el último precio de cierre sea superior al máximo de la penúltima vela, o el último precio de cierre sea inferior a la media móvil de 200 períodos.
  • Salir de la venta cuando: el último precio de cierre sea inferior al mínimo de la penúltima vela, o el último precio de cierre sea superior a la media móvil de 200 períodos.
  • La distancia de stop loss es del 0,15 % del precio actual.

El código MQL5:

//US500 M30
#include <Trade/Trade.mqh>
CTrade trade;

input int Magic = 0;
input double lot = 0.1;

int barsTotal = 0;
int handleMa;
int handleRsi;
const int Max = 10;
const int Min = 90;
const int MaPeriods = 200;
const double slp = 0.0015;

int OnInit()
  {
   trade.SetExpertMagicNumber(Magic);
   handleMa =iMA(_Symbol,PERIOD_CURRENT,MaPeriods,0,MODE_SMA,PRICE_CLOSE);
   handleRsi = iRSI(_Symbol,PERIOD_CURRENT,2,PRICE_CLOSE);
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
  }
  
void OnTick()
  {
  int bars = iBars(_Symbol,PERIOD_CURRENT);
  
  if (barsTotal!= bars){
     barsTotal = bars;
     bool NotInPosition = true;
     double ma[];
     double rsi[];
     CopyBuffer(handleMa,BASE_LINE,1,1,ma);
     CopyBuffer(handleRsi,0,1,3,rsi);
     double lastClose = iClose(_Symbol, PERIOD_CURRENT, 1);
     double lastlastHigh = iHigh(_Symbol,PERIOD_CURRENT,2);
     double lastlastLow = iLow(_Symbol,PERIOD_CURRENT,2);
     for(int i = PositionsTotal()-1; i>=0; i--){
         ulong pos = PositionGetTicket(i);
         string symboll = PositionGetSymbol(i);
         if(PositionGetInteger(POSITION_MAGIC) == Magic&&symboll== _Symbol){
            NotInPosition = false;
            if((PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY&&(lastClose>lastlastHigh||lastClose<ma[0]))
            ||(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL&&(lastClose<lastlastLow||lastClose>ma[0])))trade.PositionClose(pos);  
            }}
     if(rsi[0]<Max&&rsi[1]<Max&&rsi[2]<Max&&NotInPosition&&lastClose>ma[0])executeBuy();
     if(rsi[0]>Min&&rsi[1]>Min&&rsi[2]>Min&&NotInPosition&&lastClose<ma[0])executeSell();
    }
 }

void executeSell() {      
       double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
       bid = NormalizeDouble(bid,_Digits);
       double sl = bid*(1+slp);
       sl = NormalizeDouble(sl, _Digits);
       trade.Sell(lot,_Symbol,bid,sl);    
}
    
void executeBuy() {
       double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
       ask = NormalizeDouble(ask,_Digits);
       double sl = ask*(1-slp);
       sl = NormalizeDouble(sl, _Digits);
       trade.Buy(lot,_Symbol,ask,sl);
}

Una operación típica sería así:

Demostración de RSI2 V2

Estos son los resultados de la prueba retrospectiva para el US500 (M30) desde el 1 de enero de 2024 hasta el 1 de marzo de 2025.

Configuración de RSI2 V2

Parámetros

Curva de equidad RSI2 V2

Resultado RSI2 V2

Esta estrategia opera con menos frecuencia que la anterior, principalmente porque ahora la entrada exige tres valores extremos consecutivos del RSI. La tasa de ganancias de las operaciones largas no es precisamente impresionante. Como señalamos con la última estrategia, dado que estamos especulando con pequeños rebotes (normalmente de 2 a 3 velas), es posible que no aprovechemos al máximo la gran volatilidad de la tendencia alcista en 2024. Esto podría equilibrarse si lo probamos durante varios años para recopilar datos de diferentes condiciones de mercado.


Estrategia tres: RSI2 sobrecompra/sobreventa

La estrategia de sobrecompra/sobreventa RSI2 ofrece más flexibilidad, ya que el nivel de salida se ajusta en función de la tendencia del activo. También asume que las lecturas extremas del RSI2 significan que una acción ha subido demasiado y demasiado rápido, y que es probable que se produzca una reversión, lo que permite a los operadores comprar en las caídas (sobreventa) o en los repuntes cortos (sobrecompra). A diferencia de las dos estrategias anteriores, esta tiene una salida más dinámica basada en un umbral de valor RSI ajustable. El inconveniente es que puede ser más arriesgado con riesgos de cola gruesa, ya que el RSI, incluso con una configuración de dos períodos, se suaviza y va por detrás de la evolución de los precios. Por lo tanto, si la operación se vuelve rápidamente en nuestra contra, solo el stop loss salva la posición.

Además, la media móvil de 200 períodos se utiliza normalmente para las tendencias a largo plazo en los mercados bursátiles alcistas. Por eso, en las dos estrategias anteriores, Larry las diseñó solo a largo plazo. Dado que aquí operamos con CFD intradía, he adaptado todas las estrategias para operar tanto en largo como en corto. Sin embargo, Larry mencionó esta estrategia para poder operar en ambos lados del mercado, incluyendo la venta en corto de acciones. Utiliza una media móvil de 50 períodos en lugar de 200 para filtrar las tendencias, lo que lo hace más sensible a los cambios de tendencia, ya que las ventas en corto suelen estar vinculadas a cambios rápidos más que a tendencias bursátiles a largo plazo.

Esta estrategia proviene de la investigación de Larry Connors y se destaca en sus escritos y seminarios como una forma flexible de utilizar el indicador, que se adapta tanto a las operaciones largas como a las cortas, dependiendo del mercado.

Reglas de las señales:

  • Comprar cuando: RSI2 < 5, último precio de cierre > media móvil de 50 períodos y sin posiciones abiertas.
  • Vender cuando: RSI2 > 95, último precio de cierre < media móvil de 50 períodos y sin posiciones abiertas.
  • Salir de la compra cuando: RSI2 > 70.
  • Salir vendiendo cuando: RSI2 < 30.
  • La distancia de stop loss es del 1 % del precio actual.

El código MQL5:

//US500 M30
#include <Trade/Trade.mqh>
CTrade trade;

input int Magic = 0;
input double lot = 0.1;

const int Max = 5;
const int Min = 95;
const int MaPeriods = 50;
const double slp = 0.01;

int barsTotal = 0;
int handleMa;
int handleRsi;

int OnInit()
  {
   trade.SetExpertMagicNumber(Magic);
   handleMa =iMA(_Symbol,PERIOD_CURRENT,MaPeriods,0,MODE_SMA,PRICE_CLOSE);
   handleRsi = iRSI(_Symbol,PERIOD_CURRENT,2,PRICE_CLOSE);
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
  }
  
void OnTick()
  {
  int bars = iBars(_Symbol,PERIOD_CURRENT);
  
  if (barsTotal!= bars){
     barsTotal = bars;
     bool NotInPosition = true;
     double ma[];
     double rsi[];
     CopyBuffer(handleMa,BASE_LINE,1,1,ma);
     CopyBuffer(handleRsi,0,1,1,rsi);
     double lastClose = iClose(_Symbol, PERIOD_CURRENT, 1);
     for(int i = PositionsTotal()-1; i>=0; i--){
         ulong pos = PositionGetTicket(i);
         string symboll = PositionGetSymbol(i);
         if(PositionGetInteger(POSITION_MAGIC) == Magic&&symboll== _Symbol){
            NotInPosition = false;
            if((PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY&&rsi[0]>70)
            ||(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL&&rsi[0]<30))trade.PositionClose(pos);  
            }}
     if(rsi[0]<Max&&NotInPosition&&lastClose>ma[0])executeBuy();
     if(rsi[0]>Min&&NotInPosition&&lastClose<ma[0])executeSell();
    }
 }

void executeSell() {      
       double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
       bid = NormalizeDouble(bid,_Digits);
       double sl = bid*(1+slp);
       sl = NormalizeDouble(sl, _Digits);
       trade.Sell(lot,_Symbol,bid,sl);    
}
    
void executeBuy() {
       double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
       ask = NormalizeDouble(ask,_Digits);
       double sl = ask*(1-slp);
       sl = NormalizeDouble(sl, _Digits);
       trade.Buy(lot,_Symbol,ask,sl);
}

Una operación típica sería así:

Demostración de RSI2 V3

Estos son los resultados de la prueba retrospectiva para el US500 (M30) desde el 1 de enero de 2024 hasta el 1 de marzo de 2025.

Configuración de RSI2 V3

Parámetros

Curva de equidad RSI2 V3

Resultado RSI2 V3

En comparación con las dos estrategias anteriores, esta muestra una tasa de ganancias más alta, pero también una mayor caída de la equidad flotante, como se puede ver en las líneas verdes de la curva de equidad. Esto se relaciona con el riesgo de cola gruesa mencionado anteriormente y la necesidad de un stop loss más amplio de lo habitual. El riesgo de cola gruesa describe la mayor probabilidad de que se produzcan eventos extremos en una distribución, lo que puede causar pérdidas sustanciales en una estrategia de reversión a la media que espera que los precios vuelvan a su promedio histórico. En estas estrategias, las grandes fluctuaciones inesperadas de los precios, más frecuentes en las distribuciones de cola gruesa, pueden impedir la reversión prevista y provocar una amplificación de los riesgos o las pérdidas en comparación con lo que predeciría una distribución normal. Aunque esta estrategia cuenta con un factor de beneficio más alto, es necesario abordar la reducción para convertirla en una estrategia práctica y negociable.

Distribución de cola gruesa


Reflexiones

Si echamos la vista atrás a las tres estrategias que hemos visto, son bastante similares en cuanto a código y reglas de señal. Esto se debe principalmente a que todos ellos proceden del sistema modelo «RSI2 de reversión a la media». Una vez que se dispone de un sistema de modelos sólido, modificar algunas reglas para elaborar diferentes estrategias resulta bastante sencillo. Analicemos qué es un sistema modelo frente a una estrategia única en el trading con CTA.

Una estrategia única está vinculada a un plazo y un activo específicos, con reglas de señal detalladas y que no se pueden cambiar fácilmente. Sin embargo, un sistema modelo es más bien un punto de partida amplio para encontrar su ventaja basada en conceptos históricamente probados como la reversión a la media, el seguimiento de tendencias, el impulso o la ruptura. A partir de ahí, un sistema modelo específico combina fuentes de señales clave con ese gran concepto, como la reversión a la media RSI2 de este artículo. Los sistemas modelo son más flexibles en cuanto a plazos, activos y reglas de señalización, lo que facilita la elaboración de múltiples estrategias y la creación de una cartera diversificada de manera eficiente.

Para poner en marcha un sistema modelo y desarrollar estrategias a partir de él, es recomendable:

  • Calcule todas las señales o distancias de precios de forma estacionaria normalizándolas, o utilice porcentajes de precios para que sean más escalables entre diferentes activos y marcos temporales.
  • Evite codificar de forma rígida el periodo de tiempo y el símbolo en su código. Utilice _Symbol y PERIOD_CURRENT para realizar ajustes automáticos durante las pruebas retrospectivas en diversas condiciones.
  • Divida una estrategia en reglas claras de entrada y salida, enuméralas y considere reglas alternativas que sigan captando la misma motivación impulsada por la ventaja.
  • Encapsula el código reutilizable en funciones para mantenerlo ordenado y eficiente, lo que facilitará el ajuste posterior de las reglas de las señales.

Ahora que comprendemos el concepto de utilizar el razonamiento en modelos en lugar de en estrategias concretas, aquí hay algunas sugerencias para mejorar en el futuro la utilización del modelo de reversión a la media RSI2 con el fin de crear una estrategia más negociable.

  • Prueba las estrategias en distintos marcos temporales y activos distintos al US500 M30 para averiguar si hay condiciones mejores que las que estamos utilizando actualmente. Asegúrese de realizar todos los descubrimientos en los datos de la muestra para evitar el sesgo de anticipación.
  • Cambia los indicadores de impulso y tendencia, como sustituir el RSI por el ROC o el VIX, o cambiar las medias móviles por un filtro de Kalman.
  • Combine las reglas de entrada y salida con otras estrategias de reversión a la media, como el uso de Bandas de Bollinger para las entradas, sin dejar de seguir la regla de salida de este artículo.

Estas son las técnicas clave en las que se basan los investigadores cuantitativos con experiencia en CTA para desarrollar estrategias de forma más eficaz. Crear nuevas ideas estratégicas nunca ha consistido en inventar algo totalmente inédito. Se trata más bien de ajustar o combinar modelos existentes y probados que ya existen, pero que por sí solos no son lo suficientemente rentables. Esta parte del trabajo es lo suficientemente abstracta como para que las máquinas no puedan hacerse cargo, pero lo suficientemente estructurada como para que las personas sigan extrayendo datos de forma metódica siguiendo un proceso.


Conclusión

En este artículo, comenzamos explicando por qué decidimos crear estrategias intradía a partir del concepto de reversión a la media del RSI2. A continuación, repasamos tres estrategias muy conocidas de Larry Connors, detallando el razonamiento detrás de sus reglas de señal, explicando las condiciones exactas de entrada y salida, y realizando pruebas retrospectivas en MetaTrader 5. A continuación, presentamos la idea de elaborar estrategias a partir de sistemas modelo, ofrecimos consejos prácticos para aplicar este enfoque y sugerimos formas de desarrollar estrategias de reversión a la media RSI2 más rentables en el futuro. En definitiva, este artículo establece un marco claro para los operadores: tomar una estrategia popular y disponible públicamente en línea, modificarla ligeramente y probarla en MQL5 para perfeccionar aún más el concepto. Los operadores pueden aprender fácilmente este proceso y aumentar la eficiencia en el desarrollo de sus estrategias.

Tabla de archivos

Nombre del archivo Uso del archivo
RSI2_V1.mq5 EA de la primera estrategia.
RSI2_V2.mq5 EA de la segunda estrategia.
RSI2_V3.mq5 EA de la tercera estrategia.

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/articles/17636

Archivos adjuntos |
RSI2.zip (3.1 KB)
Redes neuronales en el trading: Detección de anomalías en el dominio de la frecuencia (Final) Redes neuronales en el trading: Detección de anomalías en el dominio de la frecuencia (Final)
Seguimos trabajando en la aplicación de los planteamientos del framework CATCH, que combina la transformada de Fourier y el mecanismo de parcheo de frecuencias para posibilitar una detección precisa de las anomalías del mercado. En este artículo, finalizaremos nuestra propia visión de los enfoques propuestos y probaremos los nuevos modelos con datos históricos reales.
Redes neuronales en el trading: Detección de anomalías en el dominio de la frecuencia (CATCH) Redes neuronales en el trading: Detección de anomalías en el dominio de la frecuencia (CATCH)
El framework CATCH combina la transformada de Fourier y el parcheo de frecuencias para detectar con precisión anomalías del mercado inaccesibles a los métodos tradicionales. En el presente artículo, analizaremos cómo este enfoque revela patrones ocultos en los datos financieros.
Automatización de estrategias de trading en MQL5 (Parte 13): Algoritmo de trading para patrón Hombro-Cabeza-Hombro Automatización de estrategias de trading en MQL5 (Parte 13): Algoritmo de trading para patrón Hombro-Cabeza-Hombro
En este artículo automatizamos el patrón Hombro-Cabeza-Hombro en MQL5. Analizamos su arquitectura, implementamos un EA para detectarlo y operar, y realizamos una prueba retrospectiva de los resultados. El proceso revela un algoritmo de negociación práctico con margen para mejoras.
Introducción a MQL5 (Parte 14): Guía para principiantes sobre cómo crear indicadores personalizados (III) Introducción a MQL5 (Parte 14): Guía para principiantes sobre cómo crear indicadores personalizados (III)
Aprenda a construir un indicador de patrón armónico en MQL5 utilizando objetos gráficos. Descubra cómo detectar puntos de oscilación, aplicar retrocesos de Fibonacci y automatizar el reconocimiento de patrones.