
Strategi ini menghasilkan isyarat dagangan dengan mengira harga berhenti terakhir dan harga berhenti terakhir, digabungkan dengan harga semasa untuk menentukan sama ada harga memasuki kawasan tertentu. Buat lebih banyak apabila harga melebihi peratusan harga berhenti sebelumnya, dan buat kosong apabila harga berada di bawah peratusan harga berhenti sebelumnya.
Strategi pertama mengira harga penutupan terakhir lastbull dan harga penutupan terakhir lastbear. Kemudian mengira harga semasa close berbanding perubahan berbanding lastbull, dan berbanding perubahan berbanding lastbear.
Apabila ddl lebih rendah daripada konfigurasi yang dibuat untuk tanda-tanda tanda-tanda signallong menghasilkan tanda-tanda tanda-tanda up, dan apabila dds lebih tinggi daripada konfigurasi yang dibuat untuk tanda-tanda tanda-tanda tanda-tanda signalshort menghasilkan tanda-tanda tanda-tanda dNN.
Apabila menerima sinyal melakukan lebih banyak, jika perlu melakukan lebih banyak parameter, maka buka lebih banyak kedudukan. Apabila menerima isyarat melakukan short, jika perlu melakukan parameter short, maka buka posisi kosong. Koefisien modal membuka kedudukan dikira oleh hak dan faedah akaun.
Syarat kedudukan kosong adalah selepas membuka lebih banyak kedudukan, kenaikan harga akan membuka lebih banyak kedudukan, dan selepas membuka kosong, penurunan harga akan membuka kosong.
Strategi ini menggabungkan trend dan penghakiman julat, dan dapat menangkap trend dan menggunakan pecah julat untuk menghasilkan isyarat perdagangan, melakukan lebih banyak pertukaran shorting fleksibel. Berbanding dengan strategi penjejakan trend yang mudah, ia dapat menangkap arah trend baru dengan cepat setelah memecahkan julat.
Parameter boleh dikonfigurasikan dengan ruang yang besar, parameter yang boleh disesuaikan secara fleksibel untuk melakukan banyak pengosongan, menyesuaikan diri dengan pelbagai jenis. Anda boleh mengkonfigurasi tempoh masa untuk mengelakkan nod masa penting.
Strategi ini tidak mempunyai mekanisme hentian kerugian dan tidak dapat mengawal kerugian tunggal dengan berkesan. Apabila variasi perdagangan berfluktuasi besar, perhitungan kedudukan mudah dipengaruhi oleh harga.
Anda boleh menetapkan stop loss untuk mengehadkan kerugian tunggal. Anda boleh menetapkan algoritma kedudukan berdasarkan pelbagai jenis untuk menjadikan kedudukan lebih stabil.
Strategi ini mengintegrasikan penghakiman trend dan penembusan julat untuk menghasilkan isyarat perdagangan, yang dapat menangkap arah trend baru dan memanfaatkan ciri gegaran julat. Pengaturan parameter fleksibel, ruang yang boleh disesuaikan, sesuai dengan varieti yang berbeza.
/*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)