এই কৌশলটি বোলিংজার ব্যান্ড এবং চলমান গড়কে একত্রিত করে ট্রেডিং সিস্টেম অনুসরণ করে একটি প্রবণতা ডিজাইন করে। যখন দাম বোলিংজার ব্যান্ডের উপরের ব্যান্ডটি ভেঙে যায় এবং নিম্ন ব্যান্ডটি এসএমএ 200 এর উপরে থাকে তখন এটি দীর্ঘ হয়, যখন দাম নিম্ন ব্যান্ডটি ভেঙে যায় তখন আংশিক অবস্থান বন্ধ করে দেয় এবং যখন দাম এসএমএ 200 এর নীচে ক্রস করে তখন সমস্তই বেরিয়ে আসে। কৌশলটি প্রবণতা অনুসরণ করে এবং প্রবণতা পরিবর্তনের সময় সময় হ্রাস করে।
একটি প্রবণতা চিহ্নিত করার জন্য এই কৌশলটির মূলনীতি হল যে বোলিংজার ব্যান্ডগুলি সম্পূর্ণরূপে এসএমএ২০০ এর উপরে থাকা উচিত, যখন একটি স্পষ্ট আপট্রেন্ড উপস্থিত হয় তখনই দীর্ঘ সময় ধরে চলতে হবে। যখন ডাউনট্রেন্ড আসে, ঝুঁকি আংশিক স্টপ লস এবং সম্পূর্ণ স্টপ লস দ্বারা নিয়ন্ত্রিত হয়।
বোলিংজার ব্যান্ডের পরামিতিগুলি সাবধানে পরীক্ষা করে, আংশিক স্টপ লস কৌশলটি অনুকূল করে, এসএমএ সময়কাল সামঞ্জস্য করে এবং আরও বৈজ্ঞানিক ঝুঁকি ব্যবস্থাপনা পদ্ধতি প্রবর্তন করে এই ঝুঁকিগুলি হ্রাস করা যেতে পারে।
এই কৌশলটি একটি তুলনামূলকভাবে সম্পূর্ণ ট্রেন্ড অনুসরণকারী সিস্টেম ডিজাইন করার জন্য বোলিংজার ব্যান্ড এবং এসএমএকে একীভূত করে। এটি ট্রেন্ডের অস্তিত্ব সনাক্ত করতে নির্ভরযোগ্য এবং এর শক্তিশালী ট্রেন্ড ট্র্যাকিং ক্ষমতা রয়েছে। স্টপ লস কৌশলটি ক্রমাগত অনুকূলিতকরণ, সংকেত ত্রুটি হ্রাস এবং বৈজ্ঞানিক ঝুঁকি ব্যবস্থাপনা কৌশল প্রবর্তন করে, এই কৌশলটি লাইভ ট্রেডিংয়ে ট্র্যাক করার জন্য একটি মূল্যবান সিস্টেম হয়ে উঠতে পারে। এটি পরিমাণগত ট্রেডিং কৌশল নকশার জন্য একাধিক সূচক একত্রিত করার একটি পদ্ধতি সরবরাহ করে।
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © mohanee //@version=4 strategy(title="BB9_MA200_Strategy", overlay=true, pyramiding=1, default_qty_type=strategy.cash, initial_capital=10000, currency=currency.USD) //default_qty_value=10, default_qty_type=strategy.fixed, var stopLossVal=0.00 //variables BEGIN smaLength=input(200,title="MA Length") bbLength=input(21,title="BB Length") bbsrc = input(close, title="BB Source") mult = input(2.0, minval=0.001, maxval=50, title="StdDev") stopLoss = input(title="Stop Loss%", defval=5, minval=1) riskCapital = input(title="Risk % of capital == Based on this trade size is claculated numberOfShares = (AvailableCapital*risk/100) / stopLossPoints", defval=10, minval=1) sma200=ema(close,smaLength) plot(sma200, title="SMA 200", color=color.orange) //bollinger calculation basis = sma(bbsrc, bbLength) dev = mult * stdev(bbsrc, bbLength) upperBand = basis + dev lowerBand = basis - dev offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500) //plot bb plot(basis, "Basis", color=color.teal, style=plot.style_circles , offset = offset) p1 = plot(upperBand, "Upper", color=color.teal, offset = offset) p2 = plot(lowerBand, "Lower", color=color.teal, offset = offset) fill(p1, p2, title = "Background", color=color.teal, transp=95) strategy.initial_capital = 50000 //Entry--- strategy.entry(id="LE", comment="LE capital="+tostring(strategy.initial_capital + strategy.netprofit ,"######.##"), qty=( (strategy.initial_capital + strategy.netprofit ) * riskCapital / 100)/(close*stopLoss/100) , long=true, when=strategy.position_size<1 and upperBand>sma200 and lowerBand > sma200 and crossover(close, basis) ) // // aroonOsc<0 //(strategy.initial_capital * 0.10)/close barcolor(color=strategy.position_size>=1? color.blue: na) //partial Exit tpVal=strategy.position_size>1 ? strategy.position_avg_price * (1+(stopLoss/100) ) : 0.00 strategy.close(id="LE", comment="Partial points="+tostring(close - strategy.position_avg_price, "####.##"), qty_percent=30 , when=abs(strategy.position_size)>=1 and close>tpVal and crossunder(lowerBand, sma200) ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close All on stop loss //stoploss stopLossVal:= strategy.position_size>1 ? strategy.position_avg_price * (1-(stopLoss/100) ) : 0.00 strategy.close_all( comment="SL Exit points="+tostring(close - strategy.position_avg_price, "####.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close<ema89// strategy.close_all( comment="BB9 X SMA200 points="+tostring(close - strategy.position_avg_price, "####.##"), when=abs(strategy.position_size)>=1 and crossunder(basis, sma200) ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close<ema89