English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Aprendiendo a diseñar un sistema comercial basado en RSI

Aprendiendo a diseñar un sistema comercial basado en RSI

MetaTrader 5Trading | 8 junio 2022, 16:09
1 820 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introducción


Seguro que todos los que están relacionados de alguna forma con el mundo del trading han escuchado alguna vez la frase "Trend is your friend" (La tendencia es tu amiga). Esta aseveración implica comerciar con la tendencia y no comerciar contra la tendencia. Aún así, a veces podemos operar contra la tendencia, por ejemplo, durante las correcciones. Si no sabe qué son las correcciones, no hay problema, hablaremos sobre ellas y sobre la tendencia en las siguientes líneas. Sin embargo, antes deberá comprender que, incluso si opera en contra de la tendencia, hay que tener cuidado y administrar rigurosamente los riesgos, ya que tales operaciones conllevarán un mayor número de estos.

Aquí hablaremos de las tendencias que pueden existir en los mercados. Ya hemos hablado de ellas en varios artículos, y los motivos de que las mencionemos tan a menudo son los siguientes:

  • Es importante determinar el movimiento del mercado, ya que tomaremos nuestras decisiones según este.
  • La repetición ayuda a profundizar la comprensión y asimilar diferentes aspectos del problema, especialmente cuando se trata en diferentes contextos.
  • Quizás esté leyendo mi artículo por primera vez. Por lo tanto, querríamos ofrecer una imagen completa del tema de este artículo en particular.

En primer lugar, es necesario determinar la dirección del mercado (dirección de la tendencia). Antes de aprender a hacer esto, deberemos comprender lo que significa.

Si observamos el mercado, veremos que se pueden dar tres direcciones diferentes en el mercado dependiendo de la acción del precio: tendencia alcista, tendencia bajista y tendencia lateral. Cada tipo de tendencia del mercado se caracteriza por la actividad controladora de ciertos participantes del mismo.

  • Tendencia alcista:

Durante esta tendencia, los compradores controlan el mercado la mayor parte del tiempo, lo cual conduce a precios más altos. En este tipo de mercado, el precio sube, haciendo mínimos más altos y máximos más altos.

Tendencia alcista

  • Tendencia bajista:

Durante esta tendencia, los vendedores controlan el mercado la mayor parte del tiempo, lo cual provoca el descenso de los precios. En este tipo de mercado, el precio desciende, haciendo mínimos más bajos y máximos más bajos.

Tendencia bajista

  • Movimiento lateral:

El movimiento lateral indica un equilibrio entre compradores y vendedores: ninguno de ellos prevalece claramente. Entenderemos por movimiento lateral cualquier movimiento que no se pueda determinar como tendencia alcista ni bajista. A continuación, mostraremos algunos ejemplos de dichos movimientos laterales.

Movimiento lateral 1

Movimiento lateral 2

Movimiento lateral 3

Movimiento lateral 4

Después de determinar la tendencia, deberemos averiguar si la tendencia es fuerte o débil. Podremos determinar esto con la ayuda del impulso (momentum). El impulso es un concepto usado para medir la velocidad de un movimiento o tendencia del mercado. Este concepto resulta esencial en el comercio y el análisis de los movimientos del mercado. Hay muchas herramientas basadas en el impulso. En este artículo, veremos una de las más populares y utilizadas: el indicador del índice de fuerza relativa o RSI. Asimismo, aprenderemos a usar esta herramienta de manera fácil y efectiva, y crearemos un sistema comercial basado en las estrategias RSI. Temas que trataremos en este artículo:

En estos apartados, aprenderemos mucho sobre esta útil herramienta. Analizaremos el indicador RSI y cómo calcularlo. También nos familiarizaremos con ideas relativas al concepto del indicador. Todo esto se encontrará en la sección "Definición de RSI". Luego analizaremos estrategias basadas en el indicador RSI que pueden resultar útiles en el comercio. En la sección "Esquema del sistema de la estrategia RSI", estudiaremos los esquemas de la estrategia RSI y nos prepararemos para la posterior codificación. Este esquema nos permitirá determinar visualmente qué debe hacer el programa. Finalmente, veremos cómo escribir un programa basado en RSI para que el comercio sea más fácil y eficiente.

En este y todos los demás artículos, usamos la plataforma comercial MetaTrader 5 y el editor de lenguaje integrado MetaQuotes Language Editor: todo el código del programa se escribirá con este editor.

Si aún no ha instalado la plataforma MetaTrader 5, podrá descargarla a través del enlace: https://www.metatrader5.com/es/download

Para obtener más información, lea el anterior artículo de esta serie: "Aprenda por qué y cómo diseñar su sistema de trading algorítmico"

Nota. Todo el contenido de este artículo tiene fines exclusivamente educativos. El lector deberá entender que cualquier cosa que ponga en práctica usando como base este artículo, se realizará por su propia cuenta y riesgo: el autor no garantiza ningún resultado.

Bien, vamos a abordar el tema de hoy, un nuevo bloque de conocimiento que nos ayudará mejorar nuestra forma de comerciar.


Definición de RSI


RSI (Índice de Fuerza Relativa) es un indicador creado por Wells Wilder. El objetivo principal del indicador es medir la fuerza actual de un instrumento comercial en comparación con su historia. Para ello, el indicador compara los cambios de precio en los días de crecimiento y los días de caída.

El indicador RSI es un impulso, muestra la velocidad de un movimiento alcista o bajista del mercado. Se trata de un oscilador de nivel limitado: sus valores oscilan entre los niveles 0 y 100. Es un indicador adelantado porque puede superar a los precios y mostrar un movimiento potencial antes de que este suceda. RSI se desarrolló como una solución a dos de los principales problemas de los indicadores de impulso: la capacidad de absorber movimientos repentinos o erráticos y la capacidad de limitar los valores a un rango de 0 a 100.

RSI muestra:

  • Los movimientos potenciales que no se pueden ver analizando solo el gráfico.
  • Los niveles de apoyo y resistencia
  • Las señales de divergencia que pueden indicar reversiones son divergencias entre el valor RSI y el precio.
  • Las fluctuaciones por encima del nivel 70 y por debajo del nivel 30, que pueden advertir sobre posibles reversiones.

El cálculo y construcción del indicador RSI consta de los siguientes pasos:

  1. Encontramos movimientos positivos o ascendentes a partir de 14 cierres
  2. Encontramos movimientos negativos o bajistas a partir de 14 cierres
  3. Promedio (AVG) de 14 movimientos positivos = Suma de movimientos positivos / 14
  4. AVG de 14 movimientos negativos = Suma de movimientos negativos / 14
  5. RS = AVG de 14 movimientos positivos / Promedio de 14 movimientos negativos
  6. RSI = 100 - [100 /(1+RS)]

Vamos a analizar un ejemplo de cálculo para comprender mejor.

  • Digamos que tenemos estos cierres de 14 días:

Día Precio
1 100
2 105
3 120
4 110
5 100
6 115
7 120
8 130
9 125
10 135
11 140
12 130
13 140
14  145


Para estos datos, el cálculo de RSI será el siguiente:

Primero, calculamos el movimiento positivo y el movimiento negativo restando cada día al anterior:

Día Precio  Valores positivos Movimientos negativos 
1 100  0  0
2 105  5  0
3 120  15  0
4 110  0  10
5 100  0  10
6 115  15  0
7 120  5  0
8 130  10  0
9 125  0  5
10 135  10  0
11 140  5  0
12 130  0  10
13 140  10  0
14  145  5  0
    Luego calculamos la suma de los movimientos positivos y negativos durante 14 días:
        • Suma de movimientos positivos = 80
          • Suma de movimientos negativos = 35
          • Después calculamos el valor promedio durante 14 días para los movimientos positivos y negativos:

                • AVG de 14 movimientos positivos = Suma de movimientos positivos / 14
                  • AVG de 14 movimientos positivos = 80 / 14 = 5.7
                      • AVG de 14 movimientos negativos = Suma de movimientos negativos / 14
                        • AVG de 14 movimientos negativos = 35 / 14 = 2.5

                          • Luego calculamos RS (fuerza relativa):
                            • RS = AVG de 14 movimientos positivos / AVG de 14 movimientos negativos
                            • RS = 5,7 / 2,5 = 2,29

                          • A continuación, calculamos el propio RSI:
                            • RSI = 100 - [100 / (1 + RS)]
                            • RSI = 100 - [100 / (1 + 2,29)] = 69,57

                          Como resultado, obtenemos:

                          8 - Ejemplo de cálculo del indicador RSI

                          Estos son los pasos para calcular el primer valor RSI. A continuación, mostraremos cómo se calcula el indicador después del primer cálculo:

                          • Cálculo del siguiente movimiento promedio:
                            • Siguiente movimiento positivo promedio = [{(Movimiento positivo promedio anterior * 13) + Movimiento positivo de hoy (si lo hay)}/14]

                            • Siguiente movimiento negativo promedio = [{(Movimiento negativo promedio anterior * 13) + Movimiento negativo de hoy (si lo hay)}/14]
                          • Encontramos la fuerza relativa de RS:
                            • RS = Siguiente movimiento positivo promedio / Siguiente movimiento negativo promedio
                          • Encontrar RSI:
                            • RSI = 100 - [ 100 / (1+ RS)]

                          Estos son los pasos de cálculo del indicador RSI. Sin embargo, no necesitamos hacer todos estos cálculos manualmente; esta información se ofrece aquí solo para comprender mejor la esencia de RSI. Esta información puede darnos una mejor idea de cómo usar el indicador para obtener mejores resultados comerciales. La plataforma MetaTrader ya tiene un indicador RSI incorporado listo para usar, por lo que no será necesario calcularlo. Podemos iniciar el indicador incorporado directamente en el gráfico y comenzar a utilizarlo. A continuación, mostraremos cómo hacerlo.

                          Siga unos pocos pasos en el terminal comercial MetaTrader 5:

                           9- Iniciando RSI



                           10- Iniciando RSI 1

                          Una vez seleccionemos el Índice de Fuerza Relativa (RSI) de la lista de osciladores, aparecerá la siguiente ventana de opciones del indicador:

                          11- Iniciando RSI 2

                          1. Periodo RSI
                          2. Tipo de precio utilizado para calcular el indicador
                          3. Color de línea RSI
                          4. Estilo de línea RSI
                          5. Grosor de la línea


                          Seleccione las opciones deseadas y clique en Aceptar. El indicador RSI se mostrará en el gráfico:

                          12- Iniciando RSI 3

                          El indicador RSI se muestra en una ventana aparte, debajo del gráfico principal. Esta ventana muestra cuatro niveles de precios que representan lo siguiente:

                          • El nivel 0 es el valor mínimo del rango de lecturas del indicador.
                          • El nivel 100 es el valor máximo del rango de lecturas del indicador.
                          • El nivel 30 es la zona de sobreventa.
                          • El nivel 70 es la zona de sobrecompra.

                          Hay un nivel más que no se muestra por defecto: el nivel a la mitad del rango, que es igual a 50.

                           

                          Estrategia RSI

                          En esta parte, veremos cómo usar el indicador RSI (índice de fuerza relativa). Para ello, usaremos una estrategia sencilla que diferirá según la dirección del mercado.

                          Veamos cómo podemos usar RSI durante una tendencia alcista, bajista y lateral. El uso específico está directamente relacionado con la zona de sobrecompra, el rango medio y la zona de sobreventa. En primer lugar, deberemos comprender cómo se comporta RSI durante los diferentes tipos de tendencia en el mercado, ya que es obvio que su comportamiento difiere según el movimiento del mercado. Después de ello, podremos definir estrategias sencillas para cada una de las tendencias. El objetivo principal es aprender a usar dicha estrategia y encontrar nuevas ideas que puedan resultar útiles para el comercio. En esta parte, veremos cómo reacciona RSI ante cada tendencia o tipo de movimiento. Sin embargo, tenga en cuenta que las estrategias se presentan con fines exclusivamente educativos, para mostrar cómo RSI se puede aplicar al análisis de datos de mercado. Asegúrese siempre de poner a prueba cada estrategia antes de usarla al comerciar; algunas estrategias podrían no resultar adecuadas para su estilo de negociación, especialmente en lo que respecta a estrategias educativas.

                            Durante una tendencia alcista

                              En este tipo de mercado, la mayoría de las veces, los valores RSI se mueven entre la mitad del rango y el nivel 70 (el nivel de sobrecompra).


                              RSI en tendencia alcista


                              Estrategia comercial para una tendencia alcista:

                                • Valor RSI < 50 = Comprar
                                  • Valor RSI > 70 = take profit

                                      Durante una tendencia bajista

                                        En este tipo de mercado, los valores RSI se mueven entre la mitad del rango y el nivel 30 (nivel de sobreventa) la mayor parte del tiempo.

                                        RSI en tendencia bajista


                                        La estrategia comercial será la siguiente:

                                          • Valor RSI > 50 = transacción en corto
                                          • Valor RSI < 30 = take profit

                                        • Durante el movimiento lateral:

                                        RSI se mueve entre los niveles 30 y 70 la mayor parte del tiempo.

                                        RSI en tendencia lateral


                                        La estrategia comercial será la siguiente:

                                          • Valor RSI < 30 = comprar
                                          • Valor RSI > 50 = take profit
                                          • Valor RSI > 70 = transacción en corto
                                          • Valor RSI < 50 = take profit

                                         

                                        Esquema del sistema de la estrategia RSI

                                        En esta parte, veremos qué instrucciones le daremos a la computadora al comerciar con una estrategia basada en RSI.

                                        Ya hemos analizado 4 estrategias que podemos implementar en forma de sistemas comerciales: comprar en una tendencia alcista, vender en corto en una tendencia bajista, y transacciones largas y cortas en una tendencia lateral. Los esquemas detallados para cada estrategia se muestran a continuación.

                                        • Estrategia RSI para una tendencia alcista

                                         Esquema de la estrategia de tendencia alcista

                                        • Estrategia RSI para una tendencia bajista

                                        Esquema de la estrategia de tendencia bajista

                                        • Estrategia RSI para una tendencia lateral

                                        Esquema de la estrategia de tendencia lateral

                                        Parece que todo está claro aquí. Ahora que hemos preparado los esquemas para cada estrategia que queremos implementar en el sistema comercial, podemos proceder a escribir el programa. Vamos a pasar a la siguiente parte de este artículo y escribir el código del sistema comercial.


                                        Sistema comercial RSI

                                        Ahora veremos cómo codificar un sistema comercial basado en las estrategias comerciales RSI discutidas anteriormente. Primero, abrimos el terminal comercial MetaTrader 5, y luego el IDE (MetaQuotes Language Editor) para escribir códigos presionando F4 o de cualquier otra manera:


                                        Iniciando el Metaeditor 1

                                        También podemos clicar en el botón IDE en la barra de herramientas de MetaTrader 5:


                                        MetaEditor método 2

                                        La siguiente ventana aparecerá en el MetaEditor IDE recién abierto:

                                        Ventana del editor MetaEditor

                                        A continuación, crearemos un nuevo archivo en el que escribiremos el código del sistema comercial:

                                        Ventana del editor MetaEditor


                                        MetaEditor - archivo nuevo

                                        Seleccione la primera opción para crear un nuevo archivo de asesor. Para obtener más información, lea el anterior artículo de esta serie: "Aprenda por qué y cómo diseñar su sistema de trading algorítmico"

                                        A continuación, mostramos el código para un asesor experto simple basado en RSI que muestra los valores de RSI como comentarios en el gráfico:

                                        //+------------------------------------------------------------------+
                                        //|                                            Simple RSI System.mq5 |
                                        //|                                  Copyright 2022, MetaQuotes Ltd. |
                                        //|                                             https://www.mql5.com |
                                        //+------------------------------------------------------------------+
                                        #property copyright "Copyright 2022, MetaQuotes Ltd."
                                        #property link      "https://www.mql5.com"
                                        #property version   "1.00"
                                        
                                        //+------------------------------------------------------------------+
                                        //| Expert tick function                                             |
                                        //+------------------------------------------------------------------+
                                        void OnTick()
                                          {
                                           //Creating array for prices
                                           double RSIArray[];
                                           
                                           //Identying RSI properties
                                           int RSIDef = iRSI(_Symbol, _Period, 14, PRICE_CLOSE);
                                           
                                           //Sorting prices array
                                           ArraySetAsSeries(RSIArray,true);
                                           
                                           //Identifying EA
                                           CopyBuffer(RSIDef,0,0,1,RSIArray);
                                           
                                           //Calculating EA
                                           double RSIValue = NormalizeDouble(RSIArray[0],2);
                                           
                                           //comment with RSI value on the chart
                                           Comment("RSI Value is ",RSIValue);
                                           
                                          }
                                        //+------------------------------------------------------------------+
                                        
                                        

                                        Ahora vamos a ejecutar el programa creado:

                                        Navegador - RSI simple


                                        Lo iniciamos clicando dos veces en el archivo y lo arrastramos al gráfico; después de ello, aparecerá la siguiente ventana:

                                        Ventana de SRSI 1

                                        Clique en Aceptar y el programa se ejecutará en el gráfico:

                                        SRSI 1 en funcionamiento

                                        Estrategia RSI simple


                                        • Estrategia RSI para una tendencia alcista
                                        Recordemos que el plan de esta estrategia es el siguiente:

                                        Esquema de la estrategia de tendencia alcista

                                        Así se ve el código:

                                        //+------------------------------------------------------------------+
                                        //|                                       RSI - Uptrend Strategy.mq5 |
                                        //|                                  Copyright 2022, MetaQuotes Ltd. |
                                        //|                                             https://www.mql5.com |
                                        //+------------------------------------------------------------------+
                                        #property copyright "Copyright 2022, MetaQuotes Ltd."
                                        #property link      "https://www.mql5.com"
                                        #property version   "1.00"
                                        
                                        //+------------------------------------------------------------------+
                                        //| Expert tick function                                             |
                                        //+------------------------------------------------------------------+
                                        void OnTick()
                                          {
                                           //Creating array for prices
                                           double RSIArray[];
                                           
                                           //Identying RSI properties
                                           int RSIDef = iRSI(_Symbol, _Period, 14, PRICE_CLOSE);
                                           
                                           //Sorting prices array
                                           ArraySetAsSeries(RSIArray,true);
                                           
                                           //Identifying EA
                                           CopyBuffer(RSIDef,0,0,1,RSIArray);
                                           
                                           //Calculating EA
                                           double RSIValue = NormalizeDouble(RSIArray[0],2);
                                           
                                           //Creating signal according to RSI
                                           if(RSIValue<50) 
                                           Comment ("Uptrend - BUY");
                                           
                                           if(RSIValue>70)
                                           Comment ("Uptrend - TAKE PROFIT");
                                          }
                                        //+------------------------------------------------------------------+
                                        
                                        
                                        

                                        Luego, iniciamos el programa en el gráfico desde la ventana del Navegador, como se muestra a continuación. Asegúrese de que no haya errores o advertencias:

                                        Navegador - RSI - Tendencia alcista


                                        Ventana de estrategia alcista


                                        Ejecutamos el código arrastrando el archivo al gráfico o clicando dos veces sobre él, presionamos OK en la ventana del programa y se iniciará en el gráfico:

                                        Estrategia RSI Uptrend en el gráfico

                                        Genera las siguientes señales:

                                        • Señal de compra:

                                        Estrategia RSI Uptrend - Buy

                                        • Señal de take profit:

                                        Estrategia RSI Uptrend - TP

                                        • Estrategia RSI para una tendencia bajista
                                        Recordemos que el plan de esta estrategia es el siguiente:

                                        Esquema de la estrategia de tendencia bajista

                                        Código

                                        //+------------------------------------------------------------------+
                                        //|                                     RSI - Downtrend Strategy.mq5 |
                                        //|                                  Copyright 2022, MetaQuotes Ltd. |
                                        //|                                             https://www.mql5.com |
                                        //+------------------------------------------------------------------+
                                        #property copyright "Copyright 2022, MetaQuotes Ltd."
                                        #property link      "https://www.mql5.com"
                                        #property version   "1.00"
                                        
                                        //+------------------------------------------------------------------+
                                        //| Expert tick function                                             |
                                        //+------------------------------------------------------------------+
                                        void OnTick()
                                          {
                                           //Creating array for prices
                                           double RSIArray[];
                                           
                                           //Identying RSI properties
                                           int RSIDef = iRSI(_Symbol, _Period, 14, PRICE_CLOSE);
                                           
                                           //Sorting prices array
                                           ArraySetAsSeries(RSIArray,true);
                                           
                                           //Identifying EA
                                           CopyBuffer(RSIDef,0,0,1,RSIArray);
                                           
                                           //Calculating EA
                                           double RSIValue = NormalizeDouble(RSIArray[0],2);
                                           
                                           //Creating signal according to RSI
                                           if(RSIValue>50)
                                           Comment ("Downtrend - SHORT");
                                           
                                           if(RSIValue<30)
                                           Comment ("Downtrend - TAKE PROFIT");
                                          }
                                        //+------------------------------------------------------------------+
                                        
                                        
                                        

                                        Iniciamos el programa en el gráfico desde la ventana del Navegador, como se muestra a continuación. Asegúrese de que no haya errores o advertencias:

                                        Navegador - RSI - tendencia bajista


                                        Ventana de estrategia bajista

                                        Ejecutamos el código arrastrando el archivo al gráfico o haciendo doble clic sobre él, presionamos OK en la ventana del programa y se iniciará en el gráfico:

                                        Estrategia de tendencia bajista RSI en el gráfico

                                        El programa en ejecución generará las señales:

                                        • Señal corta:

                                        Estrategia RSI Downtrend - Short

                                        • Señal de take profit:

                                        Estrategia RSI Downtrend - TP

                                        • Estrategia RSI para una tendencia lateral
                                        Recordemos que el plan de esta estrategia es el siguiente:


                                        Esquema de la estrategia de tendencia lateral

                                        A continuación, mostramos el código para esta estrategia. Para una mejor comprensión, dividiremos la estrategia en dos códigos separados: un programa se implementará para la señal de compra y el take profit, y otro para la señal de venta y el take profit. Ambos funcionarán durante el movimiento lateral:

                                        • Señal de compra
                                        //+------------------------------------------------------------------+
                                        //|                                RSI - Sideways Strategy - Buy.mq5 |
                                        //|                                  Copyright 2022, MetaQuotes Ltd. |
                                        //|                                             https://www.mql5.com |
                                        //+------------------------------------------------------------------+
                                        #property copyright "Copyright 2022, MetaQuotes Ltd."
                                        #property link      "https://www.mql5.com"
                                        #property version   "1.00"
                                        
                                        //+------------------------------------------------------------------+
                                        //| Expert tick function                                             |
                                        //+------------------------------------------------------------------+
                                        void OnTick()
                                          {
                                           //Creating array for prices
                                           double RSIArray[];
                                           
                                           //Identying RSI properties
                                           int RSIDef = iRSI(_Symbol, _Period, 14, PRICE_CLOSE);
                                           
                                           //Sorting prices array
                                           ArraySetAsSeries(RSIArray,true);   
                                           
                                           //Identifying EA
                                           CopyBuffer(RSIDef,0,0,1,RSIArray);
                                           
                                           //Calculating EA
                                           double RSIValue = NormalizeDouble(RSIArray[0],2);
                                           
                                           //Creating signal according to RSI
                                           if(RSIValue<30)
                                           Comment ("Sideways - BUY");
                                           
                                           if(RSIValue>50)
                                           Comment ("Sideways - TAKE PROFIT");
                                          }
                                        //+------------------------------------------------------------------+
                                        
                                        
                                        

                                        Iniciamos el programa en el gráfico desde la ventana del Navegador, como se muestra a continuación. Asegúrese de que no haya errores o advertencias:

                                        Navegador - RSI - tendencia lateral - compra


                                        Estrategia RSI Sideways - Buy

                                        Ejecutamos el código arrastrando el archivo al gráfico o haciendo doble clic sobre él, presionamos OK en la ventana del programa y se iniciará en el gráfico:

                                        Estrategia RSI Sideways - Buy en el gráfico

                                        El programa en ejecución generará señales como se muestra a continuación:

                                        • Señal de compra:

                                        Estrategia lateral - compra

                                        • Señal de take profit:

                                        Estrategia lateral - TP para una transacción de compra

                                        • Señal corta:
                                        //+------------------------------------------------------------------+
                                        //|                              RSI - Sideways Strategy - Short.mq5 |
                                        //|                                  Copyright 2022, MetaQuotes Ltd. |
                                        //|                                             https://www.mql5.com |
                                        //+------------------------------------------------------------------+
                                        #property copyright "Copyright 2022, MetaQuotes Ltd."
                                        #property link      "https://www.mql5.com"
                                        #property version   "1.00"
                                        
                                        //+------------------------------------------------------------------+
                                        //| Expert tick function                                             |
                                        //+------------------------------------------------------------------+
                                        void OnTick()
                                          {
                                           //Creating array for prices
                                           double RSIArray[];
                                           
                                           //Identying RSI properties
                                           int RSIDef = iRSI(_Symbol, _Period, 14, PRICE_CLOSE);
                                        
                                           //Sorting prices array
                                           ArraySetAsSeries(RSIArray,true);
                                           
                                           //Identifying EA
                                           CopyBuffer(RSIDef,0,0,1,RSIArray);
                                           
                                           //Calculating EA
                                           double RSIValue = NormalizeDouble(RSIArray[0],2);
                                           
                                           //Creating signal according to RSI
                                           if(RSIValue>70)
                                           Comment ("Sideways - SHORT");
                                           
                                           if(RSIValue<50)
                                           Comment ("Sideways - TAKE PROFIT");
                                          }
                                        //+------------------------------------------------------------------+
                                        
                                        
                                        

                                        Luego, iniciamos el programa en el gráfico desde la ventana del Navegador, como se muestra a continuación. Asegúrese de que no haya errores o advertencias:

                                        Navegador - RSI - tendencia lateral - venta


                                        Estrategia RSI Sideways - ventana de venta

                                        Ejecutamos el código arrastrando el archivo al gráfico o clicando dos veces sobre él, presionamos OK en la ventana del programa y se iniciará en el gráfico:

                                        Estrategia RSI Sideways - Short en el gráfico

                                        El programa en ejecución generará las señales:

                                        • Señal corta:

                                        Estrategia RSI Sideways - transacción en corto


                                        • Señal de take profit:

                                        Estrategia lateral - TP de posiciones en corto

                                        Probablemente, esto sea todo en cuanto a la creación y el uso de estrategias simples basadas en el índice de fuerza relativa RSI, uno de los indicadores más populares en el trading. Hemos aprendido a usar este indicador para varias tendencias del mercado.

                                        Insistimos una vez más en que el artículo tiene únicamente fines educativos: solo habla de otra herramienta útil de análisis técnico. Si va a utilizar información de este artículo para su propio comercio, asegúrese de ponerla a prueba antes de usarla: lo que puede resultar útil para alguien podría no serlo para usted, su estrategia comercial o su propio plan.

                                        Conclusión

                                        En este artículo, hemos hablado sobre una de las herramientas más poderosas en el comercio y el análisis técnico: el indicador RSI. Asimismo, hemos aprendido que está relacionado con el concepto de impulso, que es uno de los conceptos más importantes en los movimientos del mercado y el comercio. Además, hemos tratado de explicar la construcción de RSI y los detalles de su cálculo solo para que quede más claro cómo se puede usar este indicador.

                                        Aparte de lo mencionado, el artículo contiene una estrategia simple que se puede usar en el comercio, así como sus variaciones para varios movimientos y tendencias del mercado. Así, ahora ya sabemos cómo usarlo durante una tendencia alcista, bajista y lateral. Hay muchas estrategias diferentes que se pueden usar de forma efectiva y que pueden resultar útiles en el comercio. Por lo tanto, le recomendamos seguir leyendo sobre RSI y otros indicadores.

                                        También hemos aprendido cómo codificar un sistema comercial basado en estas estrategias. MQL5 y la programación en general sirven de gran ayuda para usar varias herramientas comerciales y analíticas útiles de forma eficiente, precisa y sencilla, lo cual nos facilita la vida. 

                                        Recomendamos a los lectores que intenten escribir códigos por ellos mismos y pongan en práctica lo que han aprendido de este artículo. Esta práctica mejorará la comprensión y la conciencia de lo que ha aprendido y le proporcionará una buena base para nuevas ideas. Esperamos que el artículo le sea útil y le ayude a alcanzar sus objetivos comerciales.



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

                                      Aprendizaje automático y Data Science (Parte 01): Regresión lineal Aprendizaje automático y Data Science (Parte 01): Regresión lineal
                                      Es hora de que los tráders entrenemos nuestros sistemas y aprendamos a tomar nuestras propias decisiones en función de lo que muestren los números. En este proceso, evitaremos los métodos visuales o intuitivos que usa todo el mundo. Marcharemos perpendicularmente a la dirección general.
                                      Gráficos en la biblioteca DoEasy (Parte 99): Desplazando un objeto gráfico extendido con un punto de control Gráficos en la biblioteca DoEasy (Parte 99): Desplazando un objeto gráfico extendido con un punto de control
                                      En el último artículo, implementamos la posibilidad de desplazar los puntos de control de un objeto gráfico extendido usando formularios de gestión. Ahora vamos a desplazar el objeto gráfico compuesto usando un punto (formulario) para gestionar el objeto gráfico.
                                      Gráficos en la biblioteca DoEasy (Parte 100): Solucionamos las deficiencias al trabajar con los objetos gráficos estándar extendidos Gráficos en la biblioteca DoEasy (Parte 100): Solucionamos las deficiencias al trabajar con los objetos gráficos estándar extendidos
                                      Hoy vamos a hacer un poco de "limpieza": para ello, eliminaremos los defectos que surgen al trabajar con los objetos gráficos extendidos (y estándar) y los objetos de formulario simultáneamente en el lienzo, y también arreglaremos los errores detectados durante las pruebas en el artículo anterior. Y así concluirá esta sección de la descripción de la biblioteca.
                                      Gráficos en la biblioteca DoEasy (Parte 98): Desplazamiento de los puntos de anclaje de los objetos gráficos estándar ampliados Gráficos en la biblioteca DoEasy (Parte 98): Desplazamiento de los puntos de anclaje de los objetos gráficos estándar ampliados
                                      En el presente artículo, continuaremos el desarrollo de los objetos gráficos estándar extendidos, y crearemos la funcionalidad necesaria para desplazar los puntos de pivote de los objetos gráficos compuestos usando los puntos de control para gestionar las coordenadas de los puntos de pivote del objeto gráfico.