Stratégie Momentum Moving Average Crossover EMA à neuf actions MACD


Date de création: 2024-02-27 16:49:10 Dernière modification: 2024-02-27 16:49:10
Copier: 1 Nombre de clics: 649
1
Suivre
1617
Abonnés

Stratégie Momentum Moving Average Crossover EMA à neuf actions MACD

Aperçu

La stratégie utilise l’indicateur EMA, les bandes de Bollinger et le MACD pour déterminer le moment de l’achat et de la vente, en fonction de la réalisation de l’EMA 9 et de l’EMA 30, en combinaison avec la gamme de distribution des prix et l’indicateur de dynamique.

Principe de stratégie

  1. Les EMA de 3e, 9e et 30e jours sont calculés.

  2. Calculer la différence standard du prix à 20 jours et tracer les bandes de Bollinger de 1x et 2x la différence standard.

  3. Calculer les lignes de signaux 12e, 26e et 9e du MACD.

  4. Un signal d’achat est émis lorsque l’EMA du 9e jour dépasse l’EMA du 30e jour et que le prix dépasse la limite supérieure de la bande de Bollinger de 1 fois la différence standard.

  5. Un signal de vente est donné lorsque l’EMA de 30 jours dépasse l’EMA de 9 jours et que le prix est inférieur à la limite inférieure de la courbe de Bollinger de 1 fois la différence standard.

Analyse des avantages

Cette stratégie, combinée à une indication de la moyenne et à une indication de la dynamique, permet de mieux saisir les tendances et les moments du marché et présente les avantages suivants:

  1. L’indicateur EMA réagit rapidement aux changements de prix et détermine les tendances du marché; l’indicateur MACD est judicieux et prévient les fausses percées.

  2. L’indicateur de décalage standard de Bollinger Bands combiné avec l’EMA permet de mieux déterminer le moment d’acheter ou de vendre.

  3. Il existe plusieurs combinaisons d’indicateurs qui peuvent se compléter.

Analyse des risques et des optimisations

Cette stratégie présente également des risques et nécessite des optimisations:

  1. Les combinaisons de lignes moyennes EMA peuvent être ajustées et optimisées pour mieux capturer les tendances à différentes périodes.

  2. Les paramètres de la bande de Bollinger peuvent être optimisés, et le coefficient de variation est mauvais pour filtrer les faux signaux.

  3. Les paramètres de l’indicateur MACD peuvent être optimisés et combinés pour améliorer l’efficacité du jugement.

Résumer

La stratégie intègre l’indicateur de la moyenne EMA pour déterminer la tendance majeure, en plus de l’indicateur des bandes de Bollinger pour saisir avec précision les points d’achat et de vente lorsque la force est plus grande; l’indicateur MACD complète la confirmation de la tendance et peut filtrer efficacement les faux signaux. En optimisant les paramètres, la stratégie peut encore améliorer son efficacité.

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