Strategi ini menggunakan saluran CK untuk menentukan tren harga dan menetapkan garis stop loss dinamis untuk melakukan operasi terbalik ketika pembalikan harga terjadi.
Strategi ini menggunakan saluran CK untuk menentukan tren harga dan support/resistance. Ini menghitung garis saluran atas dan bawah. Ketika harga menembus garis saluran, sinyal perdagangan dihasilkan. Selain itu, strategi ini juga melacak pergerakan garis saluran dan mengambil posisi terbalik ketika garis saluran terbalik, yang merupakan strategi perdagangan pembalikan.
Secara khusus, strategi menghitung garis saluran atas dan bawah berdasarkan harga tertinggi dan terendah. Jika garis saluran atas mulai turun dan garis saluran bawah mulai naik, itu ditentukan sebagai pembalikan harga untuk pergi pendek. Sebaliknya, jika garis saluran bawah mulai turun dan garis saluran atas mulai naik, itu ditentukan sebagai pembalikan harga untuk pergi panjang.
Ide keseluruhan strategi ini jelas dan mudah dipahami. Ini menggunakan saluran ganda untuk menentukan pembalikan harga dan melakukan operasi terbalik. Dan menetapkan stop loss dinamis untuk mengendalikan risiko. Ini termasuk strategi perdagangan jangka pendek yang khas. Efek strategi dapat lebih dioptimalkan, terutama dengan menyesuaikan parameter stop loss dan membantu indikator teknis lainnya untuk menentukan waktu masuk dan keluar.
/*backtest start: 2023-10-27 00:00:00 end: 2023-11-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // //study(title="Chande Kroll Stop", shorttitle="CK Stop", overlay=true) strategy(title="Chande Kroll Stop", shorttitle="Chande Kroll Stop回測", overlay=true, initial_capital=100000, calc_on_every_tick=true,default_qty_type=strategy.percent_of_equity, default_qty_value=10) br_red = #e91e63,Red = #f41818,n_green = #91dc16,dk_green = #004d40,lt_green = #16dc78,lt_blue = #0dbdd8,dk_blue = #0a3577,Blue = #034fed,br_orange = #f57c00,dk_orange = #e65100,dk_gray = #434651,dk_pink = #7c1df0,lt_pink = #e743f5,Purple = #5b32f3,lt_purple = #6b5797 hiP = input(9, "",inline="h") hix = input(1,"" ,inline="h", step=0.1) hiQ = input(7,"" ,inline="h") loP = input(9,"" ,inline="h1") lox = input(1,"" ,inline="h1", step=0.1) loQ = input(5,"" ,inline="h1") Xr=input(false,"反向操作:買/賣",inline="T"), first_high_stop = highest(high, hiP) - hix * atr(hiP) first_low_stop = lowest(high, loP) + lox * atr(loP) stop_short = highest(first_high_stop, hiQ) stop_long = lowest(first_low_stop, loQ) cklow = stop_short ckhigh = stop_long Xdn = cklow < cklow[1] and ckhigh < ckhigh[1] Xup = cklow > cklow[1] and ckhigh > ckhigh[1] longcol = Xup ? lt_green : Xdn ? br_red : #2a2e39 shortcol = Xup? lt_green : Xdn ? br_red : #2a2e39 plot(stop_long, color=longcol) plot(stop_short, color=shortcol) plotshape(Xup and not Xup[1] , title="CK Stop Buy", text='CK', style=shape.triangleup, size=size.tiny, location=location.belowbar, color=lt_green, textcolor=lt_green,display=display.none) plotshape(Xdn and not Xdn[1], title="CK Stop Sell", text='CK', style=shape.triangledown, size=size.tiny, location=location.abovebar, color=br_red, textcolor=br_red,display=display.none) // , default_qty_type=strategy.percent_of_equity, default_qty_value=10, calc_on_every_tick=true) tl=input(true,"Sig",inline="T"), sbg=input(true,"Bgtrend",inline="T"), vbuild="FIREHORSE XRPUSDT" Xp = 0.0, Xp:=Xdn? -1 : Xup? 1 : Xp[1], Xdf = Xr? Xup and Xp[1] == -1 : Xdn and Xp[1] == 1 ,Xuf = Xr? Xdn and Xp[1] == 1: Xup and Xp[1] == -1 FY=input(2021,"年",inline="btf"),FM=input(9,"月",inline="btf"),FD=input(01,"日",inline="btf"), TY = input(2032,"年",inline="to"),TM=input(01,"月",inline="to"),TDy=input(01,"日",inline="to"), testTF = time>=timestamp(FY,FM,FD,00,00) and time <= timestamp(TY,TM,TDy,23,59)? true:false plotchar(tl? Xuf:na,vbuild+" 生門","△",location.bottom, #14e540,10,0," " ,#14e540,1,size.tiny)// ︽ ︾ plotchar(tl? Xdf:na,vbuild+" 傷門","▽",location.top, #9b0842,10,0," ", #9b0842,1,size.tiny) bgcolor(sbg ? Xp==1 ? #0d47a1 :na: na, transp=90), alertcondition(Xuf,vbuild+ "Buy", "Long 💹 \n"+vbuild), alertcondition(Xdf, vbuild+ " Sell","Short 🈹\n"+vbuild) if Xuf alert("Long " + tostring(close)+"\nLong "+input("My Long Msg","Long Alert Msg")+vbuild, alert.freq_once_per_bar) if Xdf alert("Short " + tostring(close)+"\nShort"+input("My Short Msg","Short Alert Msg")+vbuild, alert.freq_once_per_bar) if testTF strategy.entry("Long ", strategy.long, comment=" Long ",when=Xuf), strategy.entry("Short", strategy.short, comment=" Short",when=Xdf )