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