limitare il numero di operazioni giornaliere
Forums › ProRealTime forum Italiano › Supporto ProOrder › limitare il numero di operazioni giornaliere
- This topic has 10 replies, 4 voices, and was last updated 6 years ago by gothicdream.
-
-
01/31/2018 at 10:41 PM #61145
salve, vorrei sapere come fare per dire al ts di fare al massimo 2 operazioni al giorno, ignorando i segnali successivi.
qualcuno può aiutarmi?
grazie
01/31/2018 at 10:49 PM #61147Ciao, ti faccio un esempio su trades long,
poi lo aggiusti tu con le tue condizioni e se vuoi aggiungi anche la versione per lo short.
Max
123456789101112131415161718defparam cumulateorders=falseEntrata=mie condizioniUscita=mie condizioniif intradaybarindex = 0 thencountposition=0endifcondperday=countposition < 3if not longonmarket and Entrata and condperday thenbuy 1 shares at marketcountposition=countposition+1endifif longonmarket and Uscita thensell at marketendif3 users thanked author for this post.
01/31/2018 at 11:36 PM #6114902/04/2018 at 11:15 PM #61502maximus78 approfitto ancora di te se posso…
vorrei inserire in un sistema un’operazione aggiuntiva nel caso la posizione aperta sia in perdita ad esempio di 20 pips, ma non riesco..
ho scritto:
IF condizione1 THEN
BUY 1 CONTRACT AT MARKET
ENDIFe fino a qua funziona tutto. poi:
if longonmarket and close<(tradeprice-pointsize*20) then
BUY 1 CONTRACT at market
endifma qua non funziona… ho provato anche a mettere DEFPARAM CumulateOrders = true, ma così non va bene perché apre più posizioni in base alla condizione1.
e poi dovrei scrivere la condizione di chiusura in modo che chiuda entrambe le posizioni long aperte.
avresti un suggerimento?
grazie!
02/05/2018 at 9:10 AM #61524Per evitare di aggiungere più posizioni in base alla condizione1, prova solo se sei già sul mercato o no:
123IF condizione1 and NOT ONMARKET THENBUY 1 CONTRACT AT MARKETENDIFA proposito di aggiungere più posizioni se il prezzo diminuisce, il codice dovrebbe funzionare se si consente di accumulare ordini.
Quando stai chiudendo le posizioni, sono tutte chiuse, quindi non preoccuparti di sapere come chiuderle tutte in una volta. Solo “SELL AT MARKET”1 user thanked author for this post.
02/05/2018 at 2:58 PM #61567grazie, non ci avevo pensato… sto imparando!!
02/05/2018 at 4:02 PM #61571un’altra domanda.. c’è un modo per fermare il backtest per alcuni giorni e poi riprenderlo?
ad esempio: chiudi tutte le posizioni il 22 giugno 2016 e riparti il 4 luglio 2016, oppure chiudi tutte le posizioni il 23 dicembre 2016 e riparti il 7 gennaio 2017.
se uso la funzione “quit” il sistema si ferma e poi non riparte più.
02/06/2018 at 7:43 AM #61629Ciao Gothic, ti ho fatto un esempio con entrambe le situazioni:
Compra con un buy limit quando la posizione è sotto di 10 pips da tradeprice e sei già a mercato, ho messo anche uno stop loss fisso di 20 pips ed un take profit di 50 pips.
Per sospendere il sistema dal 1° luglio fino al 30 novembre per esempio puoi impostare una variabile trading=0, (cioè falso) in questo modo non effettua trades in quel lasso di tempo.
Per impostare una variabile falsa, devi impostare una variabile vera, cioè trading=1 che si riferisce alle condizioni di entrata, in questo caso la nostra c1.
C2 agisce come ordine limite di acquisto solo sei già a mercato con C1 (if onmarket).
123456789101112131415161718192021222324defparam cumulateorders = truec1=close>highest[10](high)[1]c2=tradeprice-(pointsize*10)if c1 thentrading=1endifif date >=20170701 and date<=20171130 thentrading=0endifif not onmarket and trading=1 thenbuy 1 contracts at marketset stop ploss 20set target pprofit 50endifif onmarket thenbuy 1 contracts at c2 limitset stop ploss 20set target pprofit 50endifgraph (tradeprice-(pointsize*10)) as "buylimit"1 user thanked author for this post.
02/06/2018 at 12:41 PM #61674ciao! avevo già costruito un indicatore che evitasse l’operatività in certe date, e infatti mi dà lo stesso risultato di quello che hai scritto tu (e per i backtest di sistemi intraday è sufficiente), ma io cercavo qualcosa che in più chiudesse tutte le operazioni aperte appena prima dell’attivazione del periodo flat. Mi serve per il multiday. Che tu sappia è possibile?
02/06/2018 at 1:02 PM #61676Ho spostato il topic da ProBuilder a ProOrder, trattandosi di una strategia.
Basta che tra la riga 8 e la 9 aggiungi queste, che ti chiudono tutte le operazioni eventualemte in corso, Long o Short, in profitto o in perdita che siano:
1234IF OnMarket THENSELL AT MARKETEXITSHORT AT MARKETENDIF2 users thanked author for this post.
02/06/2018 at 2:43 PM #61708 -
AuthorPosts
Find exclusive trading pro-tools on