Strategi perdagangan purata bergerak ATR yang beradaptasi

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

img

Ringkasan

Strategi ini menggabungkan penunjuk purata bergerak ATR adaptif dan trend berikut untuk menemui trend di pasaran dan berdagang mengikut trend. Ia menggunakan purata bergerak Hull untuk meluruskan ATR dan membentuk purata bergerak ATR yang lancar, kemudian menghasilkan isyarat perdagangan berdasarkan hubungan harga dengan purata bergerak ATR. Purata bergerak ATR dapat menapis bunyi pasaran dengan berkesan dan mengenal pasti trend yang penting. Strategi ini juga menetapkan titik stop loss tetap dan mengambil keuntungan untuk mengawal nisbah risiko / ganjaran setiap perdagangan. Secara keseluruhan, strategi ini bertujuan untuk mengikuti trend yang dikenal pasti oleh purata bergerak ATR adaptif dan mencapai pertumbuhan keuntungan yang mantap melalui pengurusan risiko yang ketat.

Logika Strategi

Indikator teras strategi ini adalah purata bergerak ATR. ATR adalah alat pengukuran turun naik yang penting, yang mengukur turun naik pasaran dan turun naik harga.

Secara khusus, strategi ini pertama kali mengira Julat Benar, yang merupakan perbezaan antara harga tinggi dan rendah hari itu, dan perbezaan maksimum antara harga tertinggi / terendah yang ditutup sebelumnya dan semasa. Kemudian ia menggunakan kaedah purata bergerak Hull untuk meluruskan TR dan mendapatkan purata bergerak ATR adaptif. Purata bergerak ATR dapat menapis bunyi pasaran frekuensi tinggi dan hanya menangkap perubahan harga yang signifikan.

Selepas mengira purata bergerak ATR, strategi membandingkan harga dengan purata bergerak ATR. Apabila harga melintasi di atas purata bergerak ATR, ia menandakan trend menaik, dan strategi pergi panjang. Apabila harga melintasi di bawah purata bergerak ATR, ia menandakan trend menurun, dan strategi pergi pendek.

Selain itu, julat stop loss dan take profit tetap ditetapkan selepas setiap perdagangan. Apabila harga mencapai tahap stop loss, perdagangan dihentikan. Apabila harga mencapai tahap take profit, keuntungan diambil. Ini mengehadkan kerugian dan mengunci keuntungan untuk setiap perdagangan.

Ringkasnya, strategi ini menggabungkan purata bergerak ATR adaptif dan pengurusan risiko yang ketat untuk mengikuti trend yang ketara dan mengawal kerugian setiap dagangan, untuk mencapai pertumbuhan keuntungan yang mantap.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggunakan purata bergerak ATR adaptif untuk mengenal pasti trend yang penting dan menapis bunyi bising pasaran untuk mengelakkan terperangkap.

  2. Menggunakan kaedah purata bergerak Hull untuk mengira purata bergerak ATR yang lebih lancar, mengelakkan ditipu oleh turun naik frekuensi tinggi.

  3. Menetapkan stop loss tetap dan mengambil keuntungan untuk menghadkan kerugian setiap perdagangan dan mengunci keuntungan, memastikan nisbah risiko / ganjaran.

  4. Trend mengikut gaya perdagangan boleh terus menangkap trend dan meningkatkan potensi keuntungan.

  5. Logik yang mudah dan jelas, mudah difahami. tetapan parameter yang fleksibel sesuai dengan produk dan pasaran yang berbeza.

  6. Boleh digunakan dalam mana-mana produk untuk mengikuti trend.

Analisis Risiko

Risiko utama strategi ini ialah:

  1. Kemungkinan isyarat palsu dari purata bergerak ATR. Harga boleh turun naik secara ganas dan menyebabkan ralat dalam isyarat purata bergerak ATR.

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

  3. Keuntungan tetap mungkin keluar terlalu awal, tidak dapat menangkap trend penuh.

  4. Perlu menghentikan perdagangan semasa peristiwa sedemikian untuk mengelakkan kerugian besar.

  5. Kegagalan untuk keluar tepat pada masanya apabila trend terbalik boleh menyebabkan kerugian daripada trend terbalik.

  6. Parameter perlu dioptimumkan untuk produk dan pasaran yang berbeza.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan parameter purata bergerak ATR, termasuk tempoh ATR dan parameter pelembap, yang mempengaruhi purata bergerak ATR.

  2. Mengoptimumkan strategi stop loss dan mengambil keuntungan. Pertimbangkan berhenti dinamik dan sasaran berdasarkan ATR, bukannya nilai tetap.

  3. Tambahkan peraturan untuk menentukan pembalikan trend, menggabungkan penunjuk lain, untuk mengelakkan terperangkap oleh pembalikan.

  4. Uji dan optimumkan parameter untuk produk dan persekitaran pasaran yang berbeza untuk mencari parameter yang optimum.

  5. Tambah pengesanan peristiwa melampau, hentikan perdagangan apabila lonjakan harga besar berlaku untuk mengawal kerugian.

  6. Mengoptimumkan masa masuk, mempertimbangkan untuk masuk pada penarikan balik dan bukannya melarikan diri untuk mengurangkan risiko.

  7. Pengoptimuman kombinasi parameter, uji kombinasi yang berbeza dari tempoh ATR dan parameter pelusukan untuk mencari kecocokan terbaik.

Kesimpulan

Ringkasnya, strategi ini menggunakan purata bergerak ATR adaptif untuk mengenal pasti trend, dan memperdagangkan trend dengan stop loss tetap dan mengambil keuntungan. purata bergerak ATR secara berkesan mengenal pasti trend, dan berhenti tetap dan sasaran mengawal risiko / ganjaran. Kelebihannya adalah logik yang mudah dan jelas, mudah difahami, dapat disesuaikan dengan produk yang berbeza melalui penyesuaian parameter. Tetapi risiko termasuk isyarat palsu, tetapan stop loss yang tidak betul wujud. Penambahbaikan masa depan boleh dibuat dengan mengoptimumkan parameter purata bergerak ATR, strategi stop loss / mengambil keuntungan, menambah pengesanan pembalikan trend dan lain-lain untuk meningkatkan lagi strategi prestasi.


/*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 lanjut