SOM: metodi di cottura - pagina 3

 

alexeymosc!

> Fatto un'analisi per la coppia GBPUSD su barre giornaliere, dal 1989 al 2011

[...]

> Periodo di OOS (dall'inizio del 2010 ad oggi).


È un errore di battitura o è il periodo OSS che è stato inavvertitamente allungato sul periodo di analisi?

 
Ah, bella domanda.
 
È semplice. La rete è stata costruita utilizzando i dati dal 1989 fino alla fine del 2009. E ho controllato la strategia risultante dall'inizio del 2010... Perché ti agiti tanto, non lo capisco. Ripetete voi stessi l'analisi e vedete con i vostri occhi.
 
È meglio che dicano qualcosa di concreto, hanno chiesto loro stessi i dati e non diranno una parola.
 
alexeymosc:
Faresti meglio a dire qualcosa di concreto, hai chiesto i dati e non hai detto niente.


Ciao Alexey!

Penso che molte persone qui siano interessate ai tuoi risultati. Cercherò di spiegare "dal mio punto di vista", quindi per favore non battete troppo i piedi e le corna!

Se eseguiamo la seguente trasformazione: Cycle = Close[]-ma(Close[], 25), allora otterremo un segnale stazionario (media = Const, sigma = Const). E proveremo a costruire un sistema di trading su questo ciclo usando SOM e lo stesso modello di lunghezza 40. Avremo un buon sistema robusto... E su una normale serie di prezzi ci sono tendenze stocastiche, che sono guidate da inflazione, deflazione e altri fondamentali esterni. E queste tendenze stocastiche impediscono a molti di ottenere sistemi stabili. Non mi è chiaro come trattarli usando solo la serie di prezzi di uno strumento. E il tuo risultato su una serie di prezzi ordinari è piacevolmente sorprendente!

 

Grazie! Sulla conversione capisco. Nel mio caso volevo spremere un risultato dal "solo prezzo". Francamente parlando, sono stato ispirato da alcuni compagni, che commerciano puramente sul prezzo e con successo (ci sono stati tali messaggi su questo forum).

Sono stato anche un po' sorpreso dal risultato, ma finora vedo alcuni punti deboli di questa strategia, vale a dire il drawdown (anche sul periodo di allenamento SOM) e la bassa frequenza dei trade. Risultano circa 250 pips al mese. Se lo fai funzionare su più strumenti, ottieni, diciamo, 1000 pips al mese, ma 1) irregolare e 2) i drawdown cresceranno ancora.

Pensando astrattamente, considero il compito di fare profitto (anche se sulla carta) nel mercato Forex come un compito dimensionale quasi infinito. E quindi cerco di "frugare" in diversi luoghi di questo spazio, per così dire. Beh - a volte vengono fuori soluzioni locali, imperfette, del problema.

 

alexeymosc, se non è difficile, ti prego di elaborare un po' di più, l'argomento è abbastanza interessante per me. Per cominciare, datemi uno script con cui sono stati preparati i dati, o la metodologia di preparazione dei dati, e in generale vorrei avere i risultati finali in mql, non in exel, se ci sono problemi con il passaggio alla scrittura mql, penso che ci aiuteremo, e imparerò la programmazione NS - non la capisco da solo, grazie in anticipo.

 

)) Tutto è già in excel (ho pubblicato 2 archivi). Credo di essere solo molto amichevole con esso, e penso che sia così...

Ma, al punto!

Non ho la sceneggiatura. Ma non è difficile implementare la formazione di voci in MQL. Calcoliamo max e min per le ultime 40 barre in base ai prezzi di apertura, compresa l'ultima completata. E poi convertiamo i prezzi aperti usando la nota formula: (Open-Min) / (Max - Min), formando così un vettore di 40 valori con valori nell'intervallo di [0;1].

Poi, personalmente preferirei allenare SKP in un neuropackage e fare un file dll che comunichi con l'Expert Advisor. È solo conveniente per me, in più è comodo fare tutte le analisi nello stesso Excel. Si potrebbe andare al problema di programmare la formazione SOM in MQL, questa è anche un'opzione, ma io NON sono un programmatore, non posso aiutare.... Posso preparare un modello di Expert Advisor per il tester, insieme a un file dll della mappa auto-organizzante, e possiamo finalizzare insieme il codice stesso e alcune sfumature.

A proposito, non è solo possibile fare trading sul grafico giornaliero. Ho ottenuto profitti su OOS-periodo anche su periodi di 15 minuti), ma i drawdown erano grandi...

 
alexeymosc:

Calcola dai prezzi di apertura il massimo e il minimo delle ultime 40 barre, inclusa l'ultima barra completata. Trasformiamo poi i prezzi aperti usando la ben nota formula: (Open-Min) / (Max - Min), formando così un vettore di 40 valori con valori nell'intervallo [0;1].

questo è probabilmente lo script:

//+------------------------------------------------------------------+
//|                                                     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);
}
//+------------------------------------------------------------------+

il codice è un po' lungo, ma dovrebbe essere comprensibile senza commenti

SZZ: Sono bravo con Excel, ma molto raramente - a livello di calcolatrice ))))

 

Grazie!

Lo script funziona, i valori sono corretti.

Ora sto pensando al file SOM, cercherò di allegarlo all'EA.