Operazione intraday con indicatore

Forums ProRealTime forum Italiano Supporto ProOrder Operazione intraday con indicatore

Viewing 15 posts - 1 through 15 (of 18 total)
  • #89705

    Buongiorno,

     

    volevo fare un semplice backtest su questa strategia: se un titolo alle ore 9:05 ha l’indicatore RSI 2 periodi inferiore di 20 allora compra il titolo. Alle 17:00 del giorno stesso di vende. Ecco il codice da me creato che non dà errore ma la strategia non esegue nessuna operazione durante 10 anni e mi sembra impossibile. Dove sbaglio? Grazie.

    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate

    indicator3 = RSI[2]

    c2 = (indicator3 < 20)

    IF c2 and TIME = 090500 THEN
    BUY 10000 CASH AT MARKET
    ENDIF

     

    IF TIME = 170000 THEN
    SELL AT MARKET
    ENDIF

     

     

    Grazie

    Frank

    #89708

    Hai usato un TF di 5 minuti o di 1 minuto?

    In caso contrario NON può funzionare perché alle 090500 nessun’altra candela può iniziare, se non, appunto, quella da 5 minuti o da 1 minuto.

    #89716

    Hai usato un TF di 5 minuti o di 1 minuto?

    In caso contrario NON può funzionare perché alle 090500 nessun’altra candela può iniziare, se non, appunto, quella da 5 minuti o da 1 minuto.

    Hai ragione sbagliavo TF, avevo lasciato il giornaliero, ho risolto mettendo a 5 minuti.

    Grazie mille

    #89717

    Però se io volessi acquistare alle 09:05 come già detto, ma solo se RSI 2 periodi della barra giornaliera di ieri era minore di 20. E’ possibile farlo?

    Cioè io posso acquistare a un determinato orario in base a al valore di un indicatore che si riferisce però alla barra giornaliera di ieri o di oggi fino al momento dell’acquisto? Non vorrei basarmi sull’indicatore di oggi o di ieri a 5 minuti ma solo dare un orario all’acquisto e alla vendita. Per la condizione vorrei far riferimento al TF giornaliero. Non so però se questo sia possibile.

    Spero di essermi spiegato.

    Grazie

    Frank

    #89719

    Con il nuovo supporto MTF (Multi Time Frame), rilasciato a metà dello scorso anno ed ancora in beta test (ma già disponibile in demo e, su richiesta, anche in reale) è possibile usare più TF nella stessa strategia, per cui è possibile fare quello che vuoi fare tu.

    Anche senza MTF, nel tuo caso è possibile ricorrendo alle costanti DCLOSE, DOPEN, DHIGH e DLOW che si riferiscono ai dati giornalieri dell’ultima candela chiusa.

    Puoi fare una ricerca della parola MTF, oppure DCLOSE, ecc… e troverai molti esempi e la documentazione ufficiale.

    Puoi comunque chiedere qui, se non riesci a fare qualcosa.

    #89730

    Ho provato a capire come applicare DCLOSE alla mia idea ma non ci sono riuscito.

    Qual è l’istruzione per dire al programma di entrare a mercato oggi alle 09:05 solo se ieri l’RSI a 2 periodi era minore di 20 utilizzando DCLOSE?

     

    Grazie

    Frank

    #89731

    Puoi usare questo:

     

    #89732

    Buongiorno prova questo così

    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate

    indicator3 = RSI[2]

    c2 = (indicator3 < 20)

    IF c2 and TIME <= 090500 THEN
    BUY 10000 CASH AT MARKET
    ENDIF

    IF TIME = 170000 THEN
    SELL AT MARKET
    ENDIF

    #89733

    Però è meglio con più TF, per avere setup corretti (non testato):

    Puoi lanciarlo dal grafico a 5 minuti o 1 minuto.

    #89734

    Il mio post 89731 è errato, questo è corretto:

    Ma è sicuramente meglio usare il MTF, non sono certo che questa soluzione funzioni.

    #89735

    Il mio post 89731 è errato, questo è corretto:

    Ma è sicuramente meglio usare il MTF, non sono certo che questa soluzione funzioni.

    Grazie mille,  ho provato questo codice e funziona! La cosa strana è che in un altra parte del trading system devo fare la stessa cosa con ADX[5] e mi dà errore! Che cambia dal RSI a ADX se il codice è uguale?

    #89737

    Se non indichi l’errore è difficile da dire, però ADX credo non voglia le parentesi tonde.

    Adesso non sono al PC e non posso verificarlo.

    #89743

    Ecco la riga di codice:

    L’errore che dà è: “Errore di sintassi, una delle espressioni seguenti sarebbe più appropriata di “(“:

    e poi tutto un elenco di simboli come la “[“, il “+”, “=”, “*” ecc….

    come posso risolvere?

    Grazie

    Frank

    #89745

    Come avevo immaginato ADX non vuole niente dopo le parantesi quadre.

    #89757

    Come avevo immaginato ADX non vuole niente dopo le parantesi quadre.

    E quindi non posso utilizzare questo sistema con l’ADX?

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

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