Stratégie de négociation à moyenne mobile double

Auteur:ChaoZhang est là., Date: 18 février 2024
Les étiquettes:

img

Résumé

Cette stratégie génère des signaux de trading en utilisant des moyennes mobiles doubles. Elle envoie des signaux d'achat lorsque la moyenne mobile à court terme dépasse la moyenne mobile à long terme, et des signaux de vente lorsque l'inverse se produit.

La logique de la stratégie

Cette stratégie exploite deux moyennes mobiles exponentielles (EMA) avec des périodes différentes. EMA1 est la MA à court terme avec une période définie à 9, tandis que EMA2 est la MA à long terme avec la période définie à 21.

En faisant cela, la stratégie utilise la capacité de suivi de tendance des moyennes mobiles pour capturer les signaux lorsque le prix commence une nouvelle direction de tendance. Par exemple, lorsque le prix rebondit d'une baisse, le MA à court terme se rallierait plus tôt que le MA à long terme. Le croisement ci-dessus génère un signal précoce que la tendance haussière commence.

Les avantages

La plus grande force de cette stratégie réside dans sa capacité à identifier efficacement les tendances des prix, particulièrement adaptée aux marchés avec de fortes tendances. Les moyennes mobiles ont elles-mêmes de grandes caractéristiques de suivi des tendances, et le mécanisme de double MA l'améliore encore.

Inconvénients

Le plus grand risque est que lorsque les prix fluctuent de façon spectaculaire, le retard de la nature des MAs peut conduire à manquer les meilleurs points d'entrée ou de sortie.

Pour atténuer les risques, des paramètres tels que les périodes de MA peuvent être ajustés en conséquence ou des filtres supplémentaires peuvent être ajoutés.

Amélioration

L'espace d'optimisation est principalement constitué par les aspects suivants:

  1. Optimiser les paramètres de la période de mise à jour afin de trouver la combinaison optimale
  2. Ajouter d'autres indicateurs comme filtres pour améliorer la fiabilité du signal
  3. Paramètres d'adaptation selon les différents produits et régimes du marché
  4. Combiner les indicateurs de volume pour déterminer des points d'entrée précis
  5. Optimiser les mécanismes de stop loss

Résumé

Cette stratégie génère des signaux par des moyennes mobiles exponentielles doubles, avec une capacité de suivi de la tendance des prix forte pour détecter les inversions de tendance.


/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
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/
// © technicalTruff99446

//@version=4
strategy("AhmetMSA", overlay=true, initial_capital = 10000, commission_value = 0.002, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, calc_on_order_fills = true)
//2. DEĞERDEN SONRA GEÇMİŞ HESAPLAMA DEĞERİ, KOMİSYON ORANI, PARANIN TAMAMI, DEĞERLERİ EKLEMDİ

emaShPD = input (title="EMA KISA PERİYOT", defval=9, minval=1)
emaLngPD = input (title="EMA UZUN PERİYOT", defval=21, minval=1)

//input   DEĞİŞKEN DEĞER ATAMA

ema1 = ema (close,emaShPD)
ema2 = ema (close,emaLngPD)

//EMALAR ARASINI BOYAMA upTrend downTrend
upTrend   = plot (ema1, color=#4DFF00, linewidth=2, title= "EMA KISA", transp=0)
downTrend = plot (ema2, color=#FF0C00, linewidth=3, title= "EMA UZUN", transp=0)
//linewidth ÇİZGİ KALINLIĞI
//title     İSİM VERME

//BACKTESTİN BAŞLANGIÇ TARİHİNİ BELİRLEME
yearin = input(2024, title = "Backtest Başlangıç Tarihi")
//longCondition = crossover(ema1, ema2)
//shortCondition = crossover(ema2, ema1)
buy = crossover(ema1, ema2) and yearin >= year
sell = crossover(ema2, ema1) and yearin >= year
//ta.crossunder  KESİŞİM KODU

//Barları BOYAMA
barbuy  = ema1 >= ema2
barsell = ema2 <  ema1




//AL SAT AŞK KUTUCUKLU EKRANA YAZMA
plotshape(buy, title = "AL AŞK", text = 'AL AŞK', style = shape.labelup, location = location.belowbar, color= color.green,   textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "SAT AŞK", text = 'SAT AŞK', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

//Barları BOYAMA KOŞULU
barcolor(barbuy? #4DFF00: barsell? #FF0C00: #FF0C00)


fill(upTrend, downTrend, color = ema1 >= ema2?#4DFF00 : #FF0C00, transp = 80, title = "bgcolor")

//longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
//shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
//14 GÜNLÜĞÜN KAPANIŞDEĞERİNİN 28 GÜNLÜK KAPANIŞ DEĞERİNİ KESMESİ KOŞULU



if (buy)
    strategy.entry("AL AŞK", strategy.long)


if (sell)
    strategy.entry("SAT AŞK", strategy.short)


Plus de