Posizioni cumulative attivate
Forums › ProRealTime forum Italiano › Supporto ProOrder › Posizioni cumulative attivate
- This topic has 12 replies, 2 voices, and was last updated 2 years ago by emanuele81.
-
-
02/24/2022 at 5:15 AM #188740
Buongiorno avrei una domanda è possibile che se attivo le posizione cumulative si ha lo stop loss che il take profit non funzionino?
Eventualmente Come posso scrivere un codice dove quelle posizioni cumulative attivate mi funzioni se lo stop loss che il profit ?
Grazie
02/24/2022 at 5:40 AM #188741Perché non funzionano?
A me risulta di si, anche se vengono calcolati dal prezzo medio, in quanto sono entrambi unici per tutte le posizioni aperte, non singolarmente per ogni entrata.
02/24/2022 at 8:17 PM #188794Scusa Roberto, è possible attiavre posizioni cumulative sole se comprendono 2 giorni?
cerco di spiegarmi meglio, se si creano ingressi nella stessa giornata le posizioni cumulative sono disattiavte se invece un’operazione si apre per esempio di lunedi e il martedi è ancora aperta a quel punto la posizione cumulativa si attiva, per una sola operazione.
Non so se si può fare
02/25/2022 at 1:21 PM #188825Generalmente si usa DEFPARAM CUMULATEORDERS=FALSE per essere sicuri di non aprire posizioni multiple indesiderate.
Ma non è obbligatorio, se si scrive il codice con un pò di attenzione NON è comunque possibile aprire posizioni indesiderate. Diciamo che è sicuramente un grosso aiuto per chi inizia con la programmazione nel linguaggio ProRealTime e deve acquisire pratica con le istruzioni disponibili.Se si verifica, ogni volta, se siamo già a mercato o meno, ecco che quella riga non serve.
Se si usa quella riga suddetta NON si possono aprire/aggiungere ulteriori posizioni se ce n’è una già aperta, indipendentemente che si provi ad aprirle lo stesso giorno o in giorni diversi.
Basta NON scrivere la riga di cui sopra (oppure scriverla così: DEFPARAM CUMULATEORDERS=TRUE, ma viene assunta per difetto) e si ha la libertà di aggiungere o NON aggiungere altre posizioni a piacimento.
Per essere sicuri di NON aprire più di una posizione occorre scrivere:123IF MieCondizioniLong AND Not OnMarket THENBUY 1 Contract at MarketENDIFSe, invece, si vuole acquistare o aggiungere un’altra posizione, basta togliere AND NOT ONMARKET.
Quanto a Lunedì o Martedì, non ho capito bene cosa tu intenda, una volta abilitate più posizioni, puoi aggiungerle quando vuoi, che sia lo stesso giorno o in giorni diversi.
Se vuoi, al massimo, entrare con 3 posizioni basta che verifichi di non averle già aperte tutte e tre:
123IF MieCondizioniLong AND abs(CountOfPosition) < 3 THENBUY 1 Contract at MarketENDIFCountOfPosition restituisce il numero di posizioni attualmente aperte, con un numero positivo se sono LONG, oppurte negativo se sono SHORT. Proprio per questo ho usato ABS(), in modo da avere sempre un valore positivo, tanto non possono esserci aperte contemporaneamente posizioni contrarie (se lo fai ottieni lo Stop & Reverse, viene chiusa quella in corso e ne viene aperte una opposta).
02/25/2022 at 6:56 PM #188846Grazie per la spiegazione Roberto ora ho un’idea su cosa fare
03/04/2022 at 12:07 PM #189314Ciao Roberto,
È possibile sulle posizioni cumulative far sì che quando si apre la seconda posizione venga chiusa quella in corso?
03/04/2022 at 4:38 PM #189333Si, scrivi così:
1234567891011121314IF MieCondizioniLong THENIF OnMarket THENSELL AT MarketEXITSHORT AT MarketENDIFBUY 1 CONTRACT AT MarketENDIFIF MieCondizioniShort THENIF OnMarket THENSELL AT MarketEXITSHORT AT MarketENDIFSELLSHORT 1 CONTRACT AT MarketENDIF03/05/2022 at 9:23 AM #189377Grazie Roberto,
però qualcosa non funziona, praticamente mi chiude la posizione ma non mi riapre la seguente, invece dovrebbe farlo.
03/05/2022 at 11:00 AM #189391In effetti, questo funziona, però ogni posizione viene aperta dopo UNA barra (è il tempo che serve a ProOrder per sapere che non sei più a mercato, essendo vietato l’accumulo):
123DEFPARAM CumulateOrders = falseSELL AT MarketBUY AT Marketquesto, invece, NON chiude nessuna posizione, in quanto, pur essendo l’accumulo abilitato, NON accumuli niente, in quanto chiudi e riapri immediatamente, quindi c’è una continuazione. ProOrder evidentemente lo verifica e lascia tutto invariato (perché chiudere una posizione e rientrare subito allo stesso prezzo nella stessa direzione? Servirebbe solo a pagare uno spread al broker):
123DEFPARAM CumulateOrders = trueSELL AT MarketBUY AT Market03/05/2022 at 12:30 PM #189400Grazie mille Roberto, provo a mandare la seconda
03/14/2022 at 7:43 PM #189974Ciao Roberto,
con le posizioni cumulative attivate e con il take profit impostato, ho visto che non mi chiude le operazioni al raggiungimento del take profit, ma ne caso apra più operazioni mi fa una media tra le operazioni aperte, a me servirebbe invece che chiuda ogni operazione singolarmente, come si puo fare questa cosa. Grazie
03/14/2022 at 9:29 PM #189988Non si può. Fa una media e non si può uscire parzialmente con ordini pendenti, perché IG non lo supporta, quindi funzionerebbe solo in backtest.
03/14/2022 at 10:24 PM #189993Grazie Roberto, certo che però è una bella fregatura
-
AuthorPosts
Find exclusive trading pro-tools on