Concetto di corrispondenza del modello EA

 

Publi

Concetto di corrispondenza del modello EA

 

Publi

Pagina 1 di 7 123 ... UltimaUltima
Risultati da 1 a 10 di 61

Discussione: Concetto di corrispondenza del modello EA

  1. #1
    1 Allegato(i) Non c'è stata molta attività sul thread Old Dogs with New Tricks a parte i post che hanno iniziato a sminuire l'argomento originale. Ho notato nei registri di raccolta delle zecche che questa settimana c'erano 110 utenti unici, quindi immagino che queste persone stiano facendo soldi.

    Questo è un nuovo concetto EA che è programmato per trovare i propri schemi di candele. L'algoritmo di ricerca del modello è semplice: controlla le precedenti x barre chiuse e genera una stringa simile a LLDSSL che significa che le barre da destra (più recenti) a sinistra erano lunghe, corte, corte, doji, lunghe, lunghe.

    L'EA esegue quindi la scansione della cronologia del grafico alla ricerca di uno schema di barre con la stessa identica sequenza. L'EA controlla x barre dopo la sequenza per vedere se quella barra era lunga o corta. I risultati vengono quindi aggiunti alle statistiche generate dall'EA.

    Se la probabilità che si verifichi un evento è maggiore della soglia, l'EA prenderà il commercio di conseguenza.


    Impostazioni:
    extern string Remark1 = == Impostazioni principali ==; extern int MagicNumber = 0;Questo numero dovrebbe essere univoco quando più EA sono collegati a un terminale. extern bool SignalsOnly = False;Se impostato su true, l'EA ti avviserà solo di uno scambio utilizzando qualsiasi combinazione degli avvisi seguenti. extern bool Alerts = False;Se impostato su true, l'EA invierà un avviso pop-up quando arriva un segnale di trading. extern bool SignalMail = False;Se impostato su true, l'EA ti invierà un'e-mail (supponendo che tu abbia impostato la posta nel tuo terminale MT4) quando arriva un segnale di trading. extern bool PlaySounds = False;Se impostato su true, l'EA riprodurrà il file alerts.wav quando arriva un segnale di trading. extern bool ECNBroker = False;Alcuni broker richiedono agli EA di effettuare prima uno scambio, quindi modificare lo scambio con stoploss e takeprofit. Se il tuo broker lo richiede, imposta questo valore su True. extern bool EachTickMode = True;Se impostato su true, l'EA intraprenderà uno scambio immediatamente se vede un segnale. Se impostato su false, l'EA prenderà uno scambio solo se c'è un segnale alla fine della barra. extern double Lots = 0;Dimensione fissa del lotto extern bool MoneyManagement = False;Abilita/disabilita la funzione di dimensionamento del lotto. extern int Rischio = 0;La percentuale del tuo margine disponibile che sei disposto a investire in un'operazione. extern int Slippage = 5;Slittamento massimo consentito quando si effettua un ordine. extern int StopLoss = 100;Hard Stoploss in pips. extern int TakeProfit = 60;Hard take profit in pip. extern string Remark2 = == Impostazioni modello ==; extern int NumberOfBars = 4;Il numero di misure da utilizzare durante la generazione di un modello. extern int PredictionBar = 1;Il numero di barre dopo una stringa di pattern per controllare una previsione. extern int HistoryBars = 500;Il numero di barre da controllare durante la ricerca di stringhe di pattern corrispondenti. Impostare su 0 per utilizzare tutte le barre. extern int TimeLimit = 10;Il numero massimo di secondi dopo l'apertura della barra corrente per piazzare uno scambio. extern int BarsClose = 1;Il numero di barre dopo l'apertura di un trade per chiudere un trade. extern double Threshold = 50.0;La percentuale minima richiesta per piazzare uno scambio. extern bool ReverseTrades = True;Cambia i segnali lunghi in segnali corti e i segnali corti in segnali lunghi. Nota: questo EA è altamente sperimentale e non si è ancora dimostrato redditizio. Utilizzare a proprio rischio.

    https://www.forexmad.com/attachments...8500707996.mq4

  2. #2

    Citazione Originariamente Scritto da ;
    Ebbene 127 (o per meglio dire 128) significa che abbiamo 7 diversi valori booleani da usare.... Immagina di prendere come base il pattern che ho descritto sopra, quindi abbiamo 4 Bit su 7 usati... quindi si potrebbero usare altri 3 bit per classificare ad es. la lunghezza della candela dipende dall'ATR o qualcosa del genere...
    Usando il patternscheme da
    https://www.forexmad.com/trading-sys...-mistakes.htmland do not regard volatility at first EURUSD would generate for the last 1000 days the following string: 13256276506821245276424622681663426726242246762265 34324625322866507255476753621227547261768524416511 27256234164246630353207568583235667616266311853625 23654542876622235253753341625163345266315667005406 36010266246473613322665741266216066576051642642156 52556462531242778170671211200663216040466185316864 54443272326546652623222065867625318403666664146167 56576225602377171663260660062626765267531601565022 76203657124312766662664175627524526062616457212446 16716067066647436548633858240661452306086566561163 22272321672063205626623455231556622621673562766357 62131636182316221772182825528342283162117552102224 20642683628841252427751485155223213682564275286174 55663272260316166366652886757182164212416226106882 26625641417025735627115327276337366212652170602202 06211227366236573244627532366660026676242165622765 72626735621351613463164157452366142254462266662446 5326837663833661065541172467162666313130525 26271645615267160160620465821274272524556775083532 66474262247422226352156111262235580713623513362652 2322563

  3. #3

    Citazione Originariamente Scritto da ;
    High - Open restituisce un valore pip, chiamiamolo HO High - Close restituisce un valore pip... chiamiamolo HC Low - Open = LO Low - Close = LC Se dovessi generare una stringa utilizzando questi valori. Userei StringConenate(HO , HC , LO , LC) La stringa risultante è un punto a 4 coordinate che può essere tracciato nello spazio 4-d. Ogni punto rappresenta esattamente una barra, nessun'altra barra ha quella coordinata. Per quanto riguarda la parte a), ho trovato solo 20.000 barre uniche contro 3 milioni, sono abbastanza sicuro che le barre si ripetano. Per quanto riguarda la parte b) L'attuale ricerca del modello...
    Ok, ora è chiaro... In questo modo descrivi le barre tralasciando la loro posizione assoluta nel grafico, che è data da OHLC... Bel modo... Tuttavia hai detto che normalizzerai ogni valore, che adatta a 255 valori possibili... ciò significa: HO - massimo 255 possibilità CL - massimo 255 possibilità OC - max. 255 possibile. Tutto sommato avremmo circa 16 milioni di diversi tipi di barre che alla fine differiscono solo di un bit (il che significa che la candela x è uguale alla candela y ma leggermente più lunga)... Ora immagina, ogni barra è distribuita uniformemente (non so se il mio la traduzione è corretta - voglio dire, la possibilità che ogni barra appaia è uguale a qualsiasi altra barra) ciò significa che devi aspettare 4 settimane all'interno del tuo database tick per vedere tutte le barre possibili... Ok, l'approccio a questo progetto è uniforme che non esiste una distribuzione uniforme - tuttavia con questa classificazione profonda devi considerare miliardi di zecche per trovare alcuni schemi adatti...

  4. #4

    Citazione Originariamente Scritto da ;
    Rimuovi il valore assoluto in #3 e non hai bisogno di #4, giusto?
    Destra. L'unico problema è l'utilizzo della memoria. Ma non sono sicuro che ci sia qualcosa di più breve in MQL4 di un numero intero a 4 byte.

  5. #5

    Citazione Originariamente Scritto da ;
    Ronald, cosa ne pensi di questo set: 1. High - Open 2. Close - Low 3. Abs(Close - Open) 4. che è maggiore Open o Close (0 - Open gt; Close; 1 - Open lt; Close ) ?? possibile utilizzare solo 1 bit per rappresentare n. 4. Inoltre, la visualizzazione può anche essere più semplice. Diciamo che abbiamo le seguenti informazioni sulla barra (in questo modo memorizziamo i dati): S1 = Alto - Aperto S2 = Chiuso - Basso S3 = Abs(Chiuso - Aperto) S4 =...
    Rimuovi il valore assoluto in #3 e non hai bisogno di #4, giusto?

  6. #6

    Citazione Originariamente Scritto da ;
    IMHO, devi stare attento a cercare di identificare troppi schemi distinti (ad esempio: 255)....
    In statistica, quando si calcolano i numeri diretti, è necessaria una dimensione minima del campione di 30 per ottenere la curva normale minima. Quando si confrontano le proporzioni, è necessario un minimo di 15 per determinare la curva normale minima. Hai ragione, ho bisogno di un campione considerevole, e non c'è motivo per cui non posso inserirlo come filtro per l'EA. Ricorda, non sono interessato a ogni singolo schema, mi interessa solo quelli che si verificano in modo prevedibile.

  7. #7
    IMHO, devi stare attento a cercare di identificare troppi schemi distinti (ad esempio: 255). Il motivo è che vuoi avere validità statistica prima di iniziare a premere il grilletto sulle decisioni commerciali. Per ottenere la validità statistica, è necessario disporre di un numero considerevole di occorrenze per ogni modello prima di poterne trarre conclusioni significative. Quando inizi a suddividere ogni sezione di prezzo in pezzi più piccoli della torta statistica, ci vuole molto tempo prima che tu veda abbastanza occorrenze di una particolare fetta per identificare eventuali tendenze valide. Ad esempio, supponiamo che dopo un periodo di tempo significativo tu abbia trovato 6 occorrenze di (255)(202)(041)(132) e di quelle 6 occorrenze, 5 volte il prezzo è aumentato di 50 pips successivamente, e 1 volta successivamente è diminuito di 20 pips. Cosa ti dice questo sulla validità del modello? Sfortunatamente, poco - se non niente - utile. Hai bisogno di dozzine (e idealmente centinaia) di occorrenze di uno schema prima di poter garantire, statisticamente, che ciò che stai vedendo non sia solo un blip casuale: schemi nascenti che emergono dal rumore di fondo, solo per svanire prima che possano essere tratto profitto da.

  8. #8
    Ronald, cosa ne pensi di questo set: 1. High - Open 2. Close - Low 3. Abs(Close - Open) 4. che è maggiore Open o Close (0 - Open gt; Close; 1 - Open lt; Close ) ?? possibile utilizzare solo 1 bit per rappresentare n. 4. Inoltre, la visualizzazione può anche essere più semplice. Diciamo che abbiamo le seguenti informazioni sulla barra (in questo modo memorizziamo i dati): S1 = High - Open S2 = Close - Low S3 = Abs(Close - Open) S4 = 0 IF Open gt; Chiudere; 1 SE Aperto lt; Chiudi Prima della visualizzazione facciamo qualcosa del genere: IF S4 == 0 THEN S3 = -S3 E usa S1, S2 e S3 per visualizzare la barra. Ovviamente possiamo anche solo memorizzare n. 3 come Chiudi - Apri (con segno) e non utilizzare n. 4 a tutti ... spero che abbia un senso

  9. #9

    Citazione Originariamente Scritto da ;
    Potresti chiarire con un esempio? Non sono sicuro di cosa intendi con equazione High - Open e così via ... Come ho affermato, abbiamo 255 caratteri possibili, lasciami valutare questo fatto: a) si potrebbe espandere questo utilizzando 2 byte per ogni algoritmo di pattern bar dovrebbe lavorare anche su questo, il che significa che abbiamo potenziali 65k Bar-Types b) pensando a pt. a) la mia opinione è che non si dovrebbe mai usare il massimo di 255.... più differenze nei tipi di barre cerchi, più barre uniche trovi... tutto sommato potrebbe diventare qualcosa di improbabile...
    High - Open restituisce un valore pip, chiamiamolo HO High - Close restituisce un valore pip... chiamiamolo HC Low - Open = LO Low - Close = LC Se dovessi generare una stringa utilizzando questi valori. Userei StringConenate(HO , HC , LO , LC) La stringa risultante è un punto a 4 coordinate che può essere tracciato nello spazio 4-d. Ogni punto rappresenta esattamente una barra, nessun'altra barra ha quella coordinata. Per quanto riguarda la parte a), ho trovato solo 20.000 barre uniche contro 3 milioni, sono abbastanza sicuro che le barre si ripetano. Per quanto riguarda la parte b) L'attuale ricerca di modelli EA utilizza 3 classificazioni per barre (lunghe, corte, doji). Ovviamente era troppo poco. Sto cercando di sviluppare qualcosa per classificare 255 tipi di barre. Rispetto alle mie 20.000 barre uniche originali, ciascuno dei 255 caratteri rappresenta ~ 78 barre. Immagino che sia un intervallo abbastanza sicuro per identificare in modo univoco modelli ragionevoli. In caso contrario, suppongo che dovrò aggiungere un altro byte. Sto ancora cercando di trovare un modo per rimuovere una coordinata pur identificando in modo univoco ogni barra, in questo modo posso almeno visualizzare i dati.

  10. #10
    Citazione Originariamente Scritto da ;
    Hai ragione, l'avevo dimenticato
    . [modifica]: Insieme, c'è un altro modo per creare una barra unica basata su quelle 6 (o meno?) equazioni? PER ESEMPIO. Alto - Apri Alto - Chiudi Basso - Apri Basso - Chiudi Supponendo che io trasformi ogni risposta in una stringa e quindi combini le stringhe, qualsiasi altra barra che corrisponda a quella stringa numerica univoca dovrebbe apparire esattamente come la barra originale. [Fine modifica]
    Potresti chiarire con un esempio? Non sono sicuro di cosa intendi con equazione High - Open e così via ... Come ho affermato, abbiamo 255 caratteri possibili, lasciami valutare questo fatto: a) si potrebbe espandere questo utilizzando 2 byte per ogni algoritmo di pattern bar dovrebbe lavorare anche su questo, il che significa che abbiamo potenziali 65k Bar-Types b) pensando a pt. a) la mia opinione è che non si dovrebbe mai usare il massimo di 255... più differenze si cercano nei tipi di barra, più barre uniche si trovano... tutto sommato potrebbe diventare improbabile trovarne qualcuna modello adatto, quando si ha così tanta scelta....

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Il sito di forexmad utilizza cookie
Il sito di forexmad utilizza cookie, alcuni dei quali già installati. Per avere maggiori informazioni sui nostri cookie ti preghiamo di cliccare qui. Ti preghiamo di cliccare sul bottone a destra per accettare i nostri cookie. Se continui a navigare sul sito di forexmad assumeremo che sei d'accordo ad utilizzarli.