L'évolution de la dynamique de la ligne croisée de l'EMA

Auteur:ChaoZhang est là., Date: 2024-02-27 16:49:10 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie utilise de manière exhaustive l'indicateur EMA, l'indicateur Bollinger Bands et l'indicateur MACD. Sur la base de la croix d'or et de la croix de la mort de l'EMA de 9 jours et de l'EMA de 30 jours, elle détermine le moment de l'achat et de la vente en combinaison avec la fourchette de distribution des prix et les indicateurs de dynamique.

Principe de stratégie

  1. Calculer l'EMA à 3 jours, à 9 jours et à 30 jours.

  2. Calculer l'écart type dans les 20 jours suivant le prix et tracer les bandes de Bollinger avec 1 et 2 fois l'écart type.

  3. Calculer la ligne de signal MACD de 12 jours, 26 jours et 9 jours.

  4. Lorsque l'EMA à 9 jours dépasse l'EMA à 30 jours et que le prix dépasse la limite supérieure des bandes de Bollinger à 1x d'écart type, un signal d'achat est émis.

  5. Lorsque l'EMA de 30 jours tombe en dessous de l'EMA de 9 jours et que le prix est inférieur à la limite inférieure des bandes de Bollinger à 1x d'écart type, un signal de vente est émis.

Analyse des avantages

En combinant des indicateurs de moyenne mobile et des indicateurs de dynamique, cette stratégie permet de mieux saisir les tendances et le calendrier du marché, avec les avantages suivants:

  1. L'indicateur EMA peut réagir rapidement aux variations de prix pour déterminer les tendances du marché; l'indicateur MACD évalue la dynamique pour prévenir de fausses ruptures.

  2. La combinaison des indicateurs d'écart type des bandes de Bollinger et des EMA permet de déterminer plus précisément le moment des achats et des ventes.

  3. La combinaison de multiples indicateurs peut se compléter, des indicateurs différents peuvent vérifier le jugement en une seule percée.

Analyse des risques et optimisation

Cette stratégie comporte également certains risques.

  1. La combinaison des moyennes mobiles EMA peut être ajustée et optimisée.

  2. Les paramètres des bandes de Bollinger peuvent être optimisés en modifiant la multiplication des écarts types pour filtrer les faux signaux.

  3. Les paramètres et la combinaison de l'indicateur MACD peuvent être optimisés pour améliorer l'effet de l'évaluation de la dynamique.

Résumé

Cette stratégie intègre l'indicateur EMA pour déterminer la tendance majeure, complété par l'indicateur Bollinger Bands qui peut saisir avec précision les points d'achat et de vente lorsque la dynamique est relativement importante; l'indicateur MACD complète la confirmation de la tendance et peut filtrer efficacement les faux signaux.


/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("emabb_collab", shorttitle="emabb", overlay=true)

// Input parameters
ema3 = input(3, title="3 EMA")
ema9 = input(9, title="9 EMA")
ema30 = input(30, title="30 EMA")
macdShort = input(12, title="MACD Short")
macdLong = input(26, title="MACD Long")
macdSignal = input(9, title="MACD Signal")
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev1 = mult * ta.stdev(src, length)
upper1 = basis + dev1
lower1 = basis - dev1
dev2 = mult * 2 * ta.stdev(src, length)
upper2 = basis + dev2
lower2 = basis - dev2
plot(basis, "Basis", color=#FF6D00)
p1 = plot(upper1, "Upper1", color=#2962FF)
p2 = plot(lower1, "Lower1", color=#2962FF)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
plot(basis, "Basis", color=#FF6D00)
p3 = plot(upper2, "Upper2", color=#00FF8C)
p4 = plot(lower2, "Lower2", color=#00FF8C)
fill(p3, p4, title = "Background", color=color.rgb(0, 153, 140, 95))

// Calculate EMAs
ema3Value = ta.ema(close, ema3)
ema9Value = ta.ema(close, ema9)
ema30Value = ta.ema(close, ema30)


// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)


// Conditions for buy signal
buyCondition = ta.crossover(ema9Value, ema30Value)  and ta.stdev(close, 20) > ta.stdev(close, 20)[1]

//Conditions for sell signal
sellCondition = ta.crossover(ema30Value, ema9Value)  and ta.stdev(close, 20) < ta.stdev(close, 20)[1]

// Plot signals on the chart

plotshape(buyCondition, title='Buy Label', style=shape.triangleup, location=location.belowbar, size=size.normal, text='Buy', textcolor=color.new(color.white, 0), color=color.new(color.green, 0))
plotshape(sellCondition, title='sell Label', style=shape.triangledown, location=location.abovebar, size=size.normal, text='sell', textcolor=color.new(color.white, 0), color=color.new(color.red, 0))

// Plot EMAs
plot(ema3Value, title="3 EMA", color=color.orange)
plot(ema9Value, title="9 EMA", color=color.purple)
plot(ema30Value, title="30 EMA", color=color.red)


if buyCondition
    strategy.entry('Long', strategy.long)
if sellCondition
    strategy.entry('Short', strategy.short)






Plus de