L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 891

 
elibrario:
31 categoria... no, è più una discretizzazione con 31 passi. Uno degli articoli di Vladimir lo usa e il risultato è altrettanto buono.

Solo se i dati originali stessi sono buoni....

 
Mihail Marchukajtes:

Per prima cosa, registrate il momento in cui viene presa la decisione. Che sia un evento. Poi in questo momento, quando l'evento si è verificato, salvare i valori degli indicatori.

Per essere onesto, non capisco bene la tua tabella. Cosa c'è dentro?

Quindi qual è il punto di salvare il valore esatto, e non un modello - per esempio il noto RSI, come ho, se si apre sopra il livello 70, allora 1, sotto il livello 30, allora -1, ma non entrambi, allora 0.

Nella tabella c'è un insieme di regole con un alto punteggio, che sono state formate sulla base dei risultati dell'albero. Uso Deductor Studio - per i principianti, che penso di essere, è abbastanza buono, ma è difficile ottenere risultati di analisi dalla versione gratuita, così ho filtrato le regole e scelto le migliori e le ho digitate manualmente nel codice.

Oggi ho automatizzato il processo e ho notato il seguente fenomeno: una regola potrebbe essere incompleta se la sua parte dopo il filtraggio di un campione dà solo un valore di predittore (cioè per esempio se il predittore ha 2 posizioni, e dopo il filtraggio (applicando alcune regole) si ottiene un insieme così strano, un esempio su due regole:

con regole definite - verde, qualsiasi valore - giallo, non definito - rosso.

L'incertezza salta fuori solo quando dopo aver filtrato con le regole non abbiamo valori alternativi delle variabili, ma in altre condizioni possono apparire e la regola sarà eseguita, non perché si è dimostrata corretta, ma perché non ha incontrato la situazione prima e non ha potuto valutarla e la considererà simile anche se potrebbe essere il contrario.

 
Aleksey Vyazmikin:

Quindi qual è il punto di mantenere il valore esatto e non qualche modello - per esempio il ben noto RSI, come il mio, se si apre sopra 70 allora 1, sotto 30 allora -1, se non entrambi allora 0.

Nella tabella c'è un insieme di regole con un alto punteggio, che sono state formate sulla base dei risultati dell'albero. Uso Deductor Studio - per i principianti, che penso di essere, è abbastanza buono, ma è difficile ottenere risultati di analisi dalla versione gratuita, così ho filtrato le regole e scelto le migliori e le ho digitate manualmente nel codice.

Oggi ho automatizzato il processo e ho notato il seguente fenomeno: una regola potrebbe essere incompleta se la sua parte dopo il filtraggio di un campione dà solo un valore di predittore (cioè per esempio se il predittore ha 2 posizioni, e dopo il filtraggio (applicando alcune regole) si ottiene un insieme così strano, un esempio su due regole:

con regole definite - verde, qualsiasi valore - giallo, non definito - rosso.

L'ambiguità fa schifo quando dopo aver filtrato con le regole non abbiamo valori alternativi per le variabili, ma in altre condizioni possono apparire e la regola sarà eseguita non perché si è dimostrata corretta, ma perché non ha incontrato questa situazione prima e non ha potuto valutarla e la considererà simile, anche se può essere il contrario.

Per rispondere alla sua domanda principale. Quando l'RSI è sopra 70, si ha solo un valore di 1 (uno), ma è molto importante per NS sapere quanto sopra 70 l'RSI mostra. Se è 70,05 è una cosa e se è 73 è un'altra cosa, figuriamoci 90, 80 o qualsiasi altro numero tra 70 e 100. È in queste inezie che il modello cerca di aggrapparsi all'IMPORTANTE! Comunque, è così. E assegnando strettamente le unità si priva la rete di informazioni importanti per essa, IMHO, naturalmente!!!

 

Sapete, tutti qui sono tutt'altro che stupidi, direi addirittura molto intelligenti e logici nei loro ragionamenti. La programmazione è un impegno di logica. Ma ecco il fatto.... Quando iniziate a collegare il TS vi basate unicamente sulle vostre conclusioni logiche e su tutte le conclusioni che traete dalla vostra esperienza e sulla frase "Beh è logico", che dovreste fare così e così. Ma i test dimostrano l'invalidità delle vostre conclusioni e non capite perché non funziona. Dopo tutto, hai fatto tutto in modo logicamente corretto. Ma fare qualcosa in modo logico non significa che sia giusto. Molte persone sono ostaggio della propria logica, che è naturalmente corretta, ma perché non funziona...... E commetti lo stesso errore senza nemmeno sapere che lo fai più e più volte in base alle tue conclusioni logiche.

Come esempio, ho già dato: logicamente, più grande è il modello, più intelligente è...

Esempio: i modelli medi funzionano meglio di quelli grandi o piccoli. Questo è un esempio...

Hai calcolato che assegnare 1 se l'RSI è superiore a 70 è giusto, ma per una rete non lo è. E tu dici: e la griglia che ho reso il tuo lavoro più facile, come puoi non capire? Ma purtroppo non potrà rispondervi che non è sufficiente. Che con la tua unità hai stupidamente ucciso tutte le informazioni importanti.... Anche questo è un esempio...

E in generale il campo del MO è alogico. Qui le conclusioni logiche non funzionano bene. Le conclusioni alogiche vanno bene qui!!!!

 
Mihail Marchukajtes:

Per rispondere alla sua domanda principale. Quando il PSI è superiore a 70, si ha solo un valore di 1 (uno), ma è molto importante per NS sapere quanto sopra 70 il PSI mostra. Se è 70,05 è una cosa e se è 73 è un'altra cosa, figuriamoci 90, 80 o qualsiasi altro numero tra 70 e 100. È in queste inezie che il modello cerca di aggrapparsi all'IMPORTANTE! Comunque, è così. E assegnando strettamente le unità si priva la rete di informazioni importanti per essa, IMHO, naturalmente!!!

Forse hai ragione, ma io procedo da tali considerazioni, se il sistema senza NS funziona secondo tali regole con successo, allora cosa impedisce di capire e trovare queste regole di NS? Ieri ho postato degli screenshot per un confronto. Finora il mio compito è tale che il risultato dell'apprendimento automatico sarebbe migliore dell'ottimizzazione e della logica abbastanza dura in TS.

 
Aleksey Vyazmikin:

Forse hai ragione, ma il mio ragionamento è che se un sistema senza NS funziona con successo secondo tali regole, cosa ti impedisce di capire e trovare quelle regole NS? Ieri ho postato degli screenshot per un confronto. Finora, il mio obiettivo è che il risultato dell'apprendimento automatico sia migliore dell'ottimizzazione e della prescrizione di una logica piuttosto rigida in TS.

Dammi il link dove hai postato gli screenshot... Darò un'occhiata a.... E per quanto riguarda le regole, gliele stai dando nel modo sbagliato. Tu credi di nutrirla nel modo giusto, ma lei muore di fame per mancanza di informazioni. Vi state fraintendendo. Non puoi spiegarle esattamente quello che vuoi, così lei ti dà il risultato come lo capisce. Vuoi che ti aiuti con il tuo TS. Solo all'interno delle linee guida ....

Prima di tutto, dimmi quale TS di base usi?

 
Mihail Marchukajtes:

Lanciami un link a dove hai postato gli screenshot... fammi vedere.... E per quanto riguarda le regole, gliele stai dando nel modo sbagliato. Tu pensi di nutrirla nel modo giusto, ma in realtà lei sta morendo di fame per mancanza di informazioni, quindi vi state fraintendendo. Non puoi spiegarle esattamente quello che vuoi, così lei ti dà il risultato come lo capisce. Vuoi che ti aiuti con il tuo TS. Solo all'interno delle linee guida ....

Prima dimmi che TS di base stai usando.

Ecco il linkhttps://www.mql5.com/ru/forum/86386/page889#comment_7378517

Riguardo alla fame, solo ora sto pensando che sto alimentando troppo i dati, dato che in effetti non vanno tutti alle regole...

Interessante l'idea che non riesco a spiegare quello che voglio, cioè si tratta degli obiettivi sbagliati?

E TC, quindi quello di base è semplice - tartarughe su minuti. Il resto viene eseguito da filtri a cascata basati sulle mie osservazioni del mercato.

 
Aleksey Vyazmikin:

Ecco il linkhttps://www.mql5.com/ru/forum/86386/page889#comment_7378517

Riguardo alla fame, sto pensando solo ora che sto alimentando troppo i dati, dato che in effetti non vanno tutti alle regole...

Interessante l'idea che non riesco a spiegare quello che voglio, cioè si tratta degli obiettivi sbagliati?

E TC, quindi quello di base è semplice - tartarughe su minuti. E il resto è fatto da filtri a cascata costruiti dalle mie osservazioni del mercato.

Quanti segnali al giorno fa la tartaruga su minuti give????

Il TS di base è necessario solo per il momento di prendere una decisione. C'è un segnale sul TS di base. Tutto comincia ad analizzare il mercato. Screenshot dei segnali del TS di base.

 
Mihail Marchukajtes:

Quanti segnali al giorno dà la tartaruga su minutes????

Il TS di base è necessario solo per il momento di prendere una decisione. Un segnale è formato dal TS di base. Tutti noi iniziamo ad analizzare il mercato. Screenshot dei segnali del TS di base.

Il mio Expert Advisor sta migliorando continuamente, quindi non ho statistiche - ho 8 segnali l'8 maggio e 5 segnali perdenti, ma ho chiuso la giornata con profitto. Ho notato per me stesso che la sera prima delle vacanze è meglio non fare trading - controllerò lo storico - la sera c'era 1 entrata stupida, che poteva essere evitata, ma che ha morso il 20% del reddito giornaliero.

Beh, il mio sistema di trading non è strutturato in modo standard, cioè la decisione di entrare nel mercato è generata costantemente, a seconda della posizione del prezzo nel canale di Doncian, e poi i filtri iniziano a lavorare e infine forniscono la decisione di aprire la posizione o no. In generale, idealmente, ho bisogno di trovare un fattore esterno che possa attivarli/disattivarli in diversi momenti del mercato. Ho iniziato a lavorare su NS solo questa settimana, mentre sto creando l'ambiente per il mio lavoro e non ho fatto molto lavoro sulla selezione dei predittori, ma ho già trovato alcuni modelli interessanti, che uso comunque nel mio EA.

 

Questo è più o meno tutto il prerequisito di base per l'input

      double HighD=Donchianf(0,0);
      double LowD=Donchianf(1,0);
      double PriceProc=0.0;

      if(HighD-LowD>0) PriceProc=((Open(0)-LowD)/(HighD-LowD))*100.0;
      else
        {
         SellNow=false;
         BuyNow=false;
        }

      priceBuy   =Open(0);
      priceSell  =Open(0);


      if(CountMarketOrder_OS==0 && CountMarketOrder_OB==0 && HighD>0 && LowD>0)
        {
         if(PriceProc<=ProcOpenBuy && PriceProc>50.0)BuyNow=true;
         if(PriceProc>=ProcOpenSell && PriceProc<50.0)SellNow=true;
        }
Motivazione: