## Ringkasan
Strategi ini disebut
## Prinsip Strategi
Strategi ini menggunakan empat indikator teknis yang berbeda untuk menentukan titik masuk dan keluar.
Kondisi masuk panjang: EMA 5 hari melintasi EMA 21 hari, EMA 50 hari melintasi EMA 200 hari, BB %B lebih besar dari garis overbought yang ditetapkan, AO lebih besar dari nilai positif yang ditetapkan, dan ADX lebih besar dari nilai yang ditetapkan.
Kondisi masuk pendek: EMA 5 hari melintasi EMA 21 hari, EMA 50 hari melintasi EMA 200 hari, BB %B kurang dari garis oversold yang ditetapkan, AO kurang dari nilai negatif yang ditetapkan, dan ADX lebih besar dari nilai yang ditetapkan.
##Analisis Keuntungan Strategi ini menggabungkan beberapa indikator untuk menentukan arah tren dan kekuatan relatif saham, yang dapat secara efektif menyaring false breakout.
Indikator ADX dapat secara efektif menentukan keberadaan dan kekuatan tren, menghindari pembukaan yang sering di pasar shock.
Indikator BB % B menilai apakah saham individu berada pada tingkat
Indikator AO menentukan apakah ada dukungan momentum yang relatif kuat selama pembelian untuk memastikan efektivitas breakout.
Indikator EMA
Singkatnya, strategi ini dapat secara efektif mengendalikan risiko perdagangan dan melacak saham yang kuat di pasar.
##Analisis Risiko Meskipun strategi menggunakan beberapa indikator untuk mengendalikan risiko, masih ada risiko tertentu:
Kombinasi dari beberapa indikator eksponensial sensitif terhadap penyesuaian parameter. Kombinasi parameter yang tidak tepat mungkin gagal mencapai efek yang diinginkan.
Menuntut momentum yang berlebihan dapat melewatkan titik pembalikan pasar yang sebenarnya.
Indikator seperti EMA memiliki sifat keterlambatan dan mungkin tidak dapat mencerminkan dampak peristiwa tiba-tiba dalam waktu.
Kejadian mendadak besar dapat menyebabkan divergensi indikator. analisis fundamental harus dikombinasikan dan strategi dapat ditutup sementara jika perlu.
##Optimisasi Arah Strategi ini juga dapat dioptimalkan dalam beberapa aspek:
Gunakan pembelajaran mesin untuk menemukan kombinasi parameter yang optimal.
Tambahkan indikator lain yang menentukan tren, seperti CCI dan MACD, untuk membentuk
Tambahkan strategi stop-loss untuk mengendalikan kerugian tunggal.
Tetapkan waktu tunggu untuk menghindari keserakahan yang berlebihan.
## Ringkasan
Strategi ini disebut
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //ADX + BB %B + AO + EMA strategy("ADX + BB %B + AO + EMA", overlay=true, initial_capital=10000) take_profit_perc = input(title="Take Profit %", type=input.integer, defval=10, minval=1, maxval=100) stop_loss_perc = input(title="Stop Loss %", type=input.integer, defval=5, minval=1, maxval=100) bb_overbought = input(title="BB %B Overbought", type=input.integer, defval=75, minval=1, maxval=100) bb_oversold = input(title="BB %B Oversold", type=input.integer, defval=25, minval=1, maxval=100) ao_value = input(title="Awesome Oscillator", type=input.integer, defval=2) adx_value = input(title="ADX", type=input.integer, defval=15) startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31) startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12) startYear = input(title="Start Year", type=input.integer, defval=2018, minval=2008, maxval=2200) inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) ema5 = ema(close, 5) ema21 = ema(close, 21) ema50 = ema(close, 50) ema200 = ema(close, 200) //BB %B length = input(20, minval=1) src = input(close, title="Source") mult = input(2.0, minval=0.001, maxval=50, title="StdDev") basis = sma(src, length) dev = mult * stdev(src, length) upper = basis + dev lower = basis - dev bbr = (src - lower)/(upper - lower) //Awesome Oscillator ao = sma(hl2,5) - sma(hl2,34) // ADX adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") dirmov(len) => up = change(high) down = -change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = rma(tr, len) plus = fixnan(100 * rma(plusDM, len) / truerange) minus = fixnan(100 * rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) long_strategy = ema5>ema21 and ema50>ema200 and bbr>(bb_overbought/100) and ao>ao_value and sig>adx_value short_strategy = ema5<ema21 and ema50<ema200 and bbr<(bb_oversold/100) and ao<-ao_value and sig>adx_value plot(ema5, color=color.blue) plot(ema21, color=color.aqua) plot(ema50, color=color.purple) plot(ema200, color=color.red) bgcolor(color=long_strategy ? color.green : na, transp=80) bgcolor(color=short_strategy ? color.purple : na, transp=80) if inDateRange and long_strategy strategy.entry("long", strategy.long) strategy.exit("exit", "long", stop=close*(100-stop_loss_perc)/100, limit=close*(100+take_profit_perc)/100) if inDateRange and short_strategy strategy.entry("short", strategy.short) strategy.exit("exit", "short", stop=close*(100+stop_loss_perc)/100, limit=close*(100-take_profit_perc)/100)