
यह रणनीति सीके चैनल का उपयोग करके मूल्य प्रवृत्ति का पता लगाती है और गतिशील स्टॉप-लॉस लाइन सेट करती है, जो कि शॉर्ट-लाइन ट्रेडिंग रणनीति के अंतर्गत आता है।
रणनीति का उपयोग सीके चैनल मूल्य प्रवृत्ति और समर्थन प्रतिरोध को निर्धारित करने के लिए किया जाता है। ऊपर और नीचे चैनल लाइन की गणना करें, और जब कीमत चैनल लाइन को तोड़ती है तो ट्रेडिंग सिग्नल उत्पन्न करें। इसके अलावा, रणनीति चैनल लाइन के आंदोलन को ट्रैक करती है और चैनल लाइन के उलट होने पर रिवर्स पोजीशन लेती है, जो एक रिवर्स ट्रेडिंग रणनीति है।
विशेष रूप से, रणनीति के आधार पर उच्चतम मूल्य, निम्नतम मूल्य की गणना ऊपर और नीचे चैनल लाइन. यदि ऊपर चैनल लाइन नीचे गिरने के लिए शुरू होता है, नीचे चैनल लाइन ऊपर जाने के लिए शुरू होता है, तो यह निर्णय लिया जाता है कि कीमत पलटाव, स्थिति खाली. इसके विपरीत, अगर नीचे चैनल लाइन नीचे जाने के लिए शुरू होता है, ऊपर चैनल लाइन ऊपर जाने के लिए शुरू होता है, तो यह निर्णय लिया जाता है कि कीमत पलटाव, बहु-स्थिति है.
इस रणनीति की समग्र सोच स्पष्ट और समझने में आसान है, दो-चैनल निर्णय लेने के लिए कीमतों को उलट दिया जाता है, रिवर्स ऑपरेशन किया जाता है; और जोखिम को नियंत्रित करने के लिए गतिशील स्टॉप-लॉस सेट किया जाता है, जो कि एक विशिष्ट शॉर्ट-लाइन ट्रेडिंग रणनीति है। रणनीति का प्रभाव आगे भी अनुकूलित किया जा सकता है, मुख्य रूप से स्टॉप-लॉस पैरामीटर को समायोजित करने के लिए, और अन्य तकनीकी संकेतकों को निर्णय लेने के समय में सहायता करता है।
/*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 )