Chiusura posizioni a fine settimana
- This topic has 4 replies, 2 voices, and was last updated 7 years ago by .
Viewing 5 posts - 1 through 5 (of 5 total)
Viewing 5 posts - 1 through 5 (of 5 total)
Similar topics:
Forums › ProRealTime forum Italiano › Supporto ProOrder › Chiusura posizioni a fine settimana
Buonasera,
che riche di codice posso inserire per far si che a fine settimana vengano chiusi eventuali ordini aperti all’interno della strategia?
in poche parole, esempio spot Eur-Usd, vorrei che alle 22.00 di ogni venerdì vengano chiuse tutte le eventuali posizioni aperte / pending orders.
Grazie!
Devi essere su un TF inferiore al daily, in modo che alle 22:00 la strategia possa essere eseguita.
1 2 3 4 5 6 |
IF OpenDayOfWeek = 5 THEN //1=lunedi....5=Venerdi IF time = 220000 AND OnMarket THEN SELL AT MARKET //chiudi i LONG EXITSHORT AT MARKET //chiudi gli SHORT ENDIF ENDIF |
chiude le operazioni in corso alle 22, long o short che siano, in perdita o in profitto. Gli ordini pendenti si cancellano da soli alla chiusura della candela, basta non reinserirli.
Si uso tf inferiore!
Sto sempre lavorando a quel discorso dei pivot e procedo per passi.
Ho ingresso a wS1, con target wP, ma se non metto la chiusura a fine settimana lui aspetta qualsiasi eventuale wP delle settimane successive. Invece cosi dovrebbe andare, stasera lo testo.
Grazie!
Funziona, unico problema, alle 22 mi chiude ogni trade, ma se le condizioni a mercato sono le medesime in cui il trade è entrato, mi entra di nuovo dopo le 22.
Avrei due possibili soluzioni ma non so come codificarle:
la prima che sarebbe la più utile: dire che nell’arco della settimana, max 1 trade può essere svolto.
in alternativa: dirgli che dopo le 22 del venerdi (quindi alla chiusura), deve stare flat. Quindi presumo col comando flatafter ma non so come renderlo relativo solo al venerdi.
Grazie per l’aiuto!
DEFPARAM FLAT…. viene eseguito ogni giorno e non si può modificarne la funzionalità.
1 – per consentire solo un trade alla settimana occorre utilizzare una variabile che sia predisposta ad 1 (valore logico vero) ad inizio settimana e che consenta di aprire una posizione. Una volta a mercato quella stessa variabile va messa a 0 (valore logico falso) per impedire ulteriori operazioni. Quando devi eseguire un BUY/SELLSHORT dovrai verificare, oltre a lle tue condizioni, ANCHE che quella variabile abbia valore 1 (vero):
1 2 3 4 5 6 7 8 9 10 11 12 |
ONCE Operativita = 1 IF OpenDayOfWeek = 1 AND IntraDayBarIndex = 0 THEN Operativita = 1 ENDIF IF OnMarket THEN Operativita = 0 ENDIF . . IF Tue_Condizioni AND Operativita THEN BUY/SELLSHORT.... ENDIF |
2 – Si può utilizzare una variabile a cui viene assegnato il termine di chiusura (ore 22 del venerdi) e che sia sempre verificata quando esegui BUY/SELLSHORT in modo che dopo tale orario, anche al persistere delle condizioni, non vengano aperte nuove posizioni:
1 2 3 4 5 6 7 8 |
Operativita = (OpenDayOfWeek > 0 AND OpenDayOfWeek < 5) OR (OpenDayOfWeek = 5 AND time < 220000) . . IF Tue_Condizioni AND Operativita THEN BUY/SELLSHORT.... ENDIF . . |
Find exclusive trading pro-tools on