Mantenere ed eliminare ordine pendente stop o limit
Forums › ProRealTime forum Italiano › Supporto ProOrder › Mantenere ed eliminare ordine pendente stop o limit
- This topic has 10 replies, 2 voices, and was last updated 7 years ago by maximus78.
-
-
11/19/2017 at 6:07 PM #53244
Buonasera a tutti, mi servirebbe una mano per impostare questi comandi:
- mantenere un ordine pendente per un numero definito di barre in quanto ho notato che probacktest tiene in memoria l’ordine solo per la barra successiva alla condizione impostata;
- eliminare un ordine pendente se un’altra condizione si verifica prima che l’ordine venga preso, esempio:
Esempio1234567if not longomarket and C1, C2, C3 thenbuy 1 shares at high[1] stopset stop loss Xset target profit YDovrei adesso impostare il n° di barre che tenga in memoria l’ordine stop (per esempio per 50 barre) ed impostare che al verificarsi di una successiva condizione C4, se non ancora a mercato, l’ordine pendente e stop loss/target vengano eliminati.
grazie mille in anticipo!
Massimo
11/19/2017 at 6:35 PM #53248Non devi fare niente, fa tutto ProOrder in automatico.
L’ordine viene cancellato ad ogni barra e viene di nuovo piazzato se le condizioni persistono.11/19/2017 at 8:26 PM #53254Ciao Roberto, no infatti lo so questo…ma è quando le condizioni non sussistono più, poni il caso che:
c1=low[2]>low[1]
c2=low[0]>low[1]
c3=low[0]>low[2]
e metto un ordine pendente sell stop su low[1] che è il più basso del pattern.
La candela successiva a low[0] va sotto low [0] ma non tocca l’ordine pendente, ed anche le due successive…..a questo punto le condizioni di entrata non sussistono più perchè non c’è più il pattern, ma io voglio che l’ordine pendente rimanga li ad aspettare per altre 10 candele, come faccio?? Invece, l’ordine rimane solo per la candela successiva al pattern e poi si cancella (nel backtest segna così)….
Ci sarà un modo per mantenere l’ordine attivo una volta impostato….
11/20/2017 at 12:59 AM #53275Si, settare una variabile quando il pattern si verifica e resettarlo quando l’ordine entra a mercato, oppure dopo n candele. Esempio:
123456789101112131415161718192021222324252627..ONCE MioPattern = 0 //inizializzare la variabile che indica la barra dove si è formato il Pattern..IF OnMarket THENMioPattern = 0 //resettare la variabile al valore iniziale, se a mercatoENDIFIF MioPattern THENIF (BarIndex - MioPattern) > 10 THENMioPattern = 0 //resettare la variabile al valore iniziale dopo n candeleENDIFENDIF..c1=low[2]>low[1]c2=low[0]>low[1]c3=low[0]>low[2]IF c1 AND c2 AND c3 thenMioPattern = BarIndex //salvare il numero della barra dove il pattern si è formatoSellPrice = low[1] //salvare il prezzo di entata a mercatoENDIFIF MioPattern THENSELL 1 CONTRACTS AT SellPrice STOPENDIFDove ho messo i punti tu puoi mettere qualunque altro codice aggiuntivo che t’interessi mettere.
11/21/2017 at 9:58 PM #53517Grazie Roberto….sempre disponibilissimo!!
sai anche come si può fare ad eliminare un ordine pendente impostato (anche stop loss e take profit connessi) oltre al fatto delle 10 barre, se sopraggiunge una determinata condizione?
Con il caso di prima…. se il prezzo supera un massimo senza raggiungere sellprice? Per esempio:
c4=Highest[100](high)
11/21/2017 at 11:26 PM #53523Ogni ordine pendente viene CANCELLATO alla chiusura della candela e solo se le condizioni permangono e tu gli dici di reimmeterlo, ProOrder lo reimmette. Per cui se si verificano certe condizioni è sufficiente che tu non REIMMETTA l’ordine.
Nell’esempio sopra, se le condizioni c1, c2 e c3 si verificano, o se si erano verificate in precedenza, la strategia reimmette l’ordine alla riga 26. Se vuoi impostare delle condizioni che NON facciano reimmettere l’ordine pendente, basta che (sulla base di condizioni di tua scelta) resetti a ZERO la variabile MioPattern prima della riga 26.
Con il tuo esmpio
1c4=Highest[100](high)cosa intendevi fare? Hai settato una variabile al massimo più alto delle ultimne 100 barre ed a che ti serve?
Rileggendo attentamente l’esempio di cui sopra, perché hai chiesto di inserire un ordine SELL STOP? Sell si usa per uscire da posizioni LONG già aperte. Se intendi aprire una posizione SHORT occorre scrivere SELLSHORT.
11/22/2017 at 7:38 AM #53535E’ solo un esempio quello sopra….voglio capire il concetto, anche il comando sell è in realtà sellshort come dici tu, scusa non mi sono reso conto…..
quello che intendo è se imposto un ordine pendente ma il prezzo si allontana troppo dall’ordine stesso e va nella direzione opposta e l’ordine rimane attivo, nell’esempio sopra il prezzo invece che scendere e verso low [1] e vendere,
mettiamo il caso che sale e si forma un highest[100](high)….che è ben più in alto rispetto alla posizione corrente del prezzo…ti inserisco un allegato che è più chiaro
11/22/2017 at 8:41 AM #53539Ho capito meglio.
Ad ogni modo, come ti ho detto, alla chiusura della candela corrente l’ordine viene cancellato, per cui basta che elimini le condizioni che lo possonano fare reimmettere.
Nel tuo esempio puoi fare, alla riga 19 o 24 (meglio la 24):
1234c4 = Highest[100](high)IF c4 THENMioPattern = 0ENDIFe l’ordine, alla riga 26, non sarà più reimmesso in quanto la condizione trigger non è più verificata.
11/23/2017 at 7:33 AM #5367511/23/2017 at 8:51 AM #53687Scusami, ma l’esempio di cui sopra è errato (messo com’è è SEMPRE vero), va sostituito con:
1234c4 = Highest[100](high)IF close > c4 THENMioPattern = 0ENDIF1 user thanked author for this post.
11/24/2017 at 7:23 AM #53787 -
AuthorPosts
Find exclusive trading pro-tools on