OTTIMIZZAZIONE DELLA MIGLIOR COMBINAZIONE DI CONDIZIONI

Forums ProRealTime forum Italiano Supporto ProOrder OTTIMIZZAZIONE DELLA MIGLIOR COMBINAZIONE DI CONDIZIONI

Viewing 5 posts - 1 through 5 (of 5 total)
  • #236683

    Buongiorno a tutti, chiedo cortesemente il vostro aiuto.

    vorrei ottimizzare una strategia con dei filtri, i filtri in questione in questo esempio sono:

    C1,C2,C3,C4,C5,C6,C7,C8

    ma in realtà possono essere infiniti, vorrei che l’ottimizzazione mi trovasse il miglior filtro o la migliore combinazione di filtri, qualcuno ha idea di come fare?

     

     

     

     

     

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    // Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l’orario “Flat Before” non saranno piazzati nuovi ordini o posizioni.
    DEFPARAM FLATBEFORE = 170000
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”
    DEFPARAM FLATAFTER = 220000

    // Condizioni per entrare su posizioni long

    IF C ? THEN
    BUY 1 SHARES AT MARKET
    ENDIF

     

    // Definizione delle condizioni di pattern
    C1 = ABS(open[1] – close[1]) < 0.1 * (high[1] – low[1])
    C2 = ABS(open[1] – close[1]) < 0.25 * (high[1] – low[1])
    C3 = ABS(open[1] – close[1]) < 0.5 * (high[1] – low[1])
    C4 = ABS(open[1] – close[1]) < 0.75 * (high[1] – low[1])

    C5 = ABS(open[1] – close[1]) > 0.25 * (high[1] – low[1])
    C6 = ABS(open[1] – close[1]) > 0.5 * (high[1] – low[1])
    C7 = ABS(open[1] – close[1]) > 0.75 * (high[1] – low[1])
    C8 = ABS(open[1] – close[1]) > 0.9 * (high[1] – low[1])

    #236688

    Anche se può funzionare ugualmente, è buona pratica indicare le condizioni PRIMA che siano utilizzate.

    Detto questo, puoi provarne una per volta con questo codice, aggiungendo nell’ottimizzatore la variabile Prova, che io ho messo = C1, e che tu poi cambierai con C2, C3, ecc… annotandoti ogni volta il risultato in modo da decidere quale condizione è la migliore (codice1 e Foto1):

    oppure puoi usare quest’altro codice (codice2, Foto2 e Foto3) che ti permette di ottimizzarle tutte insieme:

    la Foto2, oltre alle variabili da dichiarare, indica le combinazioni possibili (256 in questo caso) su un massimo possibile di 10000. Se supri 10000 tutta quella riga diventa rossa.

    La Foto3 evidenzia il risultato dell’ottimizzazione, dove per ciascuna delle 8 variabili usate indica, in ordine di come sono state inserite, qual’è il valore migliore.

     

     

     

    #236698

    Buongiorno Roberto,

    innanzitutto ti ringrazio per la risposta esaustiva, sono riuscito a risolvere usando il secondo metodo che hai proposto.

    La risposta sarà banale ma non riesco a capire come posso ottimizzarne un solo filtro alla volta invece che tutte le combinazioni possibili, mi spiego meglio:

    cosi facendo come hai descritto nel secondo codice il sistema prova tutte le combinazioni possibili (anche usando tutti i filtri assieme)
    io invece vorrei che mi dicesse quale è il migliore, poi dargli un valore prefissato (in questo caso 1) e testarlo con altri filtri (mettendo valore 0 e 1)

    spero di essermi spiegato e ti ringrazio ancora una volta per la tua disponibilità.

    #236706

    @StePPA

    vedo che questi sono alcuni patterns di Unger.

    Ma perchè per il gruppo 1-4 non scrivi così:

    C1 = (abs(open[1] close[1]) < VARB * (high[1] low[1]))

    dove VARB è variabile che tu imposti da 0.1 a 1.0 con passo 0.5, ad esempio ?

    #236710

    Comunque, nel secondo esempio, puoi indicare il valore fisso 0 per 7 di essi e lasciarne solo uno per volta attivo, da 0 ad 1 con passo di 1.

     

     

Viewing 5 posts - 1 through 5 (of 5 total)

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