La stratégie de trading Awesome Oscillator Double Stochastic Filtered Divergence identifie les opportunités d'achat et de vente potentielles en détectant les divergences entre l'Awesome Oscillator (AO) et l'action des prix, filtrées par les conditions de surachat et de survente de l'Oscillator Stochastique
La stratégie est composée des éléments suivants:
Calcul de l'oscillateur impressionnant (AO): AO est la différence entre les SMA de 5 périodes et 34 périodes du point médian (HL2) pour identifier la dynamique de l'élan du marché.
Oscillateur stochastique: Utilisé pour mesurer l'élan et les points de renversement potentiels en comparant le prix de clôture à la fourchette de prix sur une période. Utilise le stochastique à 14 périodes (stochK) et le SMA à 3 périodes (stochD) pour détecter les niveaux de surachat / survente.
Détection de divergence logique: Simplifiée lorsque le prix se déplace dans une direction tandis que l'AO se déplace dans la direction opposée.
Filtrage stochastique: Les signaux sont filtrés selon la condition stochastique de surachat pour la vente et de survente pour l'achat.
Tracé des signaux: les signaux confirmés après filtration sont tracés sur le graphique sous forme de formes.
Règles d'entrée: entrée longue sur signal haussier confirmé, entrée courte sur signal baissier confirmé.
La stratégie combine le suivi des tendances et l'identification des renversements, avec des signaux fiables.
AO aide à identifier les changements de tendance à court terme, la divergence avec le prix fournit une source de signal fiable.
Les filtres stochastiques évitent les faux signaux sans confirmation de surachat/survente.
La combinaison d'indicateurs fournit une évaluation et une fiabilité robustes du marché.
Signaux et règles d'entrée clairs, mise en œuvre facile.
Sélection raisonnable des indicateurs et des paramètres, bon backtest et performance en direct.
Les risques potentiels sont les suivants:
La détection de divergence simpliste risque de fausser le jugement des signaux. L'optimisation peut réduire la probabilité de fausse évaluation.
Les paramètres statiques peuvent avoir des performances inférieures en fonction des conditions changeantes du marché.
Le filtrage stochastique peut manquer certaines opportunités rentables.
Aucun mécanisme strict de contrôle des pertes pour les positions ouvertes.
Les domaines à optimiser davantage:
Améliorer la logique d'identification des signaux de divergence pour des signaux de meilleure qualité.
Testez différentes combinaisons de paramètres pour trouver les paramètres optimaux.
Incorporer des stratégies de stop loss pour contrôler la baisse des transactions individuelles.
Optimiser les règles de taille des entrées et la gestion des positions ouvertes.
Introduire l'apprentissage automatique pour l'optimisation des paramètres dynamiques et logique.
Ajouter plus de sources de données pour la conduite par facteurs multivariés.
La stratégie AO Double Stochastic Filtered Divergence combine efficacement le suivi de tendance et l'identification de l'inversion par le biais de la divergence AO et du filtrage stochastique. Des règles claires, de bons résultats de backtest, avec un fort potentiel pratique.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fixed AO Divergence Strategy", shorttitle="Fixed AO+Stoch", overlay=true) // Calculate Awesome Oscillator ao() => ta.sma(hl2, 5) - ta.sma(hl2, 34) aoVal = ao() // Stochastic Oscillator stochK = ta.stoch(close, high, low, 14) stochD = ta.sma(stochK, 3) // Simplify the divergence detection logic // For educational purposes, we will define a basic divergence detection mechanism // Real-world application would require more sophisticated logic // Detect bullish and bearish divergences based on AO and price action bullishDivergence = (close > close[1]) and (aoVal < aoVal[1]) bearishDivergence = (close < close[1]) and (aoVal > aoVal[1]) // Stochastic Overbought/Oversold conditions stochOverbought = (stochK > 80) and (stochD > 80) stochOversold = (stochK < 20) and (stochD < 20) // Filtered signals confirmedBullishSignal = bullishDivergence and stochOversold confirmedBearishSignal = bearishDivergence and stochOverbought // Plot signals plotshape(series=confirmedBullishSignal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bullish Divergence", text="BUY") plotshape(series=confirmedBearishSignal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Bearish Divergence", text="SELL") // Strategy Entry if (confirmedBullishSignal) strategy.entry("Long", strategy.long, comment="Long Entry") if (confirmedBearishSignal) strategy.entry("Short", strategy.short, comment="Short Entry")