SOM: métodos de cocción - página 3

 

alexeymosc!

> Realizado un análisis para el par GBPUSD en barras diarias, 1989 a 2011

[...]

> Periodo de OOS (desde principios de 2010 hasta la actualidad).


¿Se trata de un error tipográfico o es el periodo de OSS el que se extiende inadvertidamente sobre el periodo de análisis?

 
Ja, buena pregunta.
 
Es muy sencillo. La red se construyó con datos desde 1989 hasta finales de 2009. Y he comprobado la estrategia resultante desde principios de 2010... Por qué te pones tan nervioso, no lo entiendo. Repita el análisis usted mismo y compruébelo.
 
Mejor que digan algo al respecto, ellos mismos han pedido los datos y no dicen nada.
 
alexeymosc:
Será mejor que digas algo al respecto, has pedido los datos y no has dicho nada.


¡Hola Alexey!

Creo que mucha gente aquí está interesada en sus resultados. Intentaré explicarlo "desde mi propio punto de vista", así que, por favor, ¡no pise demasiado los pies ni los cuernos!

Si realizamos la siguiente transformación: Ciclo = Cierre[]-ma(Cierre[], 25), obtendremos una señal estacionaria (media = Const, sigma = Const). Y vamos a intentar construir un sistema de trading sobre este Ciclo utilizando SOM y el mismo patrón de longitud 40. Conseguiremos un sistema bueno y robusto... Y en una serie de precios normal hay tendencias estocásticas, que son impulsadas por la inflación, la deflación y otros factores externos fundamentales. Y estas tendencias estocásticas impiden a muchos conseguir sistemas estables. No me queda claro cómo tratarlos utilizando sólo la serie de precios de un instrumento. Y su resultado en una serie de precios ordinarios es bastante sorprendente.

 

Gracias. Lo de la conversión lo entiendo. En mi caso, quería exprimir un resultado de "precio justo". Francamente hablando, me inspiré en algunos compañeros, que el comercio puramente en el precio y con éxito (había tales mensajes en este foro).

También me sorprendió un poco el resultado, pero hasta ahora veo algunos puntos débiles de esta estrategia, a saber, el drawdown (incluso en el período de entrenamiento de SOM) y la baja frecuencia de las operaciones. Resulta unos 250 pips al mes. Si lo ejecutas en múltiples instrumentos, obtienes, digamos, 1000 pips al mes, pero 1) irregular y 2) los drawdowns seguirán creciendo.

Pensando en abstracto, considero que la tarea de obtener beneficios (aunque sea sobre el papel) en el mercado Forex es una tarea de dimensiones casi infinitas. Y por eso trato de "hurgar" en diferentes lugares de este espacio, por así decirlo. Pues bien, a veces surgen soluciones locales e imperfectas del problema.

 

alexeymosc, si no es difícil, por favor, elabora un poco más, el tema es bastante interesante para mí. Para empezar, dame un script con el que se prepararon los datos, o la metodología de preparación de los datos, y en general me gustaría tener los resultados finales en mql, no en exel, si hay problemas con la transición a la escritura mql, creo que vamos a ayudar, y voy a aprender la programación NS - no lo entiendo yo mismo, gracias de antemano.

 

)) Todo está ya en excel ( he puesto 2 archivos). Supongo que soy muy amigo de ella, y creo que es así...

Pero, ¡al grano!

No tengo el guión. Pero no es difícil implementar la formación de entradas en MQL. Calculamos los máximos y mínimos de las últimas 40 barras por precios de apertura, incluyendo la última completada. Y luego convertimos los precios de apertura mediante la conocida fórmula: (Open-Min) / (Max - Min), formando así un vector de 40 valores con valores en el rango de [0;1].

Entonces yo personalmente preferiría entrenar el ACS en un neuropaquete y hacer un archivo dll que se comunicara con el Expert Advisor. Me resulta cómodo, además de que es conveniente hacer todos los análisis en el mismo Excel. Podría tomarse la molestia de programar la formación SOM en MQL, esto también es una opción, pero NO soy programador, no puedo ayudar.... Puedo preparar una plantilla de Asesor Experto para el probador, junto con un archivo dll del mapa autoorganizado, y podemos finalizar conjuntamente el código en sí y algunos de los matices.

Por cierto, no sólo es posible operar en el gráfico diario. Obtuve beneficios en el periodo OOS incluso en periodos de 15 minutos), pero los drawdowns fueron grandes...

 
alexeymosc:

Calcule, a partir de los precios de apertura, el máximo y el mínimo de las últimas 40 barras, incluida la última barra terminada. A continuación, transformamos los precios abiertos según la conocida fórmula: (Open-Min) / (Max - Min), formando así un vector de 40 valores con valores en el rango [0;1].

este es probablemente el guión:

//+------------------------------------------------------------------+
//|                                                     SOM_data.mq4 |
//|                               https://www.mql5.com/ru/users/igorm |
//|                               https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "https://www.mql5.com/ru/users/igorm"
#property link      "https://www.mql5.com/ru/users/igorm"

extern int     NumBars = 40;
extern string  FileName = "som_data.csv";

int start(){
   int i,Max,Min,file_handle;
   double _open[];
   double out,max_min;
   ArrayResize(_open,NumBars);
   file_handle = FileOpen(FileName,FILE_CSV|FILE_WRITE);
   if(file_handle<1){
         Print("Файл ",FileName,"не открыт для записи, ошибка №", GetLastError());
         return(0);
    }
    for(i=1;i<=NumBars;i++) _open[i-1] = Open[i];
    Max = ArrayMaximum(_open);
    Min = ArrayMinimum(_open);
    max_min = _open[Max] - _open[Min];
    if (max_min ==0){
         Print("Деление на ноль, невозможно выполнить код");
         return(0);
    }
    for(i=1;i<=NumBars;i++){
        out = (Open[i]-_open[Min]) / max_min;
        FileWrite(file_handle,out);
    }
return(0);
}
//+------------------------------------------------------------------+

el código es un poco largo, pero debería ser comprensible sin comentarios

SZZ: Soy bueno con Excel, pero muy pocas veces - a nivel de calculadora ))))

 

Gracias.

El script funciona, los valores son correctos.

Ahora estoy pensando en el archivo SOM, intentaré adjuntarlo al EA.