
এই কৌশলটি সি কে চ্যানেল ব্যবহার করে মূল্যের প্রবণতা নির্ধারণ করে এবং গতিশীল স্টপ লস লাইন সেট করে, যখন দামের বিপরীত হওয়া ঘটে তখন বিপরীত ক্রিয়াকলাপ করা হয়, যা শর্ট লাইন ট্রেডিং কৌশল হিসাবে পরিচিত।
কৌশলটি সিকে চ্যানেল ব্যবহার করে মূল্যের প্রবণতা এবং সমর্থন প্রতিরোধের বিচার করে। এটি চ্যানেল লাইন এবং নীচের চ্যানেল লাইন গণনা করে, যখন দাম চ্যানেল লাইনটি ভেঙে দেয় তখন একটি লেনদেনের সংকেত দেয়। তদুপরি, কৌশলটি চ্যানেল লাইনের চলাচলের উপর নজর রাখে, যখন চ্যানেল লাইনটি বিপরীত হয় তখন বিপরীত অবস্থান গ্রহণ করে, যা বিপরীত ট্রেডিং কৌশলের অন্তর্ভুক্ত।
বিশেষত, কৌশলটি সর্বোচ্চ এবং সর্বনিম্ন দামের উপর ভিত্তি করে একটি উপরের এবং নীচের চ্যানেল লাইন গণনা করে। যদি উপরের চ্যানেল লাইনটি হ্রাস পেতে শুরু করে এবং নীচের চ্যানেল লাইনটি বাড়তে শুরু করে, তবে এটি মূল্যের বিপরীত হিসাবে বিচার করা হয়, একটি খালি অবস্থান। বিপরীতভাবে, যদি নীচের চ্যানেল লাইনটি হ্রাস পেতে শুরু করে এবং উপরের চ্যানেল লাইনটি বাড়তে শুরু করে, তবে এটি মূল্যের বিপরীত হিসাবে বিচার করা হয়, একটি মাল্টিপজিশন তৈরি করা।
এই কৌশলটির সামগ্রিক ধারণাটি পরিষ্কার এবং সহজেই বোঝা যায়, দামের বিপরীত সিদ্ধান্ত নেওয়ার জন্য দ্বি-চ্যানেল ব্যবহার করে, বিপরীত ক্রিয়াকলাপ গ্রহণ করে; এবং ঝুঁকি নিয়ন্ত্রণের জন্য গতিশীল স্টপ লস সেট করে, এটি একটি সাধারণ সংক্ষিপ্ত লাইন ট্রেডিং কৌশল। কৌশলটির কার্যকারিতা আরও উন্নত করা যেতে পারে, মূলত স্টপ লস প্যারামিটারগুলি সামঞ্জস্য করা এবং অন্যান্য প্রযুক্তিগত সূচকগুলি অপারেশন সময় নির্ধারণে সহায়তা করে।
/*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 )