Operazione intraday con indicatore

Viewing 15 posts - 1 through 15 (of 18 total)
  • Author
    Posts
  • #89705 quote
    Franco FrankFranco Frank
    Participant
    New

    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 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    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 quote
    Franco FrankFranco Frank
    Participant
    New

    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 quote
    Franco FrankFranco Frank
    Participant
    New

    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 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    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 quote
    Franco FrankFranco Frank
    Participant
    New

    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 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Puoi usare questo:

    If time = 090500 then
       If Dclose(1)  < rsi[2](Dclose(1)) then
          .....
       endif
    endif
    #89732 quote
    fifi743fifi743
    Participant
    Master

    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 quote
    robertogozzirobertogozzi
    Moderator
    Legend

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

    Timeframe(Daily,updateonclose)
    MioRsi = Rsi[2](close)
    Timeframe(default)
    If time = 090500 then
       If MioRsi < 20 then
          ...
       Endif
    Endif

    Puoi lanciarlo dal grafico a 5 minuti o 1 minuto.

    #89734 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Il mio post 89731 è errato, questo è corretto:

    If time = 090500 then
       If rsi[2](Dclose(1)) < 20 then
          .....
       endif
    endif

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

    #89735 quote
    Franco FrankFranco Frank
    Participant
    New

    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 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    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 quote
    Franco FrankFranco Frank
    Participant
    New

    Ecco la riga di codice:

    If adx[5] (Dclose(1)) > 45 then

    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 quote
    robertogozzirobertogozzi
    Moderator
    Legend

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

    #89757 quote
    Franco FrankFranco Frank
    Participant
    New

    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)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

Operazione intraday con indicatore


ProOrder: Trading Automatico & Backtesting

New Reply
Author
Summary

This topic contains 17 replies,
has 3 voices, and was last updated by robertogozzirobertogozzi
7 years, 7 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 01/26/2019
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...