Cette stratégie utilise deux points de stop loss de suivi basés sur les règles de trading de tortue pour limiter les pertes, tout en définissant différents paramètres pour filtrer le bruit du marché et entrer sur des tendances plus prononcées.
La stratégie s'appuie principalement sur deux points d'arrêt de perte de suivi, long_1 et long_2, pour déterminer les signaux d'entrée. Long_1 suit la tendance à plus long terme tandis que long_2 suit la tendance à plus court terme. Profit1 et profit2 agissent comme points d'arrêt de perte.
Si le prix est supérieur à long_1, le marché est dans une tendance haussière à plus long terme. Si le prix descend ensuite en dessous de long_2, cela indique un rebond à court terme offrant une bonne opportunité d'entrée à long terme. Si le prix est inférieur à long_1, il n'y a pas de tendance à long terme confirmée. Mais si le prix dépasse long_2, cela signale un rebond à court terme et peut également prendre une position longue.
Après l'entrée, deux stop-loss de suivi stoploss1 et stoploss2 sont définis et comparés au profit1 et au profit2 pour prendre la valeur maximale, afin de verrouiller les profits.
Peut rendre la stratégie plus agressive en ajustant les paramètres long et profit pour plus de transactions.
Il s'agit d'une stratégie globale conservatrice adaptée aux investisseurs qui recherchent une croissance constante. En ajustant les paramètres et en optimisant les algorithmes de stop loss, l'agressivité peut être augmentée.
/*backtest start: 2023-11-19 00:00:00 end: 2023-12-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Turtle Project",overlay= true) //----------------------------------------------------------- entry_1 = input(55) profit_1 = input(20) long_1 = float(na) long_1:= if high[entry_1] >= highest(high,entry_1) high[entry_1] else long_1[1] profit1 = float(na) profit1:= if low[profit_1] <= lowest(low,profit_1) low[profit_1] else profit1[1] //----------------------------------------------------------- entry_2 = input(20) profit_2 = input(10) long_2 = float(na) long_2:= if high[entry_2] >= highest(high,entry_2) high[entry_2] else long_2[1] profit2 = float(na) profit2:= if low[profit_2] <= lowest(low,profit_2) low[profit_2] else profit2[1] //------------------------------------------------------------ stoploss_1= lowest(low,1) < long_1 and highest(high,1) > long_1 stoploss_2= lowest(low,1) < long_2 and highest(high,1) > long_2 stop_1 = input(1)/100 stop_2 = input(2)/100 plotchar(stoploss_1, "high1", "▲",location.top,color=color.red ) plotchar(stoploss_2, "high2", "▲",location.top,color=color.blue) //------------------------------------------------------------ if strategy.position_size == 0 if low < long_1 if high < long_1 strategy.entry("longlong_4",strategy.long, stop=long_1) if strategy.position_size == 0 if low > long_1 if high < long_2 strategy.entry("longlong_3",strategy.long, stop=long_2) stoploss1 = float(na) stoploss1:= stoploss_1 ? strategy.position_avg_price * (1 - stop_1) : stoploss1[1] stoploss__1 = max(stoploss1,profit1) if high > long_1 and strategy.position_size > 0 strategy.exit("exit_1 ","longlong_4",stop=stoploss__1) stoploss2 = float(na) stoploss2:= stoploss_2 ? strategy.position_avg_price * (1 - stop_2) : stoploss2[1] stoploss__2 = max(stoploss2,profit2) if high > long_2 and strategy.position_size > 0 strategy.exit("exit_2 ","longlong_3",stop=stoploss__2) //-------------------------------------------------------------- plot(long_1,color=color.red ,linewidth=3) plot(long_2,color=color.blue,linewidth=3) plot(profit1,color=color.red, linewidth=1) plot(profit2,color=color.blue, linewidth=1) //plot(stoploss__1,style=plot.style_circles, color=color.yellow) //plot(stoploss__2,style=plot.style_circles, color=color.yellow) plot(stoploss1,style=plot.style_circles, color=color.blue) plot(stoploss2,style=plot.style_circles, color=color.red) //--------------------------------------------------------------