SelfLearningExperts: Tu Asesor Experto para MetaTrader 5

Mike 2012.11.30 20:13 8 0 0
Archivos adjuntos

El Asesor Experto ha sido reescrito a partir de MQL4 por el autor lsv. Puedes encontrar el código original en este enlace.

¿Cómo funciona?

Este Asesor Experto opera en ticks, independientemente del marco temporal que utilices. Se basa en promediar los patrones de precios del mercado actual, formando así varios patrones con diferentes parámetros. La cantidad de patrones se determina mediante la variable Nidelt. Para el primer patrón se usa el parámetro dstop, para el segundo dstop*2, y así sucesivamente hasta dstop*N, donde N es el número total de patrones. Si el precio cambia al valor dstop*N, se captura un nuevo punto del patrón. El punto más antiguo se elimina, lo que permite que el patrón mantenga una longitud fija de Nidelt puntos. Cuantas más configuraciones tenga un patrón, más profunda será la captura de datos históricos. Así, el mercado es analizado en diferentes profundidades históricas.

Cuando un patrón cambia (es decir, cuando hay cambios en la situación del mercado), se abre una posición virtual. El objetivo aquí es vincular la posición con una situación de mercado específica. Esto se hace convirtiendo la secuencia de valores de precios en una secuencia binaria; si el valor de un punto es mayor que el anterior, se asigna un 1, de lo contrario, un 0. A partir de esta secuencia se calcula un número único de patrón (es decir, la conversión de un dígito binario a decimal).

Se pueden abrir de una a tres posiciones virtuales con Stop Loss y Take Profit individuales, donde los valores de Stop Loss y Take Profit son iguales para cada posición. El valor de Stop Loss/Take Profit se define según el parámetro dstop: para una posición se usa dstop*1, para la otra dstop*2, etc. Si el precio sube en el valor de probabilidad de Stop Loss/Take Profit, se suman valores para un posible aumento de este patrón; si baja, aumenta la probabilidad de caída. Las posiciones virtuales se abren para cada uno de los tres patrones: el parámetro del patrón, el número del patrón (su forma) y cada valor de Stop Loss/Take Profit. Además, para cada una de estas combinaciones se calcula la probabilidad de operaciones virtuales hacia arriba o hacia abajo.

Si, de acuerdo a cualquier combinación de tres parámetros (parámetro, número, Stop Loss/Take Profit), se crean al menos 10 operaciones virtuales, y si se detecta automáticamente la misma situación en el mercado (un parámetro y número de patrón determinado), se puede considerar la apertura de una posición con una dirección definida según la probabilidad calculada en base a esta estadística por el valor de Stop Loss/Take Profit.

Reúne estadísticas puede llevar tiempo. Como dice el autor del Asesor Experto: "Puede tomar varias semanas". Sin embargo, este proceso puede acelerarse utilizando el probador. Debes tener en cuenta que los cambios de precios en el probador y en el mercado real pueden diferir significativamente. El autor recomienda el siguiente procedimiento: entrenar al Asesor Experto en el probador y luego ejecutarlo en una cuenta demo durante aproximadamente una semana. Si el Asesor Experto muestra resultados positivos, se podrá utilizar en una cuenta real.

Preparación de un Asesor Experto

La primera etapa en la preparación de un Asesor Experto para trabajar será la optimización de sus parámetros: Nidelt, Nstop, dstop, forg, Probab, NN y delta. En esta etapa, la optimización se realiza con los parámetros ReadHistory y SaveHistory desactivados. Una vez que encuentres una combinación aceptable de parámetros, es necesario realizar una prueba con SaveHistory=true. Luego, ejecuta el Asesor Experto en una cuenta con ReadHistory=true; de esta forma, comenzará a operar inmediatamente al haber recopilado suficientes estadísticas en el probador. Se recomienda activar SaveHistory cuando trabajes en la cuenta para guardar datos automáticamente cuando el Asesor Experto esté sobreentrenado y listo para reiniciar.

Al utilizar SaveHistory en el probador, los datos de aprendizaje se guardan en un archivo llamado FD_[Símbolo]. Por ejemplo, si el Asesor Experto opera en EURUSD, el archivo se nombrará «FD_EURUSD», y si es en GBPUSD, será «FD_GBPUSD», y así sucesivamente. Los archivos se guardan en la carpeta de Archivos, que es la carpeta de datos común para todas las terminales. Puedes encontrar la Carpeta de Datos General a través del menú principal de MetaEditor.

Aparte de guardar los resultados de aprendizaje, el Asesor Experto guarda dos archivos necesarios para el proceso de trading. Estos archivos se llaman: FDlast_buy[Símbolo][TimeFrame] y FDlast_sell[Símbolo][TimeFrame]. No es necesario prestar atención a estos archivos.

El Asesor Experto depende del marco temporal únicamente en la periodicidad de guardado de los datos de aprendizaje y en el tiempo mínimo entre operaciones virtuales, que es igual a la densidad de dos barras. Por lo tanto, puede haber diferencias en los resultados del trabajo del Asesor Experto en diferentes marcos temporales.

La imagen muestra los resultados de aprendizaje del Asesor Experto en EURUSD M15 con la configuración predeterminada.

 

Parámetros

  • ReadHistory - Leer el historial guardado de aprendizaje.
  • SaveHistory - Guardar el historial de aprendizaje. Durante la prueba, el historial se guarda hasta el final de la misma; al trabajar en cuenta, se guarda regularmente por sobreaprendizaje.
  • Lots - Volumen de la posición.
  • Nidelt - El número de patrones no debe exceder 30.
  • Nstop - Número de parámetros de posición virtual (diferentes valores de Stop Loss y Take Profit, donde Stop Loss y Take Profit son iguales), 1, 2 o 3.
  • dstop - Paso de cambios en los parámetros de posiciones virtuales (Stop Loss y Take Profit).
  • forg - Tasa de olvido de los resultados de aprendizaje, el valor debe ser un poco mayor que 1.
  • Probab - Nivel de probabilidad definido por los resultados de aprendizaje en el cual se realizan las aperturas de posición.
  • NN - El tamaño del patrón no debe exceder 12.
  • delta - Paso de cambio del parámetro del patrón.
  • ReplaceStops - Modificar Stop Loss/Take Profit en nuevas señales de apertura. La transposición de Stop Loss/Take Profit se opera únicamente en función de la dirección de la posición.
  • Trailing - Nivel de trailing stop; cuando el valor es 0, el trailing stop está deshabilitado.
Lista
Comentarios 0