Timeframe 1 giorno chiusura a fine giornata Successiva
Forums › ProRealTime forum Italiano › Supporto ProOrder › Timeframe 1 giorno chiusura a fine giornata Successiva
- This topic has 7 replies, 2 voices, and was last updated 2 years ago by robertogozzi.
-
-
04/26/2022 at 11:01 PM #192261
Salve,
uso il timeframe ad1 giorno e non riesco a fare funzionare la chiusura a fine giornata successiva, effettuo il buy il giorno 2 della settimana e voglio chiuderlo il giorno 3 a fine giornata, ma la chiusura mi viene effettuata ad inizio del giorno 3, ho fatto varie prove ma no riesco a farlo funzionare.
1234567891011//Mettendo questo mi chiude ovviamente ad inizio giorno 3If DayOfWeek = 3 ThenSell at marketExitshort at marketEndif//Ho provato a mettere il time ma non funzionaIf DayOfWeek = 3 and Time = 170000 ThenSell at marketExitshort at marketEndif04/27/2022 at 1:00 AM #192269Il codice viene eseguito alla chiusura della candela, quindi il Daily non potrà mai chiudere ad un’ora diversa da quella della candela giornaliera, quindi il secondo esempio non verrà mai eseguito.
Prova ad usare il primo esempio, con la riga 1 scritta così:
1If OnMarket Then04/27/2022 at 1:19 PM #19232104/27/2022 at 3:15 PM #192327Le strategie vengono eseguite SOLO alla chiusura di una candela, quindi è in quel momento che ogni operazione viene iniziata o chiusa.
Tu vedrai una freccia sulla barra che si sta aprendo, in quando querlla chiusa ormai è chiusa.
L’importante è che si apra nel giorno corretto e si chiuda il giorno successivo. Puoi vederlo dall’elenco delle posizioni chiuse, dove ti riporta inizio e fine dell’operazione.
04/27/2022 at 3:37 PM #192329Sicuramente sbaglio qualcosa ma come puoi vedere dall’imagine operazione viene fatta sempre ad inizio candela e non alla fine.
Ti metto il codice completo.
1234567891011121314151617181920// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longc1 = (close < DClose(1))indicator1 = RSI[2](close)c2 = (indicator1 <= 20)IF c1 AND c2 AND dayofweek=2 THENBuy 20000 CASH AT MARKETENDIFIf OnMarket ThenSell at marketExitshort at marketEndif// Stop e targetSET STOP %LOSS 504/27/2022 at 3:57 PM #192331Forse ho capito, prova questo (modificato):
1234567891011121314151617181920// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longc1 = (close < DClose(1))indicator1 = RSI[2](close)c2 = (indicator1 <= 20)IF c1 AND c2 AND dayofweek=2 THENBuy 20000 CASH AT MARKETENDIFIf OnMarket AND OnMarket[1] ThenSell at marketExitshort at marketEndif// Stop e targetSET STOP %LOSS 504/27/2022 at 5:44 PM #19233604/29/2022 at 9:22 AM #192395Tu vuoi che l’operazione resti aperta due giorni, il giorno d’entrata (MARTEDI’) e quello successivo (MERCOLEDI’). Se vedi il backtest noterai che l’operazione dura sempre quei DUE giorni (vedi foto allegata).
E’ ovvio (come ti ho già spiegato) che dal momento che l’ordine, apertura o chiusura che sia, viene eseguito SEMPRE alla chiusura della candela, la freccia apparirà sulla candela successiva, ma se guardi il prezzo vedrai che è quello della chiusura precedente (a parte qualche gap o slippage).
Piazza l’ordine il lunedì (perché DayOfWeek indica il giorno della settimana alla CHIUSURA della candela) ed entra, quindi, il MARTEDI’, poi piazza l’ordine di uscita alla chiusura del MERCOLEDI’ e prima che la nuova candela apra chiude l’operazione.
-
AuthorPosts
Find exclusive trading pro-tools on