Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Asesores Expertos

Two MA one RSI - Asesor Experto para MetaTrader 5

Publicado por:
Vladimir Karputov
Visualizaciones:
1014
Ranking:
(26)
Publicado:
2018.07.24 15:38
Two MA one RSI.mq5 (57.41 KB) ver
\MQL5\Profiles\Tester\
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Autor de la idea: Iurii Tokman.

Autor del código MQL5: Vladimir Karputov.

Este Asesor Experto tradea usando dos indicadores iMA (Moving Average, MA) y un iRSI (Relative Strength Index, RSI). La toma de decisiones según las señales comerciales se realiza sólo cuando aparece una nueva barra, mientras que el trailing y el cierre de la posición al alcanzar el beneficio trabajan en cada tick.

Se aplica una solución no estándar: el período de promediación del indicador Slow se calcula como el período de promediación Fast, multiplicado por dos; el período de promediación del indicador RSI siempre es igual al período de promediación Fast. Así, se reduce el número de parámetros durante la optimización.

Además, se puede optimizar absolutamente todos los signos "<" y ">" en la fórmula de identificación de las señales. Para eso, se introducen sus propias variables (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, InpMoreLessSell_3). Teniendo en cuenta estas variables, la fórmula de identificación de señales es la siguiente:

   bool signal_buy=(!InpMoreLessBuy_1  ?  ArrayFast[1]<ArraySlow[1]:  ArrayFast[1]>ArraySlow[1]) && 
                   (InpMoreLessBuy_2   ?  ArrayFast[0]>ArraySlow[0]:  ArrayFast[0]<ArraySlow[0]) &&
                   (InpMoreLessBuy_3   ?  RSI>InpRSI_level_UP      :  RSI<InpRSI_level_UP);
   bool signal_sell=(InpMoreLessSell_1 ?  ArrayFast[1]>ArraySlow[1]:  ArrayFast[1]<ArraySlow[1]) && 
                    (!InpMoreLessSell_2?  ArrayFast[0]<ArraySlow[0]:  ArrayFast[0]>ArraySlow[0]) &&
                    (!InpMoreLessSell_3?  RSI<InpRSI_level_DOWN    :  RSI>InpRSI_level_DOWN);


Parámetros de entrada

  • Parámetros de indicadores Moving Average:

    • Fast: av. period - período de promediación de Moving Average "Fast";
    • Fast: horizontal shift - desplazamiento horizontal de Moving Average "Fast";
    • Fast: type of price - tipo del precio de Moving Average "Fast";
    • Slow: horizontal shift - desplazamiento horizontal de Moving Average "Slow";
    • Slow: type of price - tipo del precio de Moving Average "Slow";
    • Fast and Slow: smoothing type - tipo de promediación (parámetro común para "Fast" y "Slow").

  • Parámetros del indicador RSI y de sus señales:

    • RSI: type of price - tipo del precio de RSI;
    • RSI: level UP - nivel UP del indicador RSI;
    • RSI: level DOWN - nivel DOWN del indicador RSI.

  • Parámetros del trading:

    • Stop Loss - Stop Loss (si es cero, el parámetro se desactiva);
    • Take Profit - Take Profit (si es cero, el parámetro se desactiva;
    • Trailing Stop - Trailing (si es cero, el parámetro se desactiva);
    • Trailing Step - paso del trailing;
    • Lots - trading con lote constante (parámetro Lots es más de cero y el parámetro Risk es igual a cero);
    • Risk - el lote se calcula dinámicamente (parámetro Risk es más de cero y el parámetro Lots es igual a cero);
    • Maximum number of positions in one direction - número máximo de posiciones abiertas de la misma dirección (si es cero, el parámetro se desactiva);
    • Close all positions when profit is achieved - cierre de posiciones al alcanzar el beneficio (si es cero, el parámetro se desactiva);
    • Close opposite positions - cierre de posiciones opuestas (si es "false", el parámetro se desactiva);
    • magic number - identificador único del EA.

Como puede observar, en este EA (aparte de los ajustes de los parámetros de los indicadores), se puede ajustar con flexibilidad (y desactivar) el Stop Loss, TakeProfit, Trailing, número máximo de posiciones con la misma dirección, cierre de posiciones al alcanzar el beneficio, cierre de posiciones opuestas. Además, se puede gestionar el cálculo del volumen de la posición: se puede tradear con lote constante (el parámetro Lots es más de cero y el parámetro Risk es igual a cero) o el lote puede calcularse dinámicamente (el parámetro Risk es más de cero y el parámetro Lots es igual a cero).


Recomendaciones para la optimización

Seleccionamos el símbolo y el timeframe M15 en el modo de generación de ticks "OHLC en M1". Desactivamos Take Profit, Stop Loss y Trailing (ponemos cero), el número máximo de posiciones de cada dirección ponemos en «1». O bien copie el archivo Two MA one RSI M15 Start.set a la carpeta MQL5\Profiles\Tester\. Este archivo ya contiene los parámetros iniciales de la optimización para M15.

Seleccionamos el tipo de la optimización «Rápida (algoritmo genétio)» y el parámetro a optimizar "Balance max".

Recomiendo para la optimización conectar MQL5 Cloud Network: en USDJPY durante 2017 optimización en nube, más mis cuatro núcleos del portátil.

ha durado

2018.05.28 08:03:19.923 optimization done in 7 minutes 58 seconds

y ha costado $0.08.

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/20886

Exp_SilverTrend_CrazyChart Exp_SilverTrend_CrazyChart

El sistema comercial construido a base de las señales del indicador SilverTrend_CrazyChart

Rainbow Oscillator - Binary Rainbow Oscillator - Binary

La versión binaria del Rainbow Oscillator, basado en Rainbow Average de Mel Widner.

OzFX_D1_IndAES_v1.0_HTF OzFX_D1_IndAES_v1.0_HTF

El indicador OzFX_D1_IndAES_v1.0 tiene la posibilidad de cambiar el timeframe del indicador en los parámetros de entrada.

CandlesticksBW_Alert CandlesticksBW_Alert

Indicador con el coloreo de las velas según Bill Williams y envío de las alertas al cambiar de la tendencia, así como con el envío del email y mensajes Push en esta situación.