Forex GPT MA
- Asesores Expertos
- Evgeniy Kuzevanov
- Versión: 1.1
- Activaciones: 5
Este asesor crea de forma independienteuna red neuronal y se entrena durante el funcionamiento o cuando se lanza en el probador de estrategias; la red se crea a partir de los valores medios de los precios (basados en el indicador Media móvil).
Vea mi perfil para mis otros productos.
¡El asesor no utiliza librerías de terceros, no conecta nada, todos los cálculos se producen dentro del asesor, con la posibilidad de guardar los datos de la red neuronal y todos sus parámetros al entrenar, reiniciar o transferir a otro terminal utilizando los archivos creados durante su funcionamiento!
1. Principio básico de funcionamiento.
2. Construcción de una red neuronal.
3. Comprobación de las opciones de la red neuronal.
4. Bloque de apertura y cálculo de órdenes virtuales.
5. Filtro de análisis y selección de órdenes virtuales.
6. Descripción de los parámetros de entrada.
1. Principio básico de funcionamiento.
Este asesor utiliza y crea una red neuronal en su trabajo utilizando los valores del precio medio. Para el precio medio se utiliza el indicador Moving Average. En cada nueva barra, el asesor construye una red de celdas basándose en datos pasados, comprobando si la celda contiene un precio medio. Para construir una red, utilizamos los ejes de coordenadas x e y; cuando el precio medio está en una celda, escribe - 1 en ella; si no hay precio, entonces - 0. De esta manera, se forma una variante de la red, y esto sucede en cada nueva barra, entonces el asesor lo comprueba en su red neuronal ¿Existe tal opción de ubicación y si no, entonces añade esta opción a la red y da una señal para abrir órdenes virtuales, y si ya existe, entonces el bloque de cálculo de órdenes virtuales comienza a abrir órdenes virtuales y a seguir los cambios de precios y registra ganancias o pérdidas para cada opción que está en la red. Así, el asesor calcula virtualmente cada opción y acumula el historial de transacciones para cada opción de la red neuronal.
A continuación, las órdenes virtuales se filtran mediante 3 filtros y, cuando se alcanzan los criterios y se dispone de señales de la red, se colocan en negociación. Cuando esta opción está activada, el asesor puede guardar todos los datos de trabajo en archivos para aprender del historial o para transferirlos a otro terminal.
2. Construcción de una red neuronal.
Para entender cómo el asesor construye su red neuronal, veamos la imagen nº 1https://c.mql5.com/31/1112/forex-gpt-ma-screen-2118.jpg:
Vemos un gráfico de precios con el indicador Moving Average con el valor period=2 y una rejilla rayada (líneas rojas) de celdas de la red. A lo largo del eje X tomamos barras, que se pueden utilizar en pasos o cada barra, en la figura se utiliza step=4. A lo largo del eje Y tomamos valores del precio de apertura de la barra actual, construimos una rejilla hacia arriba sumando delta, y hacia abajo restando delta.
Resulta así: el asesor mira la barra actual y si hay valores del indicador Media Móvil en la celda, entonces el asesor escribe 1 en esta celda, si no hay ningún valor del indicador Media Móvil allí, entonces escribe 0.
La construcción de la red procede desde la celda superior izquierda de izquierda a derecha hacia abajo fila por fila, cuando la opción del asesor Filesave=true está activada, los datos de la red neuronal se escriben en el archivo fila por fila, cada línea en el archivo es una versión de la red rectificada en una línea en el orden de su construcción - la celda superior izquierda de izquierda a derecha hacia abajo figura No. 2 https://c.mql5.com/31/1112/forex-gpt-ma-screen-3578.png .
En esta figura, el contenido del archivo *_neural.csv almacena variantes de la red neuronal; cada línea es 1 variante de la red neuronal con valores 0 y 1.
En este caso, se trata de la formación de una red x=4 y=11 y delta=70, para verlo visualmente hay que romper la 1ª línea por x=4 y=11 - imagen nº 3: https://c.mql5.com/31/ 1112/forex-gpt-ma-screen-6086.png
Lo mismo se puede ver en el modo de panel de información habilitado Enable panel=true
Este ejemplo muestra claramente como se forma una red a partir de x=4 y=11 y step=1 - imagen No. 4: https://c.mql5.com/31/1112/forex-gpt-ma-screen-1840.png
Las barras se forman así de derecha a izquierda 0,1,2,3 y en la red la columna de la derecha en el medio cuesta 1, luego la segunda columna en el medio también cuesta 1 y en la 3ra columna 1 cuesta más que los 1 que estaban antes, porque el precio allí es más alto que ellos y en la columna de la izquierda 1 es aún más bajo que esas unidades ya que el precio allí era más bajo que esos valores.
Así se forma una red neuronal que se almacena como un array de datos en la memoria del asesor y que, con la opción Filesave=true activada, se sube cada lunes a los ficheros MQL4/files/ cuando se opera y cuando se prueba en tester/files/.
3. Comprobación de las opciones de la red neuronal.
Después de que se ha formado 1 variante de la red neuronal, el asesor monitoriza la nueva variante de la red en cada nueva barra, si difiere de lo que ya existe, el asesor la añade a su base de datos mientras abre órdenes virtuales en ambas direcciones, de esta forma el asesor hace un seguimiento tanto de venta como de compra para cada opción de la red, y después, cuando analice qué opción de venta o de compra tendrá una buena valoración, operará. En cada barra, el asesor comprueba, como si estuviera construyendo una red, y mira cómo se encuentra el indicador allí y, de acuerdo con esto, toma una decisión; si no hay tal opción, entonces añade, si la hay, abre órdenes virtuales. Esto continúa mientras el asesor está trabajando.
4. Bloque de apertura y cálculo de órdenes virtuales.
El asesor implementa un mecanismo para abrir y analizar órdenes virtuales ya abiertas. Utilizando matrices de variables, el asesor rastrea las señales del bloque de red neuronal y, una vez recibidas, comienza a monitorizar cómo cambia el precio en cada barra, utilizando los valores de apertura, máximo, mínimo y cierre de la 1ª barra. Teniendo en cuenta la dirección de la operación, el bloque calcula el beneficio de cada orden y calcula cada opción de la red. Los cálculos utilizan los valores de ganancia máxima y mínima para drawdown, factor de ganancia, ganancia y pérdida, y el número de órdenes para cada opción de red. Así, si hay 20 opciones en la red neuronal, entonces en el bloque de órdenes virtuales habrá 20 opciones para las variables SL, TP, PF, DD, ordercount para vender y los mismos valores para comprar. Todos estos valores se almacenan en la memoria del EA como una matriz de datos; cuando la opción Filesave=true está activada, el EA carga estos valores en los siguientes archivos: MQL4/files/ al operar y al probar en tester/files/:
*_buy_d1_v1.csv, *_buy_d1_v2.csv y sus copias por si acaso.
*_sell_d1_v1.csv, *_ sell _d1_v2.csv y sus copias por si acaso.
Cada línea son los valores de SL, TP, PF, DD, ordercount para una opción de red. (ver imagen No. 5: https: //c.mql5.com/31/1112/forex-gpt-ma-screen-3958.png )
*_data.csv - información sobre la fecha de carga, el número de opciones de red y cuánto beneficio por filtros se escribe aquí, el balance general. Usando este archivo, nos guiamos desde qué fecha hasta qué fecha el asesor ha acumulado historia para reiniciar o cuando la transferencia después de la formación en la historia.
5. Filtro para analizar y seleccionar órdenes virtuales.
Todas las opciones de red se consideran órdenes virtuales. A pesar de que cada opción de red mantiene estadísticas sobre dos direcciones de comercio a la vez, tanto de compra como de venta. Todos los valores pueden ser buenos y malos, poco rentables y positivos; para encontrar las mejores opciones, se realiza un filtro que selecciona las mejores de entre todos los valores según un determinado criterio. Se aplican 3 tipos de filtros:
Para los filtros se utilizan los siguientes cálculos:
Filtr1 - Por beneficio máximo.
Filtr2 - Por beneficio máximo*factor de beneficio.
Filtr3 - Por beneficio máximo*factor de beneficio*número de pedidos.
Cada filtro se puede activar y desactivar; cuando los filtros están activados, es posible abrir 3 órdenes a la vez.
6. Parámetros de entrada
Magicnumber - Número para identificar sus órdenes;
Lot - tamaño del lote;
On/off MM - activar o desactivar la gestión monetaria;
Risk % - Porcentaje del depósito para MM;
Enable Panel - Habilitar el panel de información;
panel fon Color - Color de fondo del panel de información;
panel text Color - Color del texto del panel de información;
breakevenon/off - Habilitar breakeven;
breakeven distance - distancia de activación para transferir SL a +;
breakeven pips - cuántos puntos para establecer SL a +;
Trailing ON u OFF - habilitar trailing stop;
MinProfit for Trailing - distancia para activar la transferencia de SL a +;
TrailingStop - cuántos puntos para establecer SL a +;
TrailingStep - cuántos puntos para mover SL a +;
Filesave - Cuando está habilitado, el asesor guardará todos los parámetros en archivos con formato *.scv - al probar, en la carpeta del terminal tester/files/folder with advisor parameters/filename*.scv. Al operar, en la carpeta del terminal MQL4/archivos/carpeta con parámetros del asesor/nombre de archivo*.scv.
Filename - nombres de archivos para guardar la información: Filename_buy.csv, Filename_buy_copy.scv, Filename_sell.csv, Filename_sell_copy.scv, Filename_data.csv, Filename_data_copy.scv, Filename _neural .csv, Filename _neural _copy.scv;
PF - valor mínimo del factor de beneficio para filtrar las órdenes virtuales;
MA - período del indicador Moving Average para determinar la red neuronal;
SL* - valor de Stop Loss - 16 opciones de cálculo;
TP* - valor de Take Profit - 16 opciones de cálculo;
k_sl_tp - coeficiente para multiplicar los valores SL TP;
delta - rango de valores de precio en puntos para formar una red a lo largo del eje Y;
step - paso en barras para formar una red a lo largo del eje X;
Input net_x - número de celdas a lo largo del eje X;
Entrada net_y - número de celdas a lo largo del eje Y;
profittestmax - beneficio mínimo para que las órdenes virtuales empiecen a abrir órdenes reales;
dd_max - reducción máxima para las órdenes virtuales, más de la cual no se filtrará para la selección para la negociación real;
NumberOfTry - número de intentos para abrir y modificar órdenes;
Slippage - deslizamiento;
Resultado:
Una vez filtradas las órdenes virtuales, hay otra opción: profittestmax, donde el beneficio se indica en la moneda del depósito, por ejemplo cuesta 50, lo que significa que la negociación real comenzará sólo cuando el beneficio de las órdenes virtuales para las opciones de la red supere estos valores.
Resulta que el asesor parece estar optimizando los parámetros él mismo, calculando todas las opciones SL TP y seleccionando las mejores opciones de ellas y luego toruget basándose en ellas.
Cuando la opción Filesave=true está activada, los archivos se escriben una vez a la semana - el lunes por la mañana.
Si usted se pregunta por qué la red se compone sólo de un máximo de x=4 e y=13, entonces la respuesta es: cuanto mayor sea el tamaño de la red, más opciones tiene que serán menos repetidas en la historia y por lo tanto habrá pocas estadísticas sobre ellas, esto también aumenta los recursos y el tiempo de operación del ordenador para la búsqueda y entrenamiento de la red, y hay otro parámetro importante: la posibilidad de almacenar variables tampoco es ilimitada y está limitada por las capacidades del lenguaje de programación MQL4. Tras muchas pruebas y optimizaciones, los parámetros máximos quedaron exactamente en x=4 e y=13.

