Strategi ini adalah strategi trend breakout berdasarkan indikator ATR. Ide utamanya adalah mengambil perdagangan trend breakout ketika harga melebihi kelipatan tertentu dari ATR. Strategi ini juga mencakup konfirmasi tren dan membatasi perdagangan dalam kisaran tanggal.
Strategi ini menggunakan indikator ATR untuk mengukur volatilitas harga. ATR adalah singkatan dari Average True Range dan mengukur volatilitas rata-rata selama periode. Parameter panjang dalam strategi menghitung periode ATR dan numATRs mewakili pengganda ATR untuk breakout.
Ketika harga pecah di atas multipel numATRs atas ATR, posisi panjang diambil.
Selain itu, strategi ini mencakup variabel bool needlong dan needshort untuk mengontrol hanya perdagangan panjang atau hanya perdagangan pendek.
Strategi ini menggunakan variabel ukuran untuk menentukan ukuran posisi dan menghitung ukuran order berdasarkan persentase ekuitas akun.
Menggunakan ATR untuk menyesuaikan diri secara otomatis dengan volatilitas pasar tanpa pengaturan profit/loss manual.
Fleksibel untuk memilih panjang, pendek atau panjang/pendek saja.
Dapat mengatur rentang tanggal untuk menghindari perdagangan pada acara penting.
Ukuran posisi yang fleksibel berdasarkan persentase ekuitas akun.
ATR hanya mempertimbangkan volatilitas harga. mungkin tidak memiliki stop loss yang cukup selama perubahan pasar yang besar. indikator lain dapat dikombinasikan.
Batas rentang tanggal dapat kehilangan kesempatan jika tidak ada pengaturan yang baik sebelum / setelah.
Ukuran persentase ekuitas berisiko kerugian besar pada perdagangan tunggal.
Tambahkan rata-rata bergerak untuk filter tren untuk mengurangi perdagangan kebisingan pecah palsu.
Uji periode ATR untuk menemukan parameter optimal.
Gabungkan dengan strategi lain untuk memanfaatkan kekuatan dan meningkatkan stabilitas.
Ini adalah tren yang dapat dimengerti setelah strategi menggunakan ATR untuk beradaptasi dengan volatilitas. Optimasi parameter dan menggabungkan dengan strategi lain dapat lebih meningkatkan kinerja dan stabilitas.
/*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)))