Strategi Breakout Tren ATR Adaptif


Tanggal Pembuatan: 2023-10-31 15:58:46 Akhirnya memodifikasi: 2023-10-31 15:58:46
menyalin: 0 Jumlah klik: 690
1
fokus pada
1617
Pengikut

Strategi Breakout Tren ATR Adaptif

Ringkasan

Strategi ini adalah strategi pemecahan tren berdasarkan indikator ATR. Gagasan utamanya adalah untuk melakukan operasi pemecahan tren ketika harga melebihi ATR beberapa kali lipat. Strategi ini juga mencakup pengakuan tren dan penggunaan jangka waktu untuk membatasi perdagangan.

Prinsip

Strategi ini menggunakan indikator ATR untuk menentukan amplitudo pergerakan harga. ATR adalah amplitudo rata-rata yang sebenarnya, yang mengukur amplitudo rata-rata pergerakan harga dalam periode waktu tertentu.

Ketika harga naik menerobos atas numATRs kali ATR, melakukan multi operasi; ketika harga turun menerobos bawah numATRs kali ATR, melakukan shorting operasi.

Selain itu, strategi menambahkan variabel BOOL yang membutuhkan posisi panjang ((needlong) dan yang membutuhkan posisi kosong ((needshort), yang dapat dikontrol hanya untuk melakukan lebih banyak atau hanya untuk melakukan kosong. Strategi juga mengatur kisaran tanggal untuk melakukan perdagangan hanya antara tanggal yang ditentukan, sehingga memungkinkan batasan jangka waktu.

Strategi menggunakan variabel ukuran untuk menilai posisi, menghitung jumlah taruhan berdasarkan situasi posisi. Jumlah taruhan berdasarkan persentase hak dan kepentingan akun.

Keunggulan

  • Menggunakan indikator ATR untuk secara otomatis beradaptasi dengan fluktuasi pasar, tanpa harus mengatur jarak stop loss secara manual
  • Fleksibilitas untuk melakukan lebih banyak atau hanya lebih banyak/kosong
  • Anda dapat mengatur rentang tanggal untuk berdagang, menghindari titik waktu penting
  • Fleksibilitas pengaturan ponsel, dapat dipesan berdasarkan persentase hak bunga akun

Risiko dan Solusi

  • Indikator ATR hanya memperhitungkan fluktuasi harga, dan jika terjadi perubahan besar, stop loss mungkin terlalu kecil dan perlu dioptimalkan dalam kombinasi dengan indikator lain
  • Pembatasan jangka waktu perdagangan, jika ada kesempatan yang tidak sesuai di antara periode waktu penting, yang dapat menyebabkan kehilangan peluang perdagangan, dapat diperluas dengan tepat.
  • Perhitungan rasio yang masuk akal diperlukan untuk menghindari kerugian tunggal yang terlalu besar saat melakukan pemesanan menggunakan rasio hak dan kepentingan akun

Optimalkan Pikiran

  • Anda dapat mempertimbangkan untuk menambahkan indikator tren seperti moving averages untuk menyaring perdagangan yang berisik dari non-trend breakouts.
  • Dapat menguji parameter siklus ATR yang berbeda untuk memilih kombinasi parameter terbaik
  • Dapat dipertimbangkan untuk digunakan dalam kombinasi dengan portofolio strategi lain untuk memanfaatkan keunggulan masing-masing dan meningkatkan stabilitas strategi

Meringkaskan

Strategi ini secara keseluruhan jelas dan mudah dipahami, menggunakan indikator ATR secara otomatis beradaptasi dengan volatilitas pasar, merupakan strategi pelacakan tren umum. Dengan mengoptimalkan parameter dan menggabungkan strategi lain, kinerja dan stabilitas strategi dapat ditingkatkan lebih lanjut. Namun, perlu berhati-hati untuk mencegah kerugian tunggal yang terlalu besar, dan memperhatikan kekurangan stop loss ketika situasi berubah drastis.

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

//Noro
//2018

//@version=3
strategy(title = "Noro's Volty Strategy v1.0", shorttitle = "Volty 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 100)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
length = input(5)
numATRs = input(0.75)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Indicator
atrs = sma(tr, length) * numATRs

//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if (not na(close[length])) and needlong
    strategy.entry("L", strategy.long, lot, stop = close + atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if (not na(close[length])) and needlong == false
    strategy.entry("L", strategy.long, 0, stop = close + atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if (not na(close[length])) and needshort
    strategy.entry("S", strategy.short, lot, stop = close - atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if (not na(close[length])) and needshort == false
    strategy.entry("S", strategy.short, 0, stop = close - atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))