
Strategi ini menghasilkan sinyal perdagangan dengan menghitung harga berhenti terakhir dan harga turun terakhir, dikombinasikan dengan harga saat ini untuk menentukan apakah harga memasuki area tertentu. Lakukan over jika harga melebihi persentase tertentu dari harga berhenti sebelumnya, dan kosong jika harga di bawah persentase tertentu dari harga turun sebelumnya.
Strategi pertama menghitung harga lastbull dan lastbear yang terhenti terakhir. Kemudian menghitung harga saat ini close terhadap lastbull dengan rasio perubahan ddl, dan rasio perubahan terhadap lastbear dengan rasio perubahan dds.
Ketika ddl lebih rendah dari konfigurasi yang dibuat untuk sinyal multi-threshold signallong menghasilkan sinyal multi-threshold up, dan ketika dds lebih tinggi dari konfigurasi yang dibuat untuk sinyal kosong threshold signalshort menghasilkan sinyal kosong dn。
Apabila menerima sinyal untuk melakukan lebih banyak, maka buka lebih banyak posisi jika perlu melakukan lebih banyak parameter needlong untuk benar, dan jika menerima sinyal untuk melakukan shorting, maka buka posisi kosong jika perlu untuk melakukan parameter needshort untuk benar. Koefisien modal buka posisi dihitung oleh hak dan kepentingan akun.
Kondisi posisi terbuka adalah setelah membuka posisi lebih, harga naik berarti posisi lebih terbuka, setelah membuka posisi kosong, harga turun berarti posisi kosong kosong.
Strategi ini menggabungkan tren dan penilaian interval, baik untuk menangkap tren dan dapat memanfaatkan terobosan interval untuk menghasilkan sinyal perdagangan, melakukan lebih banyak shorting dan beralih fleksibel. Dibandingkan dengan strategi pelacakan tren sederhana, strategi ini dapat menangkap arah tren baru dengan cepat setelah terobosan interval.
Parameter dapat dikonfigurasi dengan ruang yang luas, dapat disesuaikan dengan parameter yang lebih banyak dikosongkan, dan dapat disesuaikan dengan varietas yang berbeda. Anda dapat mengkonfigurasi periode waktu terbuka untuk menghindari titik waktu penting.
Tidak ada mekanisme stop loss dalam strategi, tidak dapat secara efektif mengendalikan kerugian tunggal. Ketika variasi perdagangan berfluktuasi besar, perhitungan posisi rentan terhadap pengaruh harga.
Anda dapat mengatur stop loss untuk membatasi kerugian tunggal. Anda dapat membuat posisi lebih stabil sesuai dengan algoritma posisi yang disetel dengan varietas yang berbeda.
Strategi ini mengintegrasikan penilaian tren dan pembobolan rantai untuk menghasilkan sinyal perdagangan, baik untuk menangkap arah tren baru maupun untuk memanfaatkan karakteristik getaran rantai. Pengaturan parameternya fleksibel dan dapat disesuaikan dengan ruang yang luas untuk varietas yang berbeda.
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=4
strategy(title = "Noro's DDL Strategy", shorttitle = "DDL str", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)
//Settings
needlong = input(true, title = "Long")
needshort = input(true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
signalshort = input(3.0, title = "Short, %")
signallong = input(-3.0, title = "Long, %")
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")
//Levels
bull = close > close[1] ? 1 : 0
bear = close < close[1] ? 1 : 0
lastbull = 0.0
lastbull := bull ? close : lastbull[1]
lastbear = 0.0
lastbear := bear ? close : lastbear[1]
//Signals
ddl = ((close / lastbull) - 1) * 100
up = ddl < signallong
dds = ((close / lastbear) - 1) * 100
dn = dds > signalshort
//Lines
plot(dds, style = plot.style_area, color = color.red, transp = 0)
plot(ddl, style = plot.style_area, color = color.lime, transp = 0)
plot(0, color = color.black, linewidth = 2, transp = 0)
//Background
col = (up and needlong) or (dn and needshort) ? color.yellow : na
bgcolor(col, transp = 20)
//Orders
lot = 0.0
lot := strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
truetime = true
if up
strategy.entry("Long", strategy.long, lot, when = needlong and truetime)
if dn
strategy.entry("Short", strategy.short, lot, when = needshort and truetime)
if strategy.position_size > 0 and close > open
strategy.entry("Close", strategy.short, 0)
if strategy.position_size < 0 and close < open
strategy.entry("Close", strategy.long, 0)