Cette stratégie s'appelle
La stratégie utilise l'indicateur TSI pour déterminer les tendances et l'élan des prix. L'indicateur TSI est basé sur la moyenne mobile doublée lissée du taux de variation des prix. Il génère des signaux d'achat lorsque la valeur TSI dépasse sa moyenne mobile et des signaux de vente lorsqu'elle dépasse sa moyenne mobile.
La stratégie utilise également la moyenne mobile de Hull pour déterminer les tendances des prix. La moyenne mobile de Hull est construite avec des moyennes mobiles doubles pondérées et peut filtrer efficacement le bruit du marché.
Lorsque l'indicateur TSI génère un signal, si la moyenne mobile Hull confirme la tendance dans le même sens, les signaux de trading correspondants seront déclenchés.
En combinant des indicateurs de tendance, de dynamique et de moyennes mobiles, cette stratégie permet d'identifier efficacement le début des tendances du marché et d'éviter les faux signaux excessifs.
Comparée aux stratégies à indicateur unique, cette stratégie filtre les signaux en combinant plusieurs indicateurs, ce qui peut grandement améliorer la qualité des signaux.
Bien que cette stratégie puisse identifier efficacement les débuts de tendance, elle peut générer de faux signaux et des sur-negotiations lors des consolidations du marché.
Pour réduire les risques, les paramètres de la période de coque ou des STI peuvent être ajustés en conséquence. Des arrêts peuvent également être ajoutés aux pertes de contrôle. Lors de l'optimisation, une attention particulière doit être accordée pour assurer un rapport signal-bruit élevé pour les meilleurs paramètres.
La stratégie peut être optimisée dans les aspects suivants:
Cette stratégie combine l'indicateur TSI et la moyenne mobile de Hull pour générer des signaux de trading après avoir confirmé les tendances du marché. La stratégie a un temps et une qualité de signal élevés. Grâce à l'optimisation des paramètres et à la combinaison de la stratégie, la rentabilité peut être considérablement améliorée tout en réduisant les risques.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("TSI/HullMA/VWMA strategy", shorttitle="TSI/HullMA/VWMA", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=420, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0) TP = input(defval=200.00, title="TargetPoint in $", type=float, step=1) SL = input(defval=-2000.00, title="StopLoss in $", type=float, step=1) signal = input(title="Signal Length", defval=6) keh=input(title="HullMA cross",defval=2) a=input(title="VWMA",defval=2) long=35,short=35,linebuy=4,linesell=-4,ot=1,p=ohlc4[0] double_smooth(src, long, short) => fist_smooth = ema(src, long) ema(fist_smooth, short) pc = change(p) rvwma=vwma(p,round(a)) rvwma2=vwma(p,round(a*2)) n2ma=2*wma(p,round(keh/2)) nma=wma(p,keh) diff=n2ma-nma sqn=round(sqrt(keh)) n2ma1=2*wma(p[1],round(keh/2)) nma1=wma(p[1],keh) diff1=n2ma1-nma1 sqn1=round(sqrt(keh)) n1=wma(diff,sqn) n2=wma(diff1,sqn) hullbuy=n1>n2 and n1>n2[1] and rvwma>rvwma2 hullsell=n1<n2 and n1<n2[1] and rvwma<rvwma2 candlebuy=ohlc4[0]>ohlc4[1] and ohlc4[0]>ohlc4[2] and ohlc4[0]>ohlc4[3] candlesell=ohlc4[0]<ohlc4[1] and ohlc4[0]<ohlc4[2] and ohlc4[0]<ohlc4[3] double_smoothed_pc = double_smooth(pc, long, short) double_smoothed_abs_pc = double_smooth(abs(pc), long, short) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) strategy.entry("buy", true, na, when = tsi_value>ema(tsi_value, signal) and candlebuy and hullbuy) strategy.entry("sell", false, na, when = tsi_value<ema(tsi_value, signal) and candlesell and hullsell) strategy.close_all(when = strategy.openprofit>TP or strategy.openprofit<SL)