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

Stratégie de prédiction adaptative du signal croisé SMI basée sur l'élan

Auteur:ChaoZhang est là., Date: 2024-12-27 à 15h38
Les étiquettes:SMILe taux d'intérêt

img

Résumé

Cette stratégie est un système de trading adaptatif basé sur l'indice de moment stochastique (SMI). Elle prédit les tendances du marché en analysant les croisements entre l'indicateur SMI et sa ligne de signal, générant automatiquement des signaux d'achat et de vente aux positions clés.

Principes de stratégie

Le noyau de la stratégie réside dans la mesure de la dynamique des prix par le calcul du SMI. Il détermine d'abord la fourchette de prix la plus élevée et la plus basse dans une période spécifique, puis normalise la position du prix de clôture par rapport à cette fourchette. En appliquant un doublement de l'EMA à la fois à la fourchette relative et à la fourchette de prix, il génère des valeurs SMI plus stables. Les signaux d'achat sont déclenchés lorsque la ligne SMI fait une croix dorée avec sa ligne de signal (SMIs EMA), tandis que les croix de mort déclenchent des signaux de vente.

Les avantages de la stratégie

  1. Génération de signal clair: utilise des signaux croisés comme déclencheurs de négociation, éliminant le jugement subjectif
  2. Forte résistance au bruit: utilise un double lissage EMA pour filtrer efficacement le bruit du marché
  3. Haute adaptabilité: peut s'adapter à différents environnements de marché grâce à l'optimisation des paramètres
  4. Contrôle complet des risques: définit des zones de surachat/survente pour éviter les erreurs de jugement dans des conditions de marché extrêmes
  5. Visualité élevée: utilise des remplissages de gradient pour afficher intuitivement les conditions du marché

Risques stratégiques

  1. Risque de retard: la génération du signal a un certain retard en raison de multiples calculs de moyennes mobiles.
  2. Risque d'oscillation: peut générer de faux signaux sur les marchés latéraux
  3. Sensibilité des paramètres: différentes combinaisons de paramètres peuvent donner des résultats radicalement différents
  4. Dépendance de l'environnement du marché: Performe mieux sur les marchés en tendance, moins efficace sur les marchés en évolution

Directions d'optimisation

  1. Incorporer des indicateurs de volume: valider l'efficacité du signal en combinant les changements de volume
  2. Ajouter des filtres de tendance: confirmer la direction générale de la tendance en utilisant des moyennes mobiles à plus longue période
  3. Optimiser l'adaptation des paramètres: ajuster dynamiquement les paramètres en fonction de la volatilité du marché
  4. Améliorer le mécanisme d'arrêt des pertes: mettre en œuvre des arrêts de retard pour protéger les bénéfices
  5. Améliorer la gestion des risques: ajouter des modules de dimensionnement des positions et de gestion des fonds

Résumé

Il s'agit d'une stratégie de trading mature basée sur l'indicateur SMI, générant des signaux de trading grâce à des croisements d'indicateurs techniques avec une forte praticité. Les principaux avantages de la stratégie résident dans ses signaux clairs et sa forte résistance au bruit, bien qu'elle ait un certain retard inhérent. Grâce à des optimisations telles que la validation du volume et le filtrage des tendances, la stabilité et la fiabilité de la stratégie peuvent être encore améliorées. Cette stratégie est particulièrement adaptée au suivi des tendances à moyen et long terme et constitue un excellent choix pour les investisseurs qui cherchent à construire des systèmes de trading systématiques.


/*backtest
start: 2024-12-19 00:00:00
end: 2024-12-26 00:00:00
period: 45m
basePeriod: 45m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Iban_Boe

//@version=6
strategy("SMI Strategy with Signals", "SMI Strategy", overlay=false)

// Parámetros del SMI
lengthK   = input.int(14, "%K Length",  minval=1, maxval=15000)
lengthD   = input.int(3,  "%D Length",  minval=1, maxval=4999)
lengthEMA = input.int(3,  "EMA Length", minval=1, maxval=4999)

// Función de doble EMA
emaEma(source, length) => ta.ema(ta.ema(source, length), length)

// Cálculos del SMI
highestHigh = ta.highest(lengthK)
lowestLow = ta.lowest(lengthK)
highestLowestRange = highestHigh - lowestLow
relativeRange = close - (highestHigh + lowestLow) / 2
smi = 200 * (emaEma(relativeRange, lengthD) / emaEma(highestLowestRange, lengthD))
smiSignal = ta.ema(smi, lengthEMA)

// Gráficos del SMI
smiPlot = plot(smi, "SMI", color=color.blue)
plot(smiSignal, "SMI-based EMA", color=color.orange)

// Level lines
hline(40, "Overbought Line", color=color.green)
hline(-40, "Oversold Line", color=color.red)
hline(0, "Middle Line", color=color.gray)

midLinePlot = plot(0, color = na, editable = false, display = display.none)
fill(smiPlot, midLinePlot, 120,  40,   top_color = color.new(#4caf4f, 50),    bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill")
fill(smiPlot, midLinePlot, -40, -120,  top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 50),    title = "Oversold Gradient Fill")

// Señales de compra y venta
buySignal = ta.crossover(smi, smiSignal) // Detect crossover
sellSignal = ta.crossunder(smi, smiSignal) // Detect crossover

// Graficar señales de compra/venta
plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny, title="Señal de Compra")
plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny, title="Señal de Venta")

// Lógica de la estrategia
if (buySignal)
    strategy.entry("Compra", strategy.long)

if (sellSignal)
    strategy.entry("Venta", strategy.short)

// Alertas
alertcondition(buySignal, title="Alerta de Compra", message="¡Señal de Compra Detectada!")
alertcondition(sellSignal, title="Alerta de Venta", message="¡Señal de Venta Detectada!")



Relationnée

Plus de