problemi di TIMEFRAME

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #225877 quote
    iococcobill
    Participant
    New

    Buongiorno, sto provando a far girare un backtest su PRT, ma non capisco perché al verificarsi della condizione c1 la posizione viene aperta il martedì e non il primo giorno della settimana successiva.

    Sembra anche che la chiuda contestualmente all’apertura. Qualcuno può aiutarmi? Grazie in anticipo.

    // CondizioniDiTrading
    TIMEFRAME(weekly)
    c1 = DivergenceCCI[20,-100,100,20][1] = 1
    TIMEFRAME(daily)
    // Esecuzione del trade
    IF c1 THEN BUY PositionSize CONTRACT AT MARKET
    ENDIF
    #225880 quote
    robertogozzi
    Moderator
    Master

    Perché entri sul Giornaliero. Il Settimanale lo usi solo per vedere la divergenza, appena si verifica, senza attendere la chiusura (occorrerebbe usare UpdateOnClose).

    Però anche con UpdateOnClose potrebbe entrare più volte durante la settimana, in quanto c1 resterebbe valido una settimana.

    #225882 quote
    iococcobill
    Participant
    New

    In effetti ho un pò di confusione sulla possibilità di usare le variabili con frametime diversi, ciò che vorrei realizzare è intercettare una condizione su un grafico settimanale per poi utilizzarla come condizione di operatività giornaliera (conservando lo stato della variabile). Ad esempio: una divergenzaCCI positiva avvenuta due candele fa sul grafico settimanale deve poter essere condizione BUY fino a che non si verifichi una divergenza negativa (sul settimanale). Quello che poi non mi spiego è perché mi fa entrare in posizione il martedì e non il lunedì. Ma in PRT non esistono le funzioni? Grazie dell’approfondimento

    #225885 quote
    iococcobill
    Participant
    New

    In effetti credo si possa realizzare una funzione, richiamata da una CALL, che al suo interno abbia un TIMEFRAME diverso. Funzionerebbe?

    #225958 quote
    robertogozzi
    Moderator
    Master

    Le funzioni, come hai intuito, si possono in qualche modo sostituire con un indicatore che riceve dei dati in input e restituisce dei valori in output.

    E’ meglio non usare timeframe diversi in un indicatore, semplicemente richiama l’indicatore dal timeframe chedesideri, senza che nell’indicatore sia indicato un timeframe specifico.

    Prova questa versione:

    // CondizioniDiTrading
    TIMEFRAME(weekly)
    ONCE c1 = 0
    c1 = DivergenceCCI[20,-100,100,20][1]
    IF c1 = 0 THEN
       c1 = (c1[1] = 1)
    ENDIF
    TIMEFRAME(daily)
    // Esecuzione del trade
    IF c1 AND Not OnMarket THEN
       BUY 1 CONTRACT AT MARKET
    ENDIF
    //uscita dal trade
    IF LongOnMarket AND c1 = -1 THEN
       SELL AT MARKET
    ENDIF
    graph c1
    #226098 quote
    iococcobill
    Participant
    New
    IF c1 = 0 THEN
       c1 = (c1[1] = 1)
    ENDIF

    Grazie, non conoscevo questa notazione.

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.

problemi di TIMEFRAME


ProOrder: Trading Automatico & Backtesting

New Reply
Author
Summary

This topic contains 5 replies,
has 2 voices, and was last updated by iococcobill
2 years, 1 month ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 01/01/2024
Status: Active
Attachments: 1 files
Logo Logo
Loading...