Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
Self Learning Experts - Asesor Experto para MetaTrader 5
- Visualizaciones:
- 1840
- Ranking:
- Publicado:
- 2014.01.15 09:01
- Actualizado:
- 2016.11.22 07:33
- ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
El Asesor Experto se ha reescrito desde MQL4, el autor es lsv, enlace al código fuente - https://www.mql5.com/ru/code/9431.
Cómo funciona
El Asesor Experto opera en cada tick, sin importar el marco de tiempo en el que trabaje. Promediando los patrones de precio que se están formando en los precios del mercado actual. Varios patrones con diferentes parámetros se forman. El número de patrones se ajusta en la variable Nidelt. Para el primer patrón se usa el parámetro dstop, para el segundo - dstop*2, etc. hasta dstop*N, donde N - es el número de patrones. Si el precio cambia al valor dstop*N, se captura un punto de patrón nuevo. Se elimina el último punto, por lo que el patrón tiene una longitud fija de puntos Nidelt. Cuanto mayor sea el valor de los ajustes del patrón, mayor será la profundidad del historial que cubre. Así resulta, que el mercado se controla de forma simultánea en diferentes profundidades del historial.
Cuando algún patrón cambia (cambios en la situación del mercado), se abre una posición virtual. La tarea consiste en vincular la posición con una situación de mercado definida. Se produce de la siguiente manera: el patrón mostrado por la secuencia de valores de precio se codifica a una secuencia binaria, si el valor de un punto es mayor que un valor anterior, es 1, de lo contrario - 0. En esta secuencia se calcula el número de patrón único (que significa la conversión de dígitos binarios en decimales).
Se pueden abrir de una a tres posiciones virtuales con diferentes Stop Loss/Take Profit, los valores Stop Loss y Take Profit son el mismo. El valor Stop Loss/Take Profit está definido por el parámetro dstop, para una posición se usa dstop*1, para la siguiente - dstop*2, etc. Si el precio sube en el valor de probabilidad Stop Loss/Take Profit, añadirá valor de posible crecimiento para este patrón, si cae - incrementará la probabilidad de descenso. Sus posiciones virtuales se abren para cada combinación de tres parámetros: parámetro patrón, número de patrón (su forma) y para cada valor de Stop Loss/Take Profit. También se calcula la probabilidad para cada una de las combinaciones de acuerdo con la operación virtual de compra o venta.
Si según cualquier combinación de tres parámetros (parámetro, número, Stop Loss/Take Profit) no se crean menos de 10 transacciones virtuales, y si se produce la misma situación en el mercado (se auto detecta el parámetro definido y el número de patrón), en ese caso se puede considerar abrir posición con la dirección definida con probabilidad calculada en base a estas estadísticas y con valor de Stop Loss/Take Profit.
Tomará mucho tiempo reunir estadísticas. Como escribe el autor del Asesor Experto: "Pueden pasar varias semanas". El proceso de recopilación de estadísticas se puede acelerar utilizando el probador de estrategias. Sin embargo, los cambios en los tick de precios en el probador y en el mercado real pueden diferir en gran medida. El autor recomienda hacerlo de esta manera: enseñar el Asesor Experto en el probador y luego ejecutarlo en cuenta de demostración durante casi una semana. Si el Asesor Experto muestra resultados positivos (en este caso tiene que aprender poco), así será posible utilizarlo en una cuenta real.
Preparación del Asesor Experto
La primera etapa para poner operativo el Asesor Experto será la optimización de sus parámetros: Nidelt, Nstop, dstop, forg, Probab, NN, delta. Esta etapa de optimización se lleva a cabo desactivando los parámetros ReadHistory y SaveHistory. Después de que se encuentre una combinación aceptable de parámetros, es necesario llevar a cabo una prueba con SaveHistory=true. A continuación, ejecute el Asesor Experto con ReadHistory=true - el Asesor Experto comienza a funcionar inmediatamente, ya que reunió estadísticas suficientes en el probador de estrategias. Se recomienda activar SaveHistory cuando está funcionando con el fin de guardar datos de forma automática, así el Asesor Experto estará aprendiendo y listo para empezar a trabajar en caso de reinicio del Asesor Experto.
Cuando se utiliza SaveHistory en el probador de estrategias los datos del aprendizaje testado se guardan en un fichero, con el nombre de FD_[Symbol]. Si se prueba el Asesor Experto sobre el EURUSD el fichero tendrá el nombre «FD_EURUSD», si es sobre GBPUSD – será «FD_GBPUSD», etc. Los archivos se guardan en la carpeta "Files" que es la carpeta de datos comunes para todos los terminales. Puede encontrar la Carpeta de Datos General a través del menú principal del MetaEditor. A través de esta carpeta se leen los datos por ReadHistory.
Además de los resultados de enseñanza guardados, el Asesor Experto guarda dos ficheros que son necesarios en el proceso comercial. Los ficheros se llaman: FDlast_buy[Symbol][TimeFrame], y FDlast_sell[Symbol][TimeFrame]. No preste atención a estos archivos.
El Asesor Experto depende del marco de tiempo sólo en la frecuencia para guardar los datos de aprendizaje y en el tiempo mínimo entre dos transacciones virtuales. Que es igual a la longitud de dos barras, así que hay alguna diferencia en los resultados de funcionamiento del Asesor Experto en diferentes marcos de tiempo.
La imagen muestra los resultados de aprendizaje de funcionamiento del Asesor Experto en EURUSD M15 con los parámetros por defecto.
Parámetros
- ReadHistory - Lee el historial de aprendizaje guardado.
- SaveHistory - Para guardar el historial de aprendizaje. Durante las pruebas el historial se guarda al final de la prueba, cuando está en funcionamiento - se guarda con regularidad el aprendizaje.
- Lots - Volumen de la posición.
- Nidelt - Número de patrones, no debe superar los 30.
- Nstop - Número de parámetros de posición virtual (diferentes valores de Stop Loss y Take Profit, Stop Loss y Take Profit son iguales), 1, 2 o 3.
- dstop - Paso de los cambios de parámetros de las posiciones virtuales (Stop Loss y Take Profit).
- forg - Ratio para olvidar los resultados de aprendizaje, el valor debe ser un poco más de 1.
- Probab - Nivel de probabilidad definida por los resultados de aprendizaje en los que se realiza la apertura de posición.
- NN - Tamaño del patrón, no debe superar los 12.
- delta - Paso de cambio para el parámetro del patrón.
- ReplaceStops - Modificar Stop Loss/Take Profit en señales de apertura nuevas. La adaptación del Stop Loss/Take Profit opera sólo hasta la dirección de la posición.
- Trailing - Nivel de Trailing stop; cuando el valor es 0, se desactiva el trailing stop.
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/1108
Bandas de Bollinger dibujadas con el estilo DRAW_SECTION es el medio habitual de dibujar ZigZag. La temporalidad en la que es calculada puede ajustarse en los parámetros de entrada. Es por eso que se utiliza un estilo tan inusual de dibujo.
Artificial IntelligenceAsesor Experto con un Perceptrón monocapa de 4 entrada que analiza los datos del oscilador Acelerator (AC).
Señal simple de cruce de MA para el Asistente del Asesor Experto
JPAlonso-modokiSe analiza la copia del EA de JPAlonso, actual campeón del ATC2012.