problemi di TIMEFRAME
Forums › ProRealTime forum Italiano › Supporto ProOrder › problemi di TIMEFRAME
- This topic has 5 replies, 2 voices, and was last updated 1 year ago by
iococcobill.
-
-
01/01/2024 at 3:10 PM #225877
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.
1234567// CondizioniDiTradingTIMEFRAME(weekly)c1 = DivergenceCCI[20,-100,100,20][1] = 1TIMEFRAME(daily)// Esecuzione del tradeIF c1 THEN BUY PositionSize CONTRACT AT MARKETENDIF01/01/2024 at 5:47 PM #225880Perché 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.
01/01/2024 at 7:09 PM #225882In 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
01/02/2024 at 12:21 AM #225885In effetti credo si possa realizzare una funzione, richiamata da una CALL, che al suo interno abbia un TIMEFRAME diverso. Funzionerebbe?
01/04/2024 at 4:54 PM #225958Le 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:
1234567891011121314151617// CondizioniDiTradingTIMEFRAME(weekly)ONCE c1 = 0c1 = DivergenceCCI[20,-100,100,20][1]IF c1 = 0 THENc1 = (c1[1] = 1)ENDIFTIMEFRAME(daily)// Esecuzione del tradeIF c1 AND Not OnMarket THENBUY 1 CONTRACT AT MARKETENDIF//uscita dal tradeIF LongOnMarket AND c1 = -1 THENSELL AT MARKETENDIFgraph c101/08/2024 at 10:51 AM #226098123IF c1 = 0 THENc1 = (c1[1] = 1)ENDIFGrazie, non conoscevo questa notazione.
-
AuthorPosts
Find exclusive trading pro-tools on