Adaptive ATR Moving Average Trading Strategy (Strategi Perdagangan Rata-rata Gerak ATR yang Adaptif)

Penulis:ChaoZhang, Tanggal: 2023-11-02 16:51:14
Tag:

img

Gambaran umum

Strategi ini menggabungkan indikator rata-rata bergerak ATR adaptif dan mengikuti tren untuk menemukan tren di pasar dan berdagang di sepanjang tren. Ini menggunakan rata-rata bergerak Hull untuk meluruskan ATR dan membentuk rata-rata bergerak ATR yang halus, kemudian menghasilkan sinyal perdagangan berdasarkan hubungan harga dengan rata-rata bergerak ATR. Rata-rata bergerak ATR dapat secara efektif menyaring kebisingan pasar dan mengidentifikasi tren yang signifikan. Strategi ini juga menetapkan titik stop loss tetap dan mengambil keuntungan untuk mengontrol rasio risiko / imbalan per perdagangan. Secara keseluruhan, strategi ini bertujuan untuk mengikuti tren yang diidentifikasi oleh rata-rata bergerak ATR adaptif dan mencapai pertumbuhan keuntungan yang stabil melalui manajemen risiko yang ketat.

Logika Strategi

Indikator inti dari strategi ini adalah rata-rata bergerak ATR. ATR adalah alat pengukuran volatilitas penting, yang mengukur volatilitas pasar dan fluktuasi harga.

Secara khusus, strategi ini pertama kali menghitung True Range, yang merupakan perbedaan antara harga tinggi dan rendah hari itu, dan perbedaan maksimum antara harga dekat sebelumnya dan harga tertinggi / terendah saat ini. Kemudian menerapkan metode rata-rata bergerak Hull untuk meratakan TR dan mendapatkan rata-rata bergerak ATR adaptif. Rata-rata bergerak ATR dapat menyaring kebisingan pasar frekuensi tinggi dan hanya menangkap perubahan harga yang signifikan.

Setelah menghitung rata-rata bergerak ATR, strategi membandingkan harga dengan rata-rata bergerak ATR. Ketika harga melintasi di atas rata-rata bergerak ATR, itu menandakan tren naik, dan strategi pergi panjang. Ketika harga melintasi di bawah rata-rata bergerak ATR, itu menandakan tren turun, dan strategi pergi pendek.

Selain itu, stop loss dan take profit range tetap ditetapkan setelah setiap perdagangan. Ketika harga mencapai level stop loss, perdagangan dihentikan. Ketika harga mencapai level take profit, profit diambil. Ini membatasi kerugian dan mengunci keuntungan untuk setiap perdagangan.

Singkatnya, strategi ini menggabungkan rata-rata pergerakan ATR adaptif dan manajemen risiko yang ketat untuk mengikuti tren yang signifikan dan mengendalikan kerugian per perdagangan, untuk mencapai pertumbuhan laba yang stabil.

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Menggunakan rata-rata bergerak ATR adaptif untuk secara efektif mengidentifikasi tren penting dan menyaring kebisingan pasar untuk menghindari terjebak.

  2. Menerapkan metode Hull moving average untuk menghitung rata-rata bergerak ATR yang lebih halus, menghindari tertipu oleh fluktuasi frekuensi tinggi.

  3. Menetapkan stop loss tetap dan mengambil keuntungan untuk membatasi kerugian per perdagangan dan mengunci keuntungan, memastikan rasio risiko / imbalan.

  4. Tren mengikuti gaya perdagangan dapat terus menangkap tren dan meningkatkan potensi keuntungan.

  5. Logika yang sederhana dan jelas, mudah dimengerti, pengaturan parameter yang fleksibel sesuai dengan produk dan pasar yang berbeda.

  6. Dapat diterapkan pada setiap produk untuk mengikuti tren.

Analisis Risiko

Risiko utama dari strategi ini adalah:

  1. Kemungkinan sinyal yang salah dari rata-rata bergerak ATR. Harga dapat berfluktuasi dengan keras dan menyebabkan kesalahan dalam sinyal rata-rata bergerak ATR.

  2. Stop loss yang terlalu ketat meningkatkan peluang untuk dihentikan.

  3. Fixed take profit mungkin keluar terlalu awal, tidak dapat menangkap tren penuh.

  4. Perlu menghentikan perdagangan selama peristiwa seperti itu untuk mencegah kerugian besar.

  5. Kegagalan untuk keluar tepat waktu ketika tren terbalik dapat menyebabkan kerugian dari tren terbalik.

  6. Parameter perlu dioptimalkan untuk produk dan pasar yang berbeda.

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan parameter rata-rata bergerak ATR, termasuk periode ATR dan parameter perataan, yang mempengaruhi rata-rata bergerak ATR.

  2. Optimalkan strategi stop loss dan take profit. Pertimbangkan stop dan target dinamis berdasarkan ATR, bukan nilai tetap.

  3. Tambahkan aturan untuk menentukan pembalikan tren, menggabungkan indikator lain, untuk menghindari terjebak oleh pembalikan.

  4. Uji dan optimalkan parameter untuk produk dan lingkungan pasar yang berbeda untuk menemukan parameter optimal.

  5. Tambahkan deteksi peristiwa ekstrem, menghentikan perdagangan ketika lonjakan harga besar terjadi untuk mengendalikan kerugian.

  6. Optimalkan waktu masuk, pertimbangkan untuk masuk pada penarikan alih-alih keluar untuk mengurangi risiko.

  7. Optimasi kombinasi parameter, uji kombinasi yang berbeda dari periode ATR dan parameter perataan untuk menemukan pencocokan terbaik.

Kesimpulan

Singkatnya, strategi ini menggunakan rata-rata bergerak ATR adaptif untuk mengidentifikasi tren, dan memperdagangkan tren dengan stop loss dan take profit tetap. Rata-rata bergerak ATR secara efektif mengidentifikasi tren, dan stop dan target tetap mengontrol risiko / imbalan. Keuntungannya adalah logika yang sederhana dan jelas, mudah dimengerti, dapat disesuaikan dengan produk yang berbeda melalui tuning parameter. Tetapi risiko termasuk sinyal palsu, pengaturan stop loss yang tidak tepat ada. Peningkatan masa depan dapat dilakukan dengan mengoptimalkan parameter rata-rata bergerak ATR, strategi stop loss / take profit, menambahkan deteksi pembalikan tren dll untuk meningkatkan strategi kinerja lebih lanjut.


/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("ATR(Hull)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= false, calc_on_every_tick=true, pyramiding=0)
length = input(title="Length", defval=14, minval=1)
price = input(close)
SL = input(50, title="Stop loss")
TP = input(150, title="Take profit")
FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) 
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) 
FromYear = input(defval = 2018, title = "From Year", minval = 2017) 
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) 
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) 
ToYear = input(defval = 9999, title = "To Year", minval = 2017) 
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) 
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) 
window() => true
p=price[1]
func_hma(style, length)=>
    return = wma((2*wma(p,length/2))-wma(p,length),round(sqrt(length)))
ATR=func_hma(tr(true), length)    
plot(ATR[0], title="ATR1",color=green,transp=0)
plot(ATR[1], title="ATR2",color=red,transp=0)
if (ATR>ATR[1])
    strategy.entry("long",strategy.long,comment="Long",when=window())
if (ATR<ATR[1])
    strategy.entry("short",strategy.short,comment="Short",when=window())
//strategy.close_all(when=strategy.openprofit<-eqSL and window())
//strategy.close_all(when=strategy.openprofit>eqTP and window())
strategy.exit("exit", "long", profit = TP, loss = SL)
strategy.exit("exit", "short", profit = TP, loss = SL)

Lebih banyak