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


Date de création: 2024-01-23 14:13:55 Dernière modification: 2024-01-23 14:13:55
Copier: 0 Nombre de clics: 583
1
Suivre
1617
Abonnés

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

Aperçu

Cette stratégie est basée sur l’adaptation des indices des moyennes mobiles (AIOMA) et des moyennes mobiles pondérées (WMA) pour la réalisation des signaux de négociation. Elle génère des signaux d’achat et de vente par la croisée des indices AIOMA et WMA.

Nom de la stratégie

AIOMA-WMA: une stratégie d’adaptation croisée

Principe de stratégie

La stratégie comprend principalement les éléments suivants:

  1. Calcul de l’indicateur AIOMA

    • Spécifier les paramètres de longueur pour calculer une série d’indicateurs Moyenne mobile ((EMA)
    • Ces EMAs sont alignés pour former une séquence lisse.
    • L’AIOMA final est l’EMA de la dernière levée
  2. Calcul de l’indice WMA

    • Spécifier les paramètres de longueur et calculer la WMA
  3. Signal de transaction généré

    • WMA génère un signal d’achat lorsqu’il est chargé sur AIOMA
    • WMA produit un signal de vente quand il dépasse AIOMA
  4. Logique de transaction

    • En achetant un signal, vous entrez dans une position à plusieurs têtes.
    • En vendant un signal, vous entrez dans une position vide.
    • Fermeture de la position dans le sens correspondant au signal de plafonnement

Avantages stratégiques

  1. L’utilisation de deux types différents de moyennes mobiles peut améliorer la précision des signaux de trading.
  2. AIOMA peut réduire les fausses signaux en aplatissant l’indice plusieurs fois
  3. Le WMA est le principal indicateur, plus sensible aux variations de prix et capte les tendances plus tôt.
  4. Une logique de transaction simple, facile à comprendre et à mettre en œuvre

Risque stratégique

  1. Plusieurs relâchements de l’EMA pourraient entraîner un retard excessif
  2. La WMA est vulnérable aux fluctuations de prix à court terme et génère de faux signaux.
  3. La logique de stop loss n’a pas été prise en compte et pourrait entraîner des pertes plus importantes.

Le risque peut être réduit par des paramètres d’optimisation appropriés, la définition d’un point d’arrêt ou le filtrage combiné d’autres indicateurs.

Orientation de l’optimisation de la stratégie

  1. Tester des combinaisons de paramètres de différentes longueurs pour trouver le paramètre optimal
  2. Un ordre de stop-loss est déclenché en même temps que le signal d’achat/vente.
  3. Les indicateurs de volatilité du marché combinés filtrent les faux signaux
  4. Stratégies de gestion des positions supplémentaires

Résumer

Cette stratégie intègre les avantages des deux indicateurs AIOMA et WMA pour générer des signaux de négociation par croisement. La qualité du signal peut être améliorée par rapport à une seule moyenne mobile. Elle peut être améliorée par l’optimisation des paramètres, les stratégies de stop-loss et le filtrage de la volatilité, etc.

Code source de la stratégie
/*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")