Frattali di Williams

Forums ProRealTime forum Italiano Supporto ProOrder Frattali di Williams

Viewing 15 posts - 1 through 15 (of 16 total)
  • #204923

    Buongiorno,

    nel poco tempo libero a disposizione e con le mie limitate conoscenze, sto cercando di riprodurre un sistema per Eur Usd con regole prese da un video su Youtube al fine di effettuare dei backtest.

    Si utilizzano i frattali di Williams, il codice l’ho trovato qui: https://www.prorealcode.com/prorealtime-indicators/bill-williams-fractals/

    Le regole sono:

    • time frame a 5 minuti.
    • Individuare il trend di “fondo” (giornaliero o settimanale), ci provo con il supertrend e la media mobile esponenziale; entrare solo in direzione del trend di fondo.
    • Entrata long: quando ci sono 2 frattali “up” con massimi crescenti e 2 frattali “down” con minimi crescenti.
    • Entrata short: quando ci sono 2 frattali “up” con massimi decrescenti e 2 frattali “down” con minimi decrescenti.
    • Stop loss: per i long “x” pips sotto il secondo frattale “down”; per gli short “x” pips sopra il secondo frattale “up”.
    • Dopo “z” pips di guadagno, mettere la posizione in breakeven. In tal caso, al rispetto delle condizioni di sopra, consentire l’apertura di altre posizioni.
    • Chiudere la posizione long quando un frattale “up” si presenta ad un livello inferiore del penultimo (viceversa per le posizioni short).

     

    Il codice che ho provato a scrivere mi da sempre… 0 operazioni! Dove sbaglio?

     

    #204924

    Prova a modificare le righe 13-17 con queste:

    non l’ho provato.

    1 user thanked author for this post.
    #204980

    Grazie Roberto,

    ho provato ma il risultato non cambia

    #205040

    Oltre alla modifica di cui sopra, è necessario azzerare (stabilisci tu quando) le variabili countdw e countup, altrimenti avranno sempre valori maggiori di 2 o minori di -2, quindi le condizioni d’entrata non saranno nai verificate. Se aggiungi queste due righe alla fine del codice, vedrai i valori che hanno le due variabili candela dopo candela nella finestra delle variabili appositamente visualizzata dal backtest:

    Inoltre metti lo Stop Loss in modo errato, ad esempio:

    inserisce lo Stop Loss al numeri di pip (punti) indicato da TradePrice, quindi molte migliaia! SET STOP LOSS richiede una differenza di prezzo (ad esempio CLOSE – LOW[1]), non un prezzo. Devi usare questa istruzione per mettere lo stop (o eventualmente il target) al prezzo indicato da TRADEPRICE:

     

    1 user thanked author for this post.
    #205231

    Grazie, credevo che le istruzioni ai righi 58 e 69 servissero a mantenere i valori della variabili countup e countdw sempre tra 1 e 2 (-1 e -2 per countdw)….

    Ho provato a inserire istruzioni per azzerare le variabili (ad esempio una volta a mercato, inserendo sempre alle righe 58 e 69 “=0”) ma niente.

    Se hai voglia di darmi ancora una mano te ne sarò grato

    #205235

    Posta l’ultimo codice che hai usato, comprensivo delle modifiche che hai eventualmente fatto.

     

     

    #205262

    Ecco l’ultima versione (sempre 0 operazioni in backtest):

    #205272

    Penso che abbia a che fare con high1 e high 2, anche low1 e low2.

    cp = 2

    Il codice afferma high1 = high[cp] quindi successivamente high2 = high[cp], quindi la condizione di acquisto include high1 > high2 (e simili per low1, low 2 ecc. Ecc.). 

    High1 > high2 non è mai 1 / true se high1 = high[cp] e high2 = high[cp] dove cp = 2. 

    1 user thanked author for this post.
    #205288

    Non ho potuto resistere a una giocata, quindi ho fatto high1 = high2 e low1 = low2 in entrambe le condizioni BUY e SELSHORT e la strategia quindi prende scambi.

    Mi piacerebbe vederlo avere successo perché sembra che ci sia stato molto lavoro fino a questo punto!

    #205298

    Mi piacerebbe vederlo avere successo

    Giusto per chiarire, sopra significa… mi piacerebbe vedere la strategia ordinata e fare operazioni redditizie.
    Il mio test re high1 = high2 ecc era proprio questo … un test per convincere la strategia a fare trading (anche se perdendo trade).

    #205331

    Penso che abbia a che fare con high1 e high 2, anche low1 e low2.

    cp = 2

    Il codice afferma high1 = high[cp] quindi successivamente high2 = high[cp], quindi la condizione di acquisto include high1 > high2 (e simili per low1, low 2 ecc. Ecc.).

    High1 > high2 non è mai 1 / true se high1 = high[cp] e high2 = high[cp] dove cp = 2.

    Grazie per la risposta. Ho provato inserendo un’altra variabile con valore = 2 e sostituendola a cp per la ricerca del secondo frattale, ma il risultato non cambia.

    Dovrei trovare un altro modo per indicare al sistema che il secondo frattale up deve essere maggiore del primo (e viceversa per quello short), ma va al di là delle mie capacità di programmazione

    #205821

    Il problema non è in CP=2 (o 3, ecc…). Il problema, come ha osservato GraHal, è nel fatto che usi high1 > high2, dove entrambi hanno lo stesso valore, quindi uno NON può essere maggiore dell’altro!

    Se provi con:

    funzionerà.
    Però non so se è quello che tu vuoi.

    2 users thanked author for this post.
    #205937

    Grazie per la risposta, ma in effetti non è quello che vorrei ottenere.

    Vorrei indicare al sistema di verificare quado ricorre questa sequenza:

    per i long, 2 frattali “up” con massimi crescenti e 2 frattali “down” con minimi crescenti.
    Per gli short, 2 frattali “up” con massimi decrescenti e 2 frattali “down” con minimi decrescenti.

    #207219

    Ho provato, ma il codice non è completo, mi segnala che mancano alcune variabili.

    Posta il file ITF, per essere certi che sia quello completo e funzionante.

     

    #207736

    Ecco il file ITF

Viewing 15 posts - 1 through 15 (of 16 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login