Mira cómo descargar robots gratis
¡Búscanos en Twitter!
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

Ilan 1.6 Dynamic HT - Asesor Experto para MetaTrader 5

Publicado por:
Vasiliy Sokolov
Visualizaciones:
3148
Ranking:
(67)
Publicado:
2016.03.10 12:12
Actualizado:
2016.11.22 07:33
\MQL5\Include\
environment.mqh (11.2 KB) ver
testertable.mqh (5.38 KB) ver
tradestate.mqh (4.58 KB) ver
prototypes.mqh (15.32 KB) ver
indicators.mqh (7.04 KB) ver
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Autor real:

Desconocido.

El algoritmo base que subyace en Ilan Dynamic 1.6 HT es sencillo. Se basa en la promediación del precio con el aumento paulatino del volumen de cada operación.

Por ejemplo, si el precio tras la apertura de una primera posición larga se ha ido hacia abajo y ha sobrepasado un determinado diapasón en puntos, se abre una nueva posición larga con un volumen mayor.

De esta forma, el precio promedio de entrada de Ilan Dynamic se acerca constantemente al precio de mercado. Gracias a ello, solo hay que esperar a que haya un pequeño retroceso y fijar todas las posiciones con beneficio abiertas hasta el momento, usando TakeProfit. La imagen general de las entradas de Ilan 1.6 Dynamic se corresponde con esta captura de pantalla del simulador de estrategias de MetaTrader 5:

Como se puede ver, el precio iba en contra de tres posiciones de compra, sin embargo, tras un pequeño retroceso, las tres posiciones fueron fijadas con un beneficio significativo. En la captura de pantalla se indican también los niveles de TakeProfit (horizontales verdes) y StopLoss (segmentos horizontales rojos).

Los niveles de precio para la promediación son calculados por el experto de forma dinámica, dependiendo del diapasón de precio entre el precio máximo y mínimo en el diapasón de varias últimas barras. De ahí que tenga la palabra "Dynamic" en su nombre.

Aparte del TakeProfit, Ilan 1.6 Dynamic permite usar un StopLoss clásico, trailing stop, salida por hora, salida conforme al indicador CCI y por el nivel de Equity de todas las operaciones.


Resultados de la simulación

Los resultados de la simulación de Ilan 1.6 Dynamic pueden diferenciarse significativamente, dependiendo del marco temporal elegido, del periodo de simulación, el instrumento, el bróker y las condiciones iniciales.

Debido a ello, el experto exige un elección bien meditada de los parámetros y mercados en los que puede ser iniciado. Así y con todo, es posible obtener varios resultados fiables incluso en una historia corta, usando los parámetros por defecto. Este es el gráfico típico de equidad y el balance que genera este experto:

 

Advertencia: El beneficio/pérdida sin fijar o Equity Ilan 1.6 Dynamic puede diferenciarse sustancialmente de su balance, lo cual se puede ver bien en el gráfico. En el caso de que se dé movimiento sin retrocesos, su Equity desciende significativamente, y al final esa táctica comercial puede llevar al MarginCall y la ruina completa de la cuenta. ¡Trabaje com Ilan 1.6 Dynamic solo cuando haya flat y use la exponencia de lote con cuidado!


Parámetros y valores

Ilan 1.6 Dynamic por defecto está configurado de forma óptima. La mayor parte de sus parámetros en este modo no se usan. Sin embargo, puede realizar el ajuste individual de los parámetros.

Para ello, utilice el recuadro presentado más abajo para configurar los parámetros según su criterio.

Nombre del parámetroValor
por defecto
Descripción del parámetro
Parámetros principales del experto
LotExponent  1.4
 Por cuánto se multiplica el lote, al establecerse la siguiente posición Por ejemplo, con LotExponent = 1.4 y Lots = 0.1, la primera posición se abrirá con un lote de 0.1, la segunda posición promediadora se abrirá con un lote de 0.2 (0.1 * 1.4^2),  la tercera con un lote de 0.3 (0.1 * 1.4^3), la séptima con un lote de 1.0 (0.1 * 1.4^7). Este parámetro se debe cambiar con sumo cuidado. Su valor varía de 1.0 (comercio ultraconservador) hasta 2.0 (comercio súper agresivo);
MaxTrades 10  Cuántas posiciones pueden estar abiertas en una dirección. Si el límite de las posiciones ha sido agotado, las nuevas posiciones no se cierran, y las posiciones antiguas se cierran según la conveniencia de las condiciones de salida (dependen de los ajustes). 
DynamicPips  true  True, si se usa un diapasón dinámico de precio.
DefaultPips  120  Nivel del canal de precio en pips por defecto.
Glubina 24   Ilan 1.6 Dynamic calcula el diapasón de precio entre High y Low en las últimas barras. El parámetro indica cuántas barras se deben tomar para este cálculo.
DEL  Es el coeficiente que indica qué parte del diapasón de precio se debe tomar para determinar el siguiente nivel de compra o venta. 
Lots  0.1   Tamaño del lote de la primera operación. 
lotdecimal   Cuántos decimales después de la coma se calculan para el lote.   0 - lotes normales (1.0), 1 - minilotes (0.1), 2 - micro (0.01)
TakeProfit 100   Nivel de beneficio en puntos a partir del precio actual, de alcanzarse el cual todas las posiciones abiertas son cerradas.
slippage 30  Nivel del deslizamiento límite permitido en puntos.
MagicNumber  2222   Número mágico del experto. 
Parámetros que determinan las señales para entrar en el mercado 
RsiPeriod 14  Periodo del indicador RSI.
RsiMinimum 30.0  Si el indicador RSI está por debajo del nivel actual, entonces la compra no se realiza.
RsiMaximum  70.0  Si el indicador RSI está por encima del nivel actual, entonces la venta no se realiza.
Uso y configuración del nivel StopLoss clásico
UseStopLoss false  Por defecto, el nivel de stop-loss no se usa, sin embargo, usted lo puede activar estableciendo el valor de esta variable en true.
StopLoss 500.0  Nivel de stop-loss en puntos (por defecto se usa el valor para las cotizaciones de cinco dígitos).
Uso y configuración Equity Stop
UseEquityStop false  True si se necesita cerrar la posición en caso de que la pérdida total de todas las posiciones alcance un cierto tanto por ciento del beneficio máximo alcanzado.  
EquityPercent 1.0  Tanto por ciento de todas las posiciones abiertas, de la cuenta equity actual. Al superarse este tanto por ciento, se activa la salida de todas las posiciones de Equity stop.
TotalEquityRisk 20.0  Tanto por ciento de pérdidas del equity máximo alcanzado, con el que sucede la salida de todas las posiciones existentes.
Uso y configuración de TrailingStop
UseTrailingStop false  Por defecto no se usa trailing stop, pero puede activarlo estableciendo esta variable en el valor true.
TrailStart 100.0  Nivel de beneficio promedio ponderado de todas las posiciones en puntos, superado el cual se realiza el trailing
TrailStop 100.0  Nivel en puntos entre el precio actual y el StopLoss que se debe mantener.
Uso y configuración del stop del indicador CCI
UseCCIStop false  Por defecto, el uso del stop en el indicador CCI está desactivado, pero puede activarlo estableciendo esta variable en el valor true. 
CCIPeriod 55  Periodo del indicador CCI.
CCILevel 500  Si el valor CCI > CCILevel (500 por defecto), todas las posiciones cortas se cierran. Si el valor CCI es menor a -500 (por defecto), todas las posiciones largas se cierran.
Uso y configuración de la salida por hora
UseCloseByTime  false  Por defecto no se usa la salida por hora, pero puede activarlo estableciendo esta variable en el valor true.
MaxTradeOpenHours  48  Número de horas a partir del momento de apertura de la primera posición, tras alcanzar el cual todas las posiciones se cierran forzosamente. Solo se tiene en cuenta la hora comercial. La hora de los fines de semana y los festivos se deja pasar.

Modos de testado. Instrumentos y marcos temporales óptimos.

Ilan 1.6 Dynamic se creó para generar beneficio a partir, en primer lugar, de los movimientos de precio a corto plazo. Su marco temporal óptimo es el gráfico de 15 (M15). Los ajustes por defecto se deben usar para las cotizaciones de cinco dígitos. El experto da soporte a la simulación en los siguientes modos:

  • Every Tick (cada tick). El experto debe ser puesto a prueba en este modo si usted usa trailing stop y necesita una salida precisa según el nivel de TakeProfit, CCI Stop y EquityStop.
  • 1 minute OHLC. Se trata de un modo de compromiso que aúna velocidad de simulación y precisión en la ejecución de señales.
  • Open prices only (Solo con precios de apertura). Es el modo más rápido. Debido a las dificultades de virtualización, las paradas de TakeProfit se activan en este modo solo en el momento de apertura de una barra. De esta forma se activan CCI Stop y EquityStop. Sin embargo, en muchos casos, esta generalización brusca y artificial da mejores resultados que la simulación en el modo "todos los ticks".

El algoritmo Ilan 1.6 Dynamic supera con éxito la simulación tanto en el modo habitual, como en el modo con retardo aleatorio (Random Delay).

Instrumentos recomendados

Ilan 1.6 Dynamic se recomienda para todas las parejas de divisas proclives a largos periodos sin tendencia. Para estos objetivos vendrán bien: EURUSD, USDJPY, GBPUSD, USDCHF, EURCHF y otras parejas básicas. Sus ajustes están optimizados para las parejas de divisas de cinco dígitos. Si usted quiere usar el experto con parejas de divisas de cuatro dígitos, ante todo es necesario disminuir los siguientes parámetros en diez veces:

  • DefaultPips - 12;
  • TakeProfit - 10;
  • slippage - 3;
  • StopLoss - 50.

Cómo compilar un experto y hacerlo trabajar (¡leer sin falta!)

Ilan 1.6 Dynamic en su funcionamiento usa tanto la llamada cuadrícula de órdenes, como el seguimiento individual de cada orden (posición).

Para este trabajo es necesaria una virtualización especial, que permita trabajar en el entorno de MetaTrader 5 de la forma acostumbrada en MetaTrader 4. Para ello, usa las llamadas a las funciones de la biblioteca HedgeTerminalAPI, trabajando en el entorno que proporciona. Podrá leer sobre el uso de esta biblioteca en el artículo "Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 2". Si quiere modificar la lógica comercial del experto, familiarícese con este artículo para comprender cómo funciona el código del experto.

Antes de comenzar a trabajar, deberá instalar la biblioteca HedgeTerminalAPI en su computadora. Después de ello, será necesario compilar los módulos programáticos que usa el experto en su computadora (adjuntos a esta descripción). Los describiremos con más detalle.

  • ilan_1.6_dynamic_ht.mq5 - Módulo principal. Contiene la lógica comercial del experto. El tag "HT" en el nombre indica que para el funcionamiento del experto es necesaria la biblioteca HedgeTerminalAPI. Este es el único archivo que se debe ubicar en la carpeta catálogo_de_datos_del_terminal\MQL5\Experts\, todos los demás módulos se deben ubicar en catálogo_de_datos_del_terminal\MQL5\Include\.
  • prototypes.mqh - Este el propio archivo de los prototipos, necesario para la interacción con la biblioteca.
  • drawhedgeposition.mqh - Traza (dibuja) las operaciones del experto como se hace en MetaTrader 4 (ver primera captura). Las posiciones opuestas se dibujan de forma paralela la una con respecto a la otra, y no una tras otra, como en MetaTrader 5.
  • environment.mqh - Módulo del entorno comercial del experto. Reúne toda la información comercial necesaria para el experto. Con su ayuda es posible saber cuántas posiciones en total ha abierto el experto actual, cuál es su beneficio/pérdidas y otra mucha información útil.
  • testertable.mqh - Representa un sencillo recuadro de todas las posiciones abiertas del experto en el simulador de estrategias. Si usted quiere que las posiciones del experto se representen en un recuadro visual en tiempo real, use el panel HedgeTerminal.
  • indicators.mqh - Módulo de indicadores. Contiene una sencilla interfaz de acceso a los datos de los indicadores.
  • tradestate.mqh - Módulo de estado comercial del experto. En MetaTrader 5 puede pasar cierto tiempo antes de que la orden ejecutada entre en la historia de órdenes y pueda ser analizada. Este módulo ayuda a esperar de forma adecuada la entrada de una orden en la historia.

¿Cómo visualizar el funcionamiento del experto y controlar su funcionamiento a través del control manual?

Ilan 1.6 Dynamic gestiona a la vez varias posiciones dirigidas en una misma dirección. Todas estas posiciones se ven en MetaTrader 5 como una única posición neta. Para tener acceso fácil a la gestión de posiciones del experto y también poder hacerse una idea de su estado comercial en cada instante, es necesario instalar de forma adicional el panel demostrativo HedgeTerminal. Después de iniciarse, representará las posiciones del experto de una forma semejante a esta:


 Podrá leer información más detallada sobre el funcionamiento del panel y sobre los métodos de integración con los expertos que usan la biblioteca HT en el artículo "Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 1".

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

YZ_Summer_Time YZ_Summer_Time

Comprueba si una fecha pertenece al horario invernal o estival, el código ha sido desarrollado para la depuración de los eventos dependientes de las noticias.

CHashArrayStringString CHashArrayStringString

Ejemplo de implementación de una matriz hash con una clave de cadena.

XEnvelopes XEnvelopes

Indicador Envelopes clásico con uso de algoritmos de promediación universal y función para dar un color determinado al fondo del canal.

RegularExpressions en MQL5 para trabajar con expresiones frecuentes RegularExpressions en MQL5 para trabajar con expresiones frecuentes

Las expresiones regulares suponen un lenguaje formal para procesar textos de forma rápida y flexible. Cada expresión regular es un patrón(máscara) para la cual el desarrollador de expresiones regulares trata de encontrar coincidencias con el texto de origen. El patrón consta de designaciones, operadores o constructores de un símbolo o varios caracteres.