Stratégie de suivi de la volatilité des moyennes mobiles doubles

Auteur:ChaoZhang est là., Date: le 29 février 2024 à 11h15
Les étiquettes:

img

Résumé

La stratégie de suivi de la volatilité des moyennes mobiles doubles intègre les idées des stratégies de suivi de la volatilité des moyennes mobiles et des moyennes mobiles. En calculant le croisement des moyennes mobiles simples (SMA) avec différentes périodes, elle réalise la croix dorée et la croix morte pour juger des tendances.

La logique de la stratégie

Les indicateurs de base de cette stratégie comprennent la moyenne mobile simple (SMA), les bandes de Bollinger et la moyenne dynamique de l'indice variable (VIDYA). La stratégie établit une SMA rapide et une LMA lente avec des périodes différentes. La croix d'or des lignes rapides et lentes sert de signal long, tandis que la croix de la mort sert de signal de sortie. Pendant ce temps, elle surveille la rupture du prix au-dessus ou en dessous des bandes de Bollinger pendant une période de détention.

Plus précisément, la logique du signal long est déclenchée lorsque le SMA rapide traverse le LMA lent et que le prix est au-dessus de la courbe VIDYA, indiquant une tendance haussière et une expansion de la volatilité.

Analyse des avantages

Le principal avantage de cette stratégie est la combinaison de deux indicateurs pour évaluer les conditions du marché, ce qui améliore la précision des décisions.

  1. La stratégie de la croix d'or et de la croix morte est simple et efficace pour identifier les points tournants de la tendance.
  2. L'indice VIDYA suit dynamiquement les changements de volatilité du marché.
  3. Les bandes de Bollinger répondent rapidement aux fluctuations des prix.

En résumé, cette stratégie intègre des informations issues des dimensions tendance, réversion et volatilité.

Analyse des risques

Bien que cette stratégie présente de nombreux avantages, il y a encore des risques à prendre en compte:

  1. Des paramètres mal réglés peuvent entraîner une survente, une augmentation des coûts et un glissement.
  2. Les signaux contradictoires entre deux indicateurs peuvent entraîner l'absence des meilleurs points d'entrée.
  3. Il existe un risque de suradaptabilité des tests de retour, les performances réelles des transactions pouvant être très différentes des résultats des tests de retour.

Pour atténuer les risques susmentionnés, l'optimisation des paramètres, les règles de priorité entre les signaux, le contrôle du glissement et les essais de robustesse dans différents environnements de marché sont recommandés.

Directions d'optimisation

Les principales dimensions d'optimisation sont le réglage des paramètres et le réglage des conditions du filtre:

  1. Optimiser les paramètres de période SMA et LMA.
  2. Ajustez le paramètre de bande passante pour les bandes de Bollinger.
  3. Optimisez le paramètre d'aplatissement alpha dans VIDYA.
  4. Ajouter les conditions de prix ou de volume du filtre.

La combinaison de l'optimisation des paramètres et du raffinement des règles pourrait encore améliorer la stabilité et la rentabilité.

Conclusion

La stratégie de suivi de la volatilité des moyennes mobiles doubles utilise de multiples indicateurs pour déterminer les conditions du marché, capturer les points tournants de la tendance tout en surveillant les situations de fluctuation des prix.


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Combined Golden Cross and Progressive Trend Tracker", shorttitle="GCC-PTT", overlay=true)

// Inputs
fastMA_period = input(50, title="Fast MA Period")
slowMA_period = input(200, title="Slow MA Period")
src = input(close, title="Source")
lengthBB = input(20, title="Bollinger Bands Length")
mult = input(2.0, title="Bollinger Bands Multiplier")
mavType = input.string(title="Moving Average Type", defval="VAR", options=['SMA', 'EMA', 'WMA', 'TMA', 'VAR', 'WWMA', 'ZLEMA', 'TSF'])

// Calculate Moving Averages for Golden Cross
fastMA = ta.sma(src, fastMA_period)
slowMA = ta.sma(src, slowMA_period)
bullish_cross = ta.crossover(fastMA, slowMA)
bearish_cross = ta.crossunder(fastMA, slowMA)

// Progressive Trend Tracker Components (Adjusted for NA assignment issue)
Var_Func(src, length) =>
    valpha = 2 / (length + 1)
    vud1 = src > src[1] ? src - src[1] : 0
    vdd1 = src < src[1] ? src[1] - src : 0
    vUD = math.sum(vud1, length)
    vDD = math.sum(vdd1, length)
    vCMO = (vUD - vDD) / (vUD + vDD)
    VAR = 0.0 // Adjusted here, assign an initial value
    VAR := ta.ema(src * math.abs(vCMO), length)
    VAR

VAR = Var_Func(src, 14) // Example VAR calculation, adjust as needed

// Bollinger Bands for dynamic support and resistance
BBandTop = fastMA + mult * ta.stdev(src, lengthBB)
BBandBot = fastMA - mult * ta.stdev(src, lengthBB)

// Plotting
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
plot(BBandTop, color=color.green, title="Bollinger Band Top")
plot(BBandBot, color=color.red, title="Bollinger Band Bottom")
plot(VAR, color=color.purple, title="VAR", linewidth=2)

// Strategy Logic (Adjusted for strategy use)
// Long Entry when bullish cross and close above VAR
// Exit when bearish cross or close below VAR
if (bullish_cross and close > VAR)
    strategy.entry("CGC_PTT_Long", strategy.long)
if (bearish_cross or close < VAR)
    strategy.close("CGC_PTT_Long")


Plus de