
Strategi ini didasarkan pada Andrew Abraham dalam artikel yang dipublikasikan pada September 1998 di Tech Analyst’s Journal of Forex Trading. Strategi ini dirancang untuk melacak tren harga saham secara dinamis dan menghasilkan sinyal perdagangan berdasarkan pada itu.
Strategi ini pertama-tama menghitung rentang rata-rata pergerakan riil selama 21 hari terakhir sebagai referal threshold, kemudian menghitung harga tertinggi dan terendah dalam 21 hari terakhir, dan dengan demikian menetapkan batas atas saluran dengan batas atas saluran adalah harga tertinggi selama 21 hari terakhir dikurangi dengan 3 kali rentang rata-rata pergerakan riil, dan batas bawah adalah harga minimum 21 hari terakhir ditambah dengan 3 kali rentang rata-rata pergerakan riil. Jika harga yang diterima lebih tinggi dari batas atas saluran, untuk sinyal tekanan; jika harga yang diterima lebih rendah dari batas bawah saluran, untuk sinyal tarik.
Keuntungan terbesar dari strategi ini adalah dapat secara dinamis melacak tren harga, dan dengan demikian menghasilkan sinyal perdagangan. Dibandingkan dengan strategi moving average dengan parameter tetap, strategi ini dapat menangkap tren perubahan harga dengan lebih baik. Selain itu, pembentukan saluran yang dikombinasikan dengan rentang fluktuasi nyata, menghindari kelemahan pembatasan saluran yang hanya didasarkan pada harga minimum tertinggi.
Strategi ini memiliki dua risiko utama: risiko overtrading yang disebabkan oleh peningkatan sinyal perdagangan; risiko yang mungkin disebabkan oleh pengaturan parameter yang tidak tepat. Karena strategi ini menggunakan parameter dinamis, sinyal perdagangan akan lebih sering daripada strategi rata-rata bergerak tradisional, yang dapat membawa risiko overtrading. Selain itu, jika parameter diatur dengan tidak tepat, seperti pengaturan periode waktu yang terlalu pendek atau jumlah pembatasan saluran yang terlalu kecil, sinyal palsu akan meningkat sehingga meningkatkan risiko.
Untuk mengendalikan risiko, parameter dapat disesuaikan dengan tepat, periode waktu yang lebih lama dapat dipilih, dan pembatasan batas atas dan bawah saluran dapat dilepaskan dengan tepat. Selain itu, Anda dapat mempertimbangkan untuk memasukkan strategi stop loss untuk mengendalikan kerugian tunggal.
Strategi ini juga memiliki ruang yang cukup besar untuk optimasi. Misalnya, Anda dapat mempertimbangkan untuk mengkombinasikan indikator penyaringan lainnya, seperti RSI, KD, dan lain-lain, untuk menghindari terobosan palsu. Anda juga dapat mencoba mengoptimalkan parameter secara otomatis melalui metode pembelajaran mesin. Selain itu, parameter yang optimal juga akan berbeda dalam berbagai saham dan lingkungan pasar. Jadi, kita juga dapat mempertimbangkan untuk mengembangkan mekanisme pilihan parameter, memilih parameter optimal sesuai dengan dinamika saham dan karakteristik pasar, sehingga meningkatkan stabilitas strategi.
Strategi ini secara keseluruhan merupakan strategi pelacakan tren yang sangat praktis. Dibandingkan dengan strategi rata-rata bergerak tradisional, ini lebih fleksibel dan cerdas, mampu menangkap tren perubahan harga secara dinamis. Dengan penyesuaian parameter yang tepat, kualitas sinyal perdagangan yang lebih tinggi, dapat mendapatkan hasil yang baik.
/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 10/10/2018
// This is plots the indicator developed by Andrew Abraham
// in the Trading the Trend article of TASC September 1998
// It was modified, result values wass averages.
////////////////////////////////////////////////////////////
strategy(title="Trend Trader AVR Backtest", overlay = true)
Length = input(21, minval=1),
LengthMA = input(21, minval=1),
Multiplier = input(3, minval=1)
reverse = input(false, title="Trade reverse")
avgTR = wma(atr(1), Length)
highestC = highest(Length)
lowestC = lowest(Length)
hiLimit = highestC[1]-(avgTR[1] * Multiplier)
loLimit = lowestC[1]+(avgTR[1] * Multiplier)
ret = 0.0
ret := iff(close > hiLimit and close > loLimit, hiLimit,
iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
nResMA = ema(ret, LengthMA)
pos = 0
pos := iff(close < nResMA, -1,
iff(close > nResMA, 1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nResMA, color= blue , title="Trend Trader AVR")