Chiusura posizioni con ordini STOP
Forums › ProRealTime forum Italiano › Supporto ProOrder › Chiusura posizioni con ordini STOP
- This topic has 3 replies, 2 voices, and was last updated 2 years ago by robertogozzi.
-
-
08/19/2022 at 11:38 AM #199230
Buongiorno a tutti.
So che questo argomento è stato trattato più volte ma non sono riuscito a trovare una spiegazione al mio problema.
Data una posizione long vorrei che questa si chiudesse qualora il prezzo raggiunga il minimo della barra precedente a quella di ingresso. Viceversa per una posizione short vorrei imporre una chiusura se il prezzo tocca il massimo della barra antecedente a quella di ingresso. Ovviamente si tratta di chiusure di “protezione”.
Per alcuni codici che ho scritto, e che al di là dei risultati, funzionano come dovrebbero, in backtest e in reale, ho usato ordini di uscita come quelli visibili in questo codice:
123456789101112131415161718192021222324252627282930313233343536//USCITA A// Posizioni cumulate disattivateDEFPARAM CumulateOrders = False//CONDIZIONE INGRESSO TORO -----------------------------------------------if CLOSE[0]>CLOSE[1] AND CLOSE[1]>CLOSE[2] thenC1=1elseC1=2endif//CONDIZIONE INGRESSO ORSO -----------------------------------------------if CLOSE[0]<CLOSE[1] AND CLOSE[1]<CLOSE[2] thenb1=1elseb1=2endif//Ingresso Toro -------------------------------------------------------------------IF C1=1 and shortonmarket=0 THENbuy 1 shares at marketendif//Ingresso Orso -------------------------------------------------------------------IF b1=1 and longonmarket=0 THENsellshort 1 shares at marketendif//------------------------------------------USCITA----------------------------------------------//Uscita Toroif longonmarket thensell at tradeprice*0.995 stopendif//Uscita orsoif shortonmarket thenexitshort at tradeprice*1.005 StopendifSET STOP %LOSS 1SET TARGET %PROFIT 1Ovviamente queste uscite sono le stesse che otterrei con un banale Stop loss, ma le uso per creare degli step di protezione del profitto, moltiplicando il tradeprice per numeri maggiori di uno per posizioni long, o minori di uno per posizioni short.
Questo codice invece, che è quello descritto all’inizio, non si comporta come dovrebbe, la sola differenza è sulle uscite. Le posizioni long ignorano l’uscita e le short si chiudono praticamente subito.
1234567891011121314151617181920212223242526272829303132333435//USCITA B// Posizioni cumulate disattivateDEFPARAM CumulateOrders = False//CONDIZIONE INGRESSO TORO -----------------------------------------------if CLOSE[0]>CLOSE[1] AND CLOSE[1]>CLOSE[2] thenC1=1elseC1=2endif//CONDIZIONE INGRESSO ORSO -----------------------------------------------if CLOSE[0]<CLOSE[1] AND CLOSE[1]<CLOSE[2] thenb1=1elseb1=2endif//Ingresso Toro -------------------------------------------------------------------IF C1=1 and shortonmarket=0 THENbuy 1 shares at marketendif//Ingresso Orso -------------------------------------------------------------------IF b1=1 and longonmarket=0 THENsellshort 1 shares at marketendif//------------------------------------------USCITA----------------------------------------------//Uscita Toroif longonmarket thensell at low[tradeindex-1] stopendif//Uscita orsoif shortonmarket thenexitshort at high[tradeindex+1] StopendifSET STOP %LOSS 1SET TARGET %PROFIT 1Qualcuno puoi indicarmi dove sbaglio? Non capisco perchè indicando il prezzo di uscita nel primo modo non ci siano problemi, mentre nel secondo non funzioni. Ho fatto vari test, anche regolando i valori del primo modo facendo si che per un dato ordine l’uscita corrisponda a quanto previsto dal secondo, e il primo continua a funzionare.
L’ho testato sul grafico orario di “France 40 Cash 1E”
Grazie mille a tutti.
08/19/2022 at 12:00 PM #199231TradeIndex è il valore di BarIndex all’ingresso, quindi può essere un numero che può essere 187 o 2045, per cui utilizzandolo come indice di un prezzo va a prendere il prezzo di 2000 barre prima!
Va usata l’espressione (barindex – tradeindex)+ 1:
12345678//Uscita Toroif longonmarket thensell at low[(barindex - tradeindex)+ 1] stopendif//Uscita orsoif shortonmarket thenexitshort at high[(barindex - tradeindex)+ 1] Stopendif08/19/2022 at 12:14 PM #19923208/19/2022 at 3:44 PM #199249Non ci sono figuracce, capita a tutti di sbagliare, nonostante l’esperienza che si può avere!
GraHal ha un bel motto nel suo profilo “Ask a question, you may be a fool for a day. Don’t ask a question, you may be a fool for life!?“.
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on