Les ressources ont été chargées... Je charge...

Stratégie de suivi de la tendance intelligente basée sur la théorie du SMC multi-zones

Auteur:ChaoZhang est là., Date: 2024-11-29 15:38:01 Je vous en prie.
Les étiquettes:SMALe SMCObésitéLe QE

img

Résumé

Cette stratégie, basée sur la théorie des concepts d'argent intelligent (SMC), construit une tendance globale suivant le système de négociation en divisant le marché en trois zones de prix clés: équilibre, prime et discount.

Principes de stratégie

La logique de base comprend plusieurs éléments clés:

  1. Calcule les hauts et les bas des huit dernières bougies pour déterminer la fourchette de marché.
  2. Définit la zone d'équilibre comme le point médian entre le swing high et le swing low, avec la zone premium au-dessus et la zone discount au-dessous.
  3. Utilise la SMA de 50 périodes pour déterminer la direction générale de la tendance - haussière au-dessus de la SMA, baissière en dessous.
  4. Génère des signaux d'achat dans la zone d'actualisation lorsque le prix est supérieur à la SMA et des signaux de vente dans la zone de prime lorsque le prix est inférieur à la SMA.
  5. Identifie les blocs d'ordres en analysant les prix les plus élevés et les plus bas au sein de 20 bougies pour confirmer les signaux de négociation.
  6. Marque les hauts et les bas en tant que zones de liquidité pour prédire les points de renversement potentiels des prix.

Les avantages de la stratégie

  1. Méthode de division des zones structurée permettant une identification claire des phases du marché.
  2. Mécanisme de confirmation de signaux multiples grâce à une triple vérification des zones, des tendances et des blocs d'ordres.
  3. Adaptation dynamique aux changements du marché avec des mises à jour en temps réel des niveaux clés des prix.
  4. Système complet de gestion des risques, y compris la gestion du stop-loss et de la position.
  5. Implémentation de code propre et efficace, facile à entretenir et à optimiser.

Risques stratégiques

  1. Des signaux de rupture fausses potentielles sur les marchés volatils.
  2. L'indicateur est retardé par rapport aux changements rapides du marché en raison de la dépendance des données historiques.
  3. Les moyennes mobiles à période fixe peuvent ne pas convenir à tous les environnements de marché.
  4. Il est nécessaire de régler correctement le stop-loss pour contrôler les risques. Mesures recommandées de gestion des risques:
  • Ajustement dynamique des paramètres pour différentes conditions de marché
  • Ajout de filtres de volatilité
  • Mise en œuvre de règles strictes en matière de gestion des fonds
  • Tests antérieurs réguliers et optimisation des paramètres

Directions d'optimisation

  1. Introduire les paramètres d'adaptation:
  • Ajuster dynamiquement les fourchettes de zones en fonction de la volatilité du marché
  • Mettre en œuvre des moyennes mobiles de période d'adaptation
  1. Filtrage amélioré du signal:
  • Ajouter un mécanisme de confirmation de volume
  • Incorporer des indicateurs de dynamique
  1. Améliorer la gestion des risques:
  • Mettre en œuvre un mécanisme de stop-loss dynamique
  • Optimiser l'algorithme de taille de position
  1. Augmenter l'efficacité de l'exécution:
  • Optimiser la logique de calcul pour réduire la consommation de ressources
  • Améliorer le mécanisme de génération de signaux pour une réponse plus rapide

Résumé

Cette stratégie construit un système de suivi de tendance robuste grâce à une division intelligente des zones et à de multiples mécanismes de confirmation de signal. Ses principales forces résident dans une analyse claire de la structure du marché et une gestion complète des risques. Grâce à une optimisation et une amélioration continues, la stratégie promet des performances stables dans différentes conditions de marché.


/*backtest
start: 2024-11-21 00:00:00
end: 2024-11-28 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@version=5
strategy("SMC Strategy with Premium, Equilibrium, and Discount Zones", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === Instellingen voor Swing High en Swing Low ===
swingHighLength = input.int(8, title="Swing High Length")
swingLowLength = input.int(8, title="Swing Low Length")

// Vind de recente swing highs en lows
var float swingHigh = na
var float swingLow = na

if (ta.highestbars(high, swingHighLength) == 0)
    swingHigh := high

if (ta.lowestbars(low, swingLowLength) == 0)
    swingLow := low

// Bereken Equilibrium, Premium en Discount Zones
equilibrium = (swingHigh + swingLow) / 2
premiumZone = swingHigh
discountZone = swingLow

// Plot de zones op de grafiek
plot(equilibrium, title="Equilibrium", color=color.blue, linewidth=2)
plot(premiumZone, title="Premium Zone (Resistance)", color=color.red, linewidth=1)
plot(discountZone, title="Discount Zone (Support)", color=color.green, linewidth=1)

// === Simple Moving Average om trendrichting te bepalen ===
smaLength = input.int(50, title="SMA Length")
sma = ta.sma(close, smaLength)
plot(sma, title="SMA", color=color.orange)

// === Entry- en Exitregels op basis van zones en trendrichting ===

// Koop- en verkoopsignalen
buySignal = close < equilibrium and close > discountZone and close > sma // Prijs in discount zone en boven SMA
sellSignal = close > equilibrium and close < premiumZone and close < sma // Prijs in premium zone en onder SMA

// Order Blocks (Eenvoudig: hoogste en laagste kaars binnen de laatste 20 kaarsen)
orderBlockLength = input.int(20, title="Order Block Length")
orderBlockHigh = ta.highest(high, orderBlockLength)
orderBlockLow = ta.lowest(low, orderBlockLength)

// Koop- en verkoopsignalen met order block bevestiging
buySignalOB = buySignal and close >= orderBlockLow // Koop in discount zone met ondersteuning van order block
sellSignalOB = sellSignal and close <= orderBlockHigh // Verkoop in premium zone met weerstand van order block

// === Uitvoeren van Trades ===
if (buySignalOB)
    strategy.entry("Buy", strategy.long)
    
if (sellSignalOB)
    strategy.entry("Sell", strategy.short)

// === Plots voor visuele feedback ===
plotshape(buySignalOB, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignalOB, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// === Liquiditeitsjachten aangeven ===
// Simpel: markeer recente swing highs en lows als liquiditeitszones
liquidityZoneHigh = ta.valuewhen(high == swingHigh, high, 0)
liquidityZoneLow = ta.valuewhen(low == swingLow, low, 0)

// Markeer liquiditeitszones
plot(liquidityZoneHigh, title="Liquidity Zone High", color=color.red, linewidth=1, style=plot.style_cross)
plot(liquidityZoneLow, title="Liquidity Zone Low", color=color.green, linewidth=1, style=plot.style_cross)


Relationnée

Plus de