Stratégie de négociation croisée de moyenne mobile adaptative et moyenne mobile pondérée

Auteur:ChaoZhang est là., Date: 23 janvier 2024
Les étiquettes:

img

Résumé

Cette stratégie génère des signaux de trading basés sur l'indicateur adaptatif des moyennes mobiles (AIOMA) et les indicateurs de la moyenne mobile pondérée (WMA).

Nom de la stratégie

Stratégie de croisement adaptatif de l'AIOMA et de la WMA

La logique de la stratégie

La stratégie comprend les principales composantes suivantes:

  1. Calcul de l'indicateur AIOMA

    • Calculer une série de moyennes mobiles exponentielles (EMA) de longueur spécifiée
    • Chaînez ces EMA pour créer des valeurs lisses
    • L'AIOMA final est une EMA de la dernière valeur lissée
  2. Calcul de l'indicateur WMA

    • Calculer la WMA avec une longueur spécifiée
  3. Génération du signal

    • Signal d'achat lorsque la WMA traverse au-dessus de l'AIOMA
    • Signal de vente lorsque la WMA passe sous AIOMA
  4. Logique de négociation

    • Entrez une position longue sur le signal d'achat
    • Entrer en position courte sur le signal de vente
    • Position de fermeture sur les signaux de croisement arrière

Les avantages

  1. L'utilisation de deux types différents de moyennes mobiles améliore la précision du signal
  2. AIOMA réduit les faux signaux grâce à plusieurs lissages exponentiels
  3. L'indicateur WMA réagit plus rapidement aux changements de prix pour détecter les tendances plus tôt
  4. Logique de négociation simple, facile à comprendre et à mettre en œuvre

Les risques

  1. Résultats de l'analyse
  2. La WMA est sujette à des signaux erronés provenant de fluctuations de prix à court terme
  3. Aucune logique de stop-loss, peut conduire à de grandes pertes

Peut réduire les risques par l'optimisation des paramètres, l'ajout d'un stop loss, le filtrage avec d'autres indicateurs, etc.

Les domaines d'amélioration

  1. Testez différentes combinaisons de paramètres pour trouver des valeurs optimales
  2. Commande de stop loss déclenchée avec des signaux d'entrée
  3. Filtrer les signaux à l'aide d'indicateurs de volatilité
  4. Incorporer des stratégies de dimensionnement des positions

Conclusion

Cette stratégie combine les atouts d'AIOMA et de WMA en utilisant des croisements pour générer des signaux de trading. Par rapport aux moyennes mobiles simples, elle améliore la qualité du signal.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © SDTA

//@version=5
strategy("AIOMA-WMA Strategy", overlay=true)

// Parametreler
aioma_length = input(14, "AIOMA Length")
wma_length = input(21, "WMA Length")

// AIOMA hesaplama
length1 = aioma_length
ema1 = ta.ema(close, length1)
length2 = aioma_length
ema2 = ta.ema(ema1, length2)
length3 = aioma_length
ema3 = ta.ema(ema2, length3)
length4 = aioma_length
ema4 = ta.ema(ema3, length4)
aioma = ta.ema(ema4, aioma_length)

// WMA hesaplama
wma = ta.wma(close, wma_length)

// Kesişim kontrolü
cross_up = ta.crossover(wma, aioma)
cross_down = ta.crossunder(wma, aioma)

// İşlem fonksiyonu
enterTrade(dir, price, signalText, color) =>
    if dir
        strategy.entry("Enter", strategy.long)
        label.new(x = bar_index, y = price, text = signalText, color = color, textcolor = color, style = label.style_label_up, size = size.small, tooltip = "Entry Signal")
    else if not dir
        strategy.entry("Exit", strategy.short)
        label.new(x = bar_index, y = price, text = signalText, color = color, textcolor = color, style = label.style_label_down, size = size.small, tooltip = "Exit Signal")

// Long pozisyon girişi
if cross_up
    enterTrade(true, low, "Buy Signal", color.green)

// Short pozisyon girişi
if cross_down
    enterTrade(false, high, "Sell Signal", color.red)

// Pozisyon kapatma
if cross_up and strategy.position_size > 0
    strategy.close("Enter")
if cross_down and strategy.position_size < 0
    strategy.close("Exit")

// Grafiğe plot
plot(aioma, color=color.blue, linewidth=2, title="AIOMA")
plot(wma, color=color.red, linewidth=2, title="WMA")


Plus de