Trailing stop progressivo
Forums › ProRealTime forum Italiano › Supporto ProOrder › Trailing stop progressivo
- This topic has 5 replies, 2 voices, and was last updated 3 years ago by Peppe71. 
- 
	
		
- 
		
			
				
03/08/2022 at 4:12 PM #18962003/08/2022 at 4:31 PM #189622Puoi scrivere un esempio, per capire cosa intendi per partire da 18 ed arrivare a 29? 03/08/2022 at 5:32 PM #189634Innanzitutto grazie per la rapidità. Troppo onore. Posto sotto il mio sistema che di base ha un trailing di 28.5 . Mi piacerebbe invece che quando parte il trailing sia di 18 . Il trade si muove in positivo fino al pareggio: nel momento che sto guadagnando 1 pip lo stop resta dov’è (come se il trailing fosse 19) . Così via fino a 29 , (cioè lo stop iniziale di 18 più il positivo di 11) e da quel momento in poi lo stop inizia a muoversi per guadagnare. La mia idea è di limitare a 18 la perdita (soprattutto se va subito contro) , ma se si muove in positivo di allargare la forbice in modo da tollerare dei rintracciamenti non troppo grandi. Spero si capisca . E grazie ancora // Definizione dei parametri del codice 
 DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni long 
 indicator1 = RSI[4](close)
 c1 = (indicator1 > 60)
 indicator2 = ExponentialAverage[2](close)
 indicator3 = SuperTrend[3.1,10]
 c2 = (indicator2 > indicator3)
 indicator4 = CALL “Il Mio Indicatore(14)”
 c3 = (indicator4 = 1)
 indicator5 = Volume
 c4 = (indicator5 >= 260)IF c1 AND c2 AND c3 AND c4 THEN 
 BUY 1 CONTRACT AT MARKET
 ENDIF// Condizioni per uscire da posizioni long 
 indicator6 = ExponentialAverage[2](close)
 indicator7 = TEMA[62](close)
 c5 = (indicator6 < indicator7)IF c5 THEN 
 SELL AT MARKET
 ENDIF// Condizioni per entrare su posizioni short 
 indicator8 = RSI[4](close)
 c6 = (indicator8 < 40)
 indicator9 = ExponentialAverage[2](close)
 indicator10 = SuperTrend[3.1,10]
 c7 = (indicator9 < indicator10)
 indicator11 = CALL “Il Mio Indicatore(14)”
 c8 = (indicator11 = -1)
 indicator12 = Volume
 c9 = (indicator12 > 260)IF c6 AND c7 AND c8 AND c9 THEN 
 SELLSHORT 1 CONTRACT AT MARKET
 ENDIF// Condizioni per uscire da posizioni short 
 indicator13 = ExponentialAverage[2](close)
 indicator14 = TEMA[62](close)
 c10 = (indicator13 > indicator14)IF c10 THEN 
 EXITSHORT AT MARKET
 ENDIF// Stop e target 
 SET STOP pTRAILING 28.503/11/2022 at 6:35 PM #189815Aggiornamento, mi sono reso conto che quello di cui parlavo era semplicemente uno stop-loss + trailing . Il fatto è che non ho mai programmato prima… Ora ho sostituito la riga automatica del trailing con quello scritto da Nicolas, valore 15 e step 1 , e già così il back è performante. Il mio problema è che live non va…un paio di volte lo stop non è proprio scattato, un’altra è partito ma non saliva col trailing . Qualcuno ha voglia di darci un occhiata ? Ripeto per me è un campo abbastanza oscuro… // Definizione dei parametri del codice 
 DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni long 
 indicator1 = RSI[4](close)
 c1 = (indicator1 > 55)
 indicator2, ignored = CALL “Il Mio Indicatore(23)”
 c2 = (indicator2 = 0)
 ignored, indicator3 = CALL “Il Mio Indicatore(23)”
 c3 = (indicator3 = 0)
 indicator4 = CALL “Il Mio Indicatore(14)”
 c4 = (indicator4 = 1)
 indicator5 = ExponentialAverage[2](close)
 indicator6 = SuperTrend[3.1,10]
 c5 = (indicator5 >= indicator6)IF c1 AND c2 AND c3 AND c4 AND c5 THEN 
 BUY 1 CONTRACT AT MARKET
 ENDIF// Condizioni per entrare su posizioni short 
 indicator7 = RSI[4](close)
 c6 = (indicator7 < 45)
 indicator8, ignored = CALL “Il Mio Indicatore(23)”
 c7 = (indicator8 = 0)
 ignored, indicator9 = CALL “Il Mio Indicatore(23)”
 c8 = (indicator9 = 0)
 indicator10 = CALL “Il Mio Indicatore(14)”
 c9 = (indicator10 = -1)
 indicator11 = ExponentialAverage[2](close)
 indicator12 = SuperTrend[3.1,10]
 c10 = (indicator11 <= indicator12)IF c6 AND c7 AND c8 AND c9 AND c10 THEN 
 SELLSHORT 1 CONTRACT AT MARKET
 ENDIF//************************************************************************ 
 //trailing stop function
 trailingstart = 15 //trailing will start @trailinstart points profit
 trailingstep = 1 //trailing step to move the “stoploss”//reset the stoploss value 
 IF NOT ONMARKET THEN
 newSL=0
 ENDIF//manage long positions 
 IF LONGONMARKET THEN
 //first move (breakeven)
 IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN
 newSL = tradeprice(1)+trailingstep*pipsize
 ENDIF
 //next moves
 IF newSL>0 AND close-newSL>=trailingstep*pipsize THEN
 newSL = newSL+trailingstep*pipsize
 ENDIF
 ENDIF//manage short positions 
 IF SHORTONMARKET THEN
 //first move (breakeven)
 IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THEN
 newSL = tradeprice(1)-trailingstep*pipsize
 ENDIF
 //next moves
 IF newSL>0 AND newSL-close>=trailingstep*pipsize THEN
 newSL = newSL-trailingstep*pipsize
 ENDIF
 ENDIF//stop order to exit the positions 
 IF newSL>0 THEN
 SELL AT newSL STOP
 EXITSHORT AT newSL STOP
 ENDIF
 //***************************************************************03/12/2022 at 10:54 AM #189853Quel trailing stop funziona, solo che si attiva, come ogni strategia, alla chiusura della candela, per cui se usi un TF un pò alto, tipo 1 ora, può darsi che il prezzo raggiunga il limite per attivare il trailing, ma può darsi che alla chiusura sia tornato indietro, quindi non si attiva. Se vuoi puoi sostituire CLOSE con HIGH/LOW, così non verifichi il prezzo di chiusura, bensì il minimo/massimo (però sempre alla chiusura di ogni candela). Un altro problema potrebbe essere la distanza minima tra il prezzo dell’ordine pendente di uscita ed il prezzo corrente. Una distanza richiesrta dal broker, IG per il Dax richiede almeno 6 punti ma puyò variare durante i periodi di alta volatilità. Questa è la versione del trailing stop di Nicolas, aggiornata per tenere conto di: - distanza minima richiesta dal broker
- punti di profitto da assicurare quando mette in pareggio (breakeven):
 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960//*********************************************************************************// https://www.prorealcode.com/blog/trading/complete-trailing-stop-code-function/// (righe 17- 56)////trailing stop functionIF NOT ONMARKET THENTrailingStart = 20 //20 trailing will start @trailinstart points profitTrailingStep = 5 //5 trailing step to move the "stoploss"Distance = 7 //7 pips Distance from caurrent price (if required by the broker)PointsToKeep = 1 //1 pips to be gained when breakeven is set//reset the stoploss valuenewSL=0ENDIFIF (BarIndex - TradeIndex) >= 0 THEN //0//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND close-TradePrice(1)>=(TrailingStart*PipSize+PointsToKeep*PipSize) THENnewSL = TradePrice(1)+TrailingStep*PipSize+PointsToKeep*PipSizeENDIF//next movesIF newSL>0 AND close-newSL>=TrailingStep*PipSize THENnewSL = newSL+TrailingStep*PipSizeENDIFENDIF//manage short positionsIF SHORTONMARKET THEN//first move (breakeven)IF newSL=0 AND TradePrice(1)-close>=(TrailingStart*PipSize+PointsToKeep*PipSize) THENnewSL = TradePrice(1)-TrailingStep*PipSize+PointsToKeep*PipSizeENDIF//next movesIF newSL>0 AND newSL-close>=TrailingStep*PipSize THENnewSL = newSL-TrailingStep*PipSizeENDIFENDIF//stop order to exit the positionsIF newSL>0 THENIF LongOnMarket THENIF (close + Distance) > newSL THENSELL AT newSL STOPELSIF (close - Distance) < newSL THENSELL AT newSL LIMITELSESELL AT MarketENDIFELSIF ShortOnmarket THENIF (close + Distance) < newSL THENEXITSHORT AT newSL STOPELSIF (close - Distance) > newSL THENEXITSHORT AT newSL LIMITELSEEXITSHORT AT MarketENDIFENDIFENDIFENDIF//*********************************************************************************03/13/2022 at 1:21 AM #189900Attendere la chiusura … ora capisco . Volevo ringraziarti per la disponibilità anche perchè in pochi giorni di forum mi sono reso conto che rispondi a tutti ed in tutte le lingue. Pian piano proverò a tirar fuori qualcosa, anche perchè mi sembra un mondo dalle potenzialità importanti. Grazie ancora 
- 
		AuthorPosts
			Find exclusive trading pro-tools on 


 
		 
		 
		