Strategi ini terutama menggunakan indikator ADX untuk menilai tren dan menggabungkan rata-rata bergerak MA dan EMA dengan pengaturan parameter yang berbeda untuk membangun strategi pelacakan tren yang hanya panjang. Ketika ADX naik, itu menunjukkan arah panjang. Ketika harga menembus MA dan EMA ke atas, buka posisi panjang. Ketika ADX turun atau harga turun di bawah MA atau EMA, tutup posisi.
Strategi ini terutama menggunakan ADX untuk menilai tren dan kekuatan pasar. ADX menghitung tingkat dan arah perubahan harga untuk menentukan keberadaan dan kekuatan tren. Ketika ADX naik, itu berarti bahwa saat ini dalam tren kenaikan. Ketika ADX turun, itu berarti tren melemah.
Strategi ini juga menggunakan dua rata-rata bergerak, MA dan EMA, dengan pengaturan parameter yang berbeda sebagai penilaian tambahan. Mereka dapat secara efektif menyaring keacakan harga dan menunjukkan arah tren utama harga. Ketika harga naik dan menerobos MA dan EMA, itu adalah sinyal panjang. Ketika harga turun dan menerobos, itu adalah sinyal penutupan.
Menggabungkan karakteristik ADX dan moving average, strategi ini membangun sinyal perdagangan untuk menilai arah tren: pergi panjang ketika ADX naik dan harga menembus MA dan EMA ke atas, dan menutup posisi ketika ADX turun atau harga menembus MA / EMA. Ini menerapkan strategi pelacakan tren panjang saja.
Keuntungan utama dari strategi ini adalah:
Ada juga beberapa risiko:
Solusi:
Strategi dapat dioptimalkan dari aspek berikut:
Secara umum, ini adalah strategi pelacakan tren hanya panjang yang menggunakan ADX untuk menilai kekuatan tren dan dua rata-rata bergerak sebagai filter tambahan. Ini secara efektif mengontrol terjadinya perdagangan yang tidak valid dan mencapai efek melacak tren. Ini adalah strategi yang relatif stabil hanya panjang. Dengan beberapa pengoptimalan, stabilitas dan hasil strategi dapat ditingkatkan lebih lanjut.
/*backtest start: 2023-01-22 00:00:00 end: 2024-01-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("ADX, MA, and EMA Long Strategy - ADX Trending Up", shorttitle="ADX_MA_EMA_Long_UpTrend", overlay=true) adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") maPeriod = input(50, title="MA Period") emaPeriod = input(50, title="EMA Period") 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 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) maValue = sma(close, maPeriod) emaValue = ema(close, emaPeriod) longCondition = sig > sig[1] and close > maValue and close > emaValue if (longCondition) strategy.entry("Long", strategy.long) exitCondition = sig < sig[1] or close < maValue or close < emaValue if (exitCondition) strategy.close("Long") plot(maValue, color=color.blue, title="MA") plot(emaValue, color=color.orange, title="EMA") plot(sig, color=color.red, title="ADX")