
Strategi ini adalah strategi untuk mengesan trend menggunakan indikator ADX dan membina purata bergerak yang menggabungkan MA dan EMA dengan dua parameter yang berbeza. Strategi untuk mengikuti trend hanya melakukan lebih banyak.
Strategi ini menggunakan ADX untuk menentukan trend dan kekuatan pasaran. ADX menilai kehadiran dan kekuatan trend dengan mengira tahap dan arah perubahan harga. Apabila ADX naik, ia menunjukkan bahawa ia berada dalam trend menaik; apabila ADX turun, ia menunjukkan bahawa trend sedang melemah.
Strategi ini menggunakan MA dan EMA yang bergerak pada masa yang sama dengan dua parameter yang berbeza untuk membuat keputusan tambahan. Mereka dapat menghapuskan keacakan harga dengan berkesan, menunjukkan arah trend utama harga. Apabila harga naik, buatlah isyarat lebih banyak untuk menembusi MA dan EMA; apabila harga turun, buatlah isyarat kosong.
Dengan menggabungkan ciri-ciri ADX dan rata-rata bergerak, strategi ini membina isyarat perdagangan untuk menentukan arah trend: ADX naik dan harga membuka lebih banyak kedudukan apabila ia menembusi MA dan EMA ke atas, ADX jatuh atau harga jatuh di bawah posisi MA / EMA, mewujudkan strategi mengikuti trend yang hanya melakukan lebih banyak.
Strategi ini mempunyai beberapa kelebihan utama:
Strategi ini mempunyai beberapa risiko:
Penyelesaian:
Strategi ini juga boleh dioptimumkan dalam beberapa aspek:
Strategi ini secara keseluruhan adalah strategi pemantauan trend hanya menggunakan ADX untuk menentukan kekuatan trend dan membantu membina isyarat penapis dengan dua purata bergerak. Ia secara berkesan mengawal berlakunya perdagangan yang tidak berkesan, mencapai kesan trend pemantauan, merupakan strategi pemantauan trend hanya yang lebih stabil. Dengan beberapa penyesuaian pengoptimuman, anda dapat meningkatkan lagi kestabilan dan keuntungan strategi.
/*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")