Strategi Mengikuti Tren ATR


Tanggal Pembuatan: 2023-09-21 15:13:47 Akhirnya memodifikasi: 2023-09-21 15:13:47
menyalin: 0 Jumlah klik: 770
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini menggunakan rata-rata real bandwidth (ATR) untuk menangkap tren harga, dan ATR untuk mengatur stop loss, untuk melacak tren.

Prinsip Strategi

  1. Menghitung nilai ATR.

  2. Stop loss ditentukan berdasarkan nilai ATR.

  3. Ketika harga menembus batas stop loss, Anda harus melakukan lebih banyak shorting.

  4. Mengunci keuntungan dengan mengadaptasi stop loss secara dinamis.

Keunggulan Strategis

  • Menggunakan ATR untuk menyesuaikan stop loss secara otomatis, tanpa intervensi manusia
  • Strategi sederhana, intuitif, dan mudah diterapkan
  • Menghindar dari tersandung, dan menghentikan kerusakan
  • Menggunakan tren untuk menjalankan keuntungan
  • Frekuensi transaksi dapat dikontrol dengan menyesuaikan parameter ATR

Risiko Strategis

  • ATR parameter yang tidak benar dapat menyebabkan terlalu longgar atau ketat
  • Tidak dapat mengidentifikasi akhir tren secara efektif
  • Ada keterlambatan waktu
  • Mungkin sebagian keuntungan dari kerugian yang dibalik

Arah optimasi

  • Optimalkan parameter siklus ATR
  • Uji beda ATR sebagai stop loss distance
  • Dalam kombinasi dengan indikator lain yang mengidentifikasi reversal
  • Cobalah untuk mengoptimalkan parameter pembelajaran mesin
  • Pertimbangkan strategi penangguhan tambahan

Meringkaskan

Strategi ini memanfaatkan ATR untuk menangkap tren secara efektif dan secara dinamis menyesuaikan stop loss untuk mencapai profit lock. Pengaturan parameter optimasi dapat meningkatkan kinerja strategi. Namun, masalah ATR lag tidak dapat sepenuhnya dihindari. Secara keseluruhan, strategi ini adalah solusi pelacakan tren yang sederhana dan praktis.

Kode Sumber Strategi
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

strategy(title="ATR Strategy", overlay = true,  commission_type=strategy.commission.percent,commission_value=0.075)
//credits to HPotter for the orginal code
nATRPeriod = input(5)
nATRMultip = input(3.5)
xATR = ta.atr(nATRPeriod)
nLoss = nATRMultip * xATR
xATRTrailingStop = iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), math.max(nz(xATRTrailingStop[1]), close - nLoss),
                    iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), math.min(nz(xATRTrailingStop[1]), close + nLoss), 
                        iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
pos =	iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
	    iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 
color = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 
plot(xATRTrailingStop, color=color, title="ATR Trailing Stop")

barbuy = close > xATRTrailingStop 
barsell = close < xATRTrailingStop 

strategy.entry("Long", strategy.long, when = barbuy) 
strategy.entry("Short", strategy.short, when = barsell) 

barcolor(barbuy? color.green:color.red)