Momentum Moving Average Crossover EMA Sembilan Strategi MACD Saham


Tarikh penciptaan: 2024-02-27 16:49:10 Akhirnya diubah suai: 2024-02-27 16:49:10
Salin: 1 Bilangan klik: 649
1
fokus pada
1617
Pengikut

Momentum Moving Average Crossover EMA Sembilan Strategi MACD Saham

Gambaran keseluruhan

Strategi ini menggunakan indikator EMA, Bollinger Bands dan MACD untuk menentukan masa beli dan jual berdasarkan pencapaian EMA 9 dan 30 dalam bentuk garpu emas.

Prinsip Strategi

  1. Hitung EMA 3 hari, EMA 9 hari dan EMA 30 hari.

  2. Hitung perbezaan piawai harga dalam 20 hari dan lukis Bollinger Bands dalam julat perbezaan piawai 1x dan 2x

  3. Hitung MACD pada hari ke-12, ke-26, dan ke-9 pada saluran isyarat.

  4. Apabila EMA pada hari ke-9 melewati EMA pada hari ke-30, dan harga melebihi 1 kali ganda perbezaan standard Bollinger Bands, isyarat beli dikeluarkan.

  5. Apabila EMA 30 hari di bawah EMA 9 hari, dan harga di bawah 1 kali ganda perbezaan standard Bollinger band had bawah, isyarat menjual dikeluarkan.

Analisis kelebihan

Strategi ini menggabungkan penunjuk garis rata dan penunjuk momentum untuk lebih memahami trend dan masa pasaran, dengan kelebihan berikut:

  1. Indeks EMA dapat bertindak balas dengan cepat terhadap perubahan harga untuk menilai trend pasaran; Indeks MACD mempunyai kebijaksanaan untuk mencegah penembusan palsu.

  2. Bollinger Bands Standard Deviation Indicator (SDI) yang digabungkan dengan EMA, dapat lebih tepat menentukan masa untuk membeli atau menjual.

  3. Pelbagai kombinasi penunjuk boleh saling melengkapi. Dalam satu kejayaan, penunjuk yang berbeza dapat mengesahkan keputusan.

Analisis risiko dan pengoptimuman

Strategi ini juga mempunyai beberapa risiko yang perlu diperhatikan dan dioptimumkan:

  1. Kombinasi EMA rata-rata boleh disesuaikan dan dioptimumkan, dan tempoh yang berbeza dapat menangkap trend dengan lebih baik.

  2. Parameter Bollinger Bands boleh dioptimumkan, dan standard perkalian perubahan adalah kurang baik untuk menapis isyarat palsu.

  3. Parameter penunjuk MACD boleh dioptimumkan dan digabungkan, kesan penilaian boleh ditingkatkan.

ringkaskan

Strategi ini mengintegrasikan EMA rata-rata indikator untuk menentukan trend besar, ditambah dengan indikator Bollinger Bands dapat dengan tepat menangkap titik jual beli ketika kekuatan lebih besar; Indeks MACD melengkapi pengesahan trend, dapat menyaring isyarat palsu dengan berkesan. Dengan pengoptimuman parameter, strategi ini dapat meningkatkan keberkesanan lebih lanjut.

Kod sumber strategi
/*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)