Momentum Moving Average Crossover EMA Nine Strategi Saham MACD


Tanggal Pembuatan: 2024-02-27 16:49:10 Akhirnya memodifikasi: 2024-02-27 16:49:10
menyalin: 1 Jumlah klik: 649
1
fokus pada
1617
Pengikut

Momentum Moving Average Crossover EMA Nine Strategi Saham MACD

Ringkasan

Strategi ini menggunakan indikator EMA, Bollinger Bands, dan MACD secara komprehensif untuk menentukan kapan tepat untuk membeli dan menjual, berdasarkan pada pencapaian EMA 9 dan 30 dalam rentang distribusi harga dan indikator momentum.

Prinsip Strategi

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

  2. Hitung standar deviasi harga selama 20 hari dan gambarkan Bollinger Bands dengan 1x dan 2x standar deviasi.

  3. Hitung MACD tanggal 12, 26 dan 9 dari jalur sinyal.

  4. Ketika EMA 9 melewati EMA 30 dan harga melebihi batas atas Bollinger Bands dengan selisih 1 kali standar, sinyal beli akan dikirim.

  5. Ketika 30 hari EMA di bawah melewati 9 hari EMA, dan harga di bawah 1 kali selisih standar Bollinger band batas bawah, mengeluarkan sinyal jual.

Analisis Keunggulan

Strategi ini menggabungkan indikator rata-rata dan indikator momentum untuk lebih memahami tren dan waktu pasar, dengan keuntungan sebagai berikut:

  1. Indikator EMA dapat bereaksi cepat terhadap perubahan harga untuk menilai tren pasar; Indikator MACD memiliki kebijaksanaan untuk mencegah terobosan palsu.

  2. Bollinger Bands Standard Deviation Indicator (BSDI) yang digabungkan dengan EMA, dapat lebih akurat menentukan kapan harus membeli atau menjual.

  3. Kombinasi berbagai indikator dapat saling melengkapi. Dalam satu terobosan, indikator yang berbeda dapat memverifikasi penilaian.

Analisis risiko dan optimasi

Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan dan dioptimalkan:

  1. Kombinasi EMA rata-rata dapat disesuaikan dan dioptimalkan, dan periode yang berbeda dapat menangkap tren dengan lebih baik.

  2. Parameter Bollinger Bands dapat dioptimalkan, dengan standar variabel yang buruk untuk memfilter sinyal palsu.

  3. Parameter indikator MACD dapat dioptimalkan dan dikombinasikan, dan efek penilaian dapat ditingkatkan.

Meringkaskan

Strategi ini mengintegrasikan indikator EMA rata-rata untuk menilai tren besar, ditambah dengan indikator Bollinger Bands dapat secara akurat menangkap titik jual beli ketika kekuatan lebih besar; Indikator MACD melengkapi konfirmasi tren, dapat secara efektif menyaring sinyal palsu. Dengan pengoptimalan parameter, strategi ini dapat meningkatkan efektivitasnya lebih lanjut.

Kode 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)