esecuzione ordini con più condizioni
Forums › ProRealTime forum Italiano › Supporto ProOrder › esecuzione ordini con più condizioni
- This topic has 3 replies, 2 voices, and was last updated 9 months ago by alessiopippo.
-
-
02/27/2024 at 4:18 PM #228849
Buondì, cercherò di spiegarmi…. ho una strategia , che compera al verificarsi delle mie condizioni , uno stop loss e un tp in percentuale e un trailing stop semprre in percentuale. ipotizziamo che questa strategia che chiameremo “A”, apre la posizione e il target sia 2%…il prezzo si muove fino a 1% e poi torna indietro o raggiunge lo stop o il tp non importa, questo avviene entro un tempo “x”….. in questo lasso di tempo la strategia risulta “Onmarket”. ecco io vorrei aggiungere un uscita ulteriore ,per esempio quando RSI incrocia dall’altro il valore 80, e quindi basta aggiungere la condizione dell’rsi alle condizioni di uscita e otteniamo la strategia “b”, potrebbe verificarsi che la mentre la strategia originale “A” entra e rimane Onmarket per 10 giorni, la strategia “b” entra e poi esce dopo 3 giorni…. e questo va bene… ma io non voglio che , anche se si riverificano le condizioni di acquisto nel lasso di tempo in cui la strategia “a” sarebbe onmarket, la strategia entri ancora a mercato….. deve non entrare fino a che la strategia “a” è a mercato…… esempio piu facile se ho un tp di 200 punti la strategia “a” entra e esce una volta…. se la stessa strategia il tp lo metto a 10 magari entra e esce 8 volte….ecco questo non lo deve fare deve entrare prendersi i 10 punti e poi non entrare piu fino a che la strategia sarebbe stata onmarket se il tp fosse stato 200.
spero di essermi spiegato……
grazie
02/27/2024 at 4:56 PM #228850Quando scrivi “per esempio quando RSI incrocia dall’altro il valore 80“, ALTRO sta per ALTO, oppure dall’ALTRO LATO, cioè dal BASSO (che è il lato opposto ad 80)?
Poi vorrei fare una precisazione, una strategia NON PUO’ avere posizioni contrarie aperte contemporaneamente, quindi mettiamo la condizione che l’RSI apre la strategia B, automaticamente la A viene chiusa.
Quindi relativamente a quanto hai scritto “potrebbe verificarsi che la mentre la strategia originale “A” entra e rimane Onmarket per 10 giorni, la strategia “b” entra e poi esce dopo 3 giorni“, questo non può accadere, la strategia A viene chiusa per aprire la B.
02/27/2024 at 10:23 PM #228899Ciao Roberto, mi sono spiegato male, anzi malissimo…. la faccio Piu semplice, ho messo il codice di una strategia fatta proprio al volo, solo long e una foto.
12345678910111213141516// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longindicator1 = Average[200](close)c1 = (close CROSSES OVER indicator1)indicator2 = Average[100](close)c2 = (close CROSSES under indicator2)IF c1 THENBUY 1 CONTRACT AT MARKETENDIF// Stop e targetSET STOP %LOSS 1.5SET TARGET %PROFIT 3se eseguo il codice, sopra il 6 aprile 2023 viene aperta una posizione e viene chiusa il 24 maggio 2023 (trade 1A) nel riquadro centrale della foto.
ora faccio una “modifica” nella strategia :inserisco una condizione di uscita c2.
123456789101112131415161718// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longindicator1 = Average[200](close)c1 = (close CROSSES OVER indicator1)indicator2 = Average[100](close)c2 = (close CROSSES under indicator2)IF c1 THENBUY 1 CONTRACT AT MARKETENDIFIF c2 THENsell 1 CONTRACT AT MARKETENDIF// Stop e targetSET STOP %LOSS 1.5SET TARGET %PROFIT 3e succede che il 6 aprile mi apre la posizione e me la chiude giustamente il 26 aprile quando è soddisfatta la condizione di uscita c2 (trade 1).
poi siccome si ripresentano le condizioni per un buy apre il trade 2, il 5 maggio e lo chiude il 19 maggio, riquadro superiore della foto.
la modifica funziona ma non è quello che voglio, io vorrei che la modifica eseguisse il trade 1 ma non il 2, cioè deve aprire la posizione quando si verificano le condizioni di acquisto, ma se chiude la posizione perché si verifica c2, anche se si verificano le condizioni di acquisto non deve riaprire posizioni per tutto il tempo che la strategia ” senza modifica” ,cioè senza la condizione di uscita c2, sarebbe stata onmarket
vorrei sapere se c’è un modo, inserendo un flag, o il codice di ordini simulati, per fare questa cosa , ovvio io adesso ho scritto una strategia stupida ma era per cercare di far capire quello che voglio….
non si può mettere in un unico codice una strategia(strat1) che esegue ordini “reali” e una strategia (strat2)che esegue ordini “simulati”, quando si verificano le condizioni di acquisto, prima di andare long, controlla la strat2,quella simulata, se la simulata non è onmarket allora compera, se invece è onmarker non compera. o se non è onmarker alla barra precedente se interferisce con il “primo” ordine long
102/29/2024 at 12:19 PM #228980credo di esserci riuscito…. ovvio che ci sarà di sicuro un modo piu elegante e preciso ma cosi funziona, lo metto nel caso interessasse a qualcuno
12345678910111213141516171819202122232425262728293031323334// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longindicator1 = Average[200](close)c1 = (close CROSSES OVER indicator1)indicator2 = Average[100](close)c2 = (close CROSSES undeR indicator2)//once flag=0IF c1 and flag=0 THENBUY 1 CONTRACT AT MARKETflag=1ENDIFif c1[1] and onmarket thenc=tradepricestoploss=(c-(1.5/100*c))targetprofit=(c+(3/100*c))flag=1endifIF c2 THENsell 1 CONTRACT AT MARKETENDIF// Stop e targetSET STOP %LOSS 1.5SET TARGET %PROFIT 3if low < stoploss or high>targetprofit thenflag=0endifgraph flaggraphonprice stoplossgraphonprice targetprofitgraphonprice tradeprice1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on