Cette stratégie combine une stratégie d'inversion de tendance avec une stratégie de volatilité statistique pour générer des signaux de trading plus forts.
La stratégie se compose de deux parties:
Stratégie d'inversion de tendance
Stratégie statistique de volatilité
La stratégie ne génère un signal commercial que lorsque les deux stratégies s'accordent sur la direction (les deux longues ou les deux courtes).
La stratégie combinée améliore la fiabilité du signal en combinant deux types de stratégies:
Le modèle 123 capture avec précision les points d'inversion de tendance et évite d'être induit en erreur par des pics ponctuels de prix.
La volatilité statistique se concentre sur les périodes à forte volatilité et à forte opportunité basées sur les mouvements du marché au cours du dernier mois.
En se vérifiant mutuellement, les deux stratégies combinées captent plus précisément les points de basculement clés du marché et génèrent des signaux de trading plus précis.
123 les modèles ne peuvent pas éviter complètement le risque de fausses fuites.
La volatilité statistique ne prend en compte que les données historiques et ne peut pas prédire les changements de volatilité futurs.
Les deux stratégies reposent fortement sur le réglage des paramètres.
Bien que plus fiable dans l'ensemble, l'approche combinée peut manquer certains signaux forts des stratégies individuelles.
Incorporer plus d'indicateurs comme les bandes de Bollinger, KDJ pour former un mécanisme de vote.
Ajoutez des algorithmes d'apprentissage automatique pour déterminer les probabilités d'inversion de tendance en utilisant plus de données historiques.
Définissez les seuils de puissance du signal pour filtrer le bruit.
Optimiser les paramètres pour différents produits et délais.
Ajouter des mécanismes de stop loss pour contrôler le risque de la stratégie combinée.
La stratégie améliore la qualité du signal en combinant des stratégies d'inversion de tendance et de volatilité statistique, fournissant des signaux de trading plus précis autour des points tournants du marché.
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-23 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 31/07/2021 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // This indicator used to calculate the statistical volatility, sometime // called historical volatility, based on the Extreme Value Method. // Please use this link to get more information about Volatility. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos SV(Length,TopBand,LowBand) => pos = 0.0 xMaxC = highest(close, Length) xMaxH = highest(high, Length) xMinC = lowest(close, Length) xMinL = lowest(low, Length) SqrTime = sqrt(253 / Length) Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5 nRes = iff(Vol < 0, 0, iff(Vol > 2.99, 2.99, Vol)) pos := iff(nRes > TopBand, 1, iff(nRes < LowBand, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Statistical Volatility", shorttitle="Combo", overlay = true) line1 = input(true, "---- 123 Reversal ----") Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- line2 = input(true, "---- Statistical Volatility ----") LengthSV = input(30, minval=1) TopBand = input(0.005, step=0.001) LowBand = input(0.0016, step=0.001) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posSV = SV(LengthSV,TopBand,LowBand) pos = iff(posReversal123 == 1 and posSV == 1 , 1, iff(posReversal123 == -1 and posSV == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1 ) strategy.entry("Long", strategy.long) if (possig == -1 ) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )