Strategi ini secara komprehensif memanfaatkan indikator EMA, indikator Bollinger Bands dan indikator MACD. Berdasarkan salib emas dan salib kematian EMA 9 hari dan EMA 30 hari, strategi ini menentukan waktu pembelian dan penjualan dalam kombinasi dengan rentang distribusi harga dan indikator momentum.
Menghitung EMA 3 hari, EMA 9 hari dan EMA 30 hari.
Hitung standar deviasi dalam 20 hari dari harga dan gambar Bollinger Bands dengan 1 dan 2 kali standar deviasi.
Hitung garis sinyal 12 hari, 26 hari dan 9 hari.
Ketika EMA 9 hari berada di atas EMA 30 hari, dan harga melebihi batas atas Bollinger Bands 1x standar deviasi, sinyal beli dikeluarkan.
Ketika EMA 30 hari berada di bawah EMA 9 hari, dan harga lebih rendah dari batas bawah Bollinger Bands 1x standar deviasi, sinyal jual dikeluarkan.
Dengan menggabungkan indikator rata-rata bergerak dan indikator momentum, strategi ini dapat lebih memahami tren pasar dan waktu, dengan keuntungan berikut:
Indikator EMA dapat merespons dengan cepat perubahan harga untuk menentukan tren pasar; indikator MACD menilai momentum untuk mencegah pecah palsu.
Kombinasi indikator standar deviasi Bollinger Bands dan EMA dapat menentukan waktu pembelian dan penjualan dengan lebih akurat.
Kombinasi dari beberapa indikator dapat saling melengkapi. indikator yang berbeda dapat memverifikasi penilaian dalam satu terobosan.
Strategi ini juga memiliki beberapa risiko. Perhatikan poin berikut untuk optimasi:
Kombinasi dari moving average EMA dapat disesuaikan dan dioptimalkan.
Parameter Bollinger Bands dapat dioptimalkan dengan mengubah perkalian standar deviasi untuk menyaring sinyal palsu.
Parameter dan kombinasi indikator MACD dapat dioptimalkan untuk meningkatkan efek penilaian momentum.
Strategi ini mengintegrasikan indikator EMA untuk menentukan tren utama, dilengkapi dengan indikator Bollinger Bands yang dapat dengan akurat menangkap titik beli dan jual ketika momentum relatif besar; indikator MACD melengkapi konfirmasi tren dan dapat secara efektif menyaring sinyal palsu.
/*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)