BB21_SMA200 ট্রেন্ড অনুসরণকারী কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৩-১১-১৬ ১১ঃ০৪ঃ৪২
ট্যাগঃ

img


সারসংক্ষেপ

এই কৌশলটি বোলিংজার ব্যান্ড এবং চলমান গড়কে একত্রিত করে ট্রেডিং সিস্টেম অনুসরণ করে একটি প্রবণতা ডিজাইন করে। যখন দাম বোলিংজার ব্যান্ডের উপরের ব্যান্ডটি ভেঙে যায় এবং নিম্ন ব্যান্ডটি এসএমএ 200 এর উপরে থাকে তখন এটি দীর্ঘ হয়, যখন দাম নিম্ন ব্যান্ডটি ভেঙে যায় তখন আংশিক অবস্থান বন্ধ করে দেয় এবং যখন দাম এসএমএ 200 এর নীচে ক্রস করে তখন সমস্তই বেরিয়ে আসে। কৌশলটি প্রবণতা অনুসরণ করে এবং প্রবণতা পরিবর্তনের সময় সময় হ্রাস করে।

কৌশলগত যুক্তি

  1. প্রধান প্রবণতা নির্ধারণের জন্য এসএমএ২০০ কে এক্সপোনেনশিয়াল মুভিং মিডিয়ার হিসাবে গণনা করুন
  2. উপরের ব্যান্ড, মধ্যম ব্যান্ড এবং নিম্ন ব্যান্ড সহ বোলিংজার ব্যান্ড গণনা করুন এবং লাভের পরিসীমা হিসাবে রঙ পূরণ করুন
  3. যখন উভয় উপরের এবং নীচের ব্যান্ড SMA200 এর উপরে থাকে, এটি একটি আপট্রেন্ড নির্দেশ করে
  4. যখন মূল্য বোলিঞ্জার ব্যান্ডের মধ্যবর্তী ব্যান্ডটি ভেঙে যায়, তখন লম্বা হয়ে যায়
  5. যখন মূল্য নিম্নের ব্যাণ্ডটি ভেঙে যায়, তখন আংশিক অবস্থান বন্ধ করে দেয়
  6. যখন মূল্য SMA200 এর নিচে চলে যায়, তখন এটি প্রধান প্রবণতার বিপরীত দিকে নির্দেশ করে, সমস্ত পজিশন বন্ধ করুন
  7. অত্যধিক ক্ষতি রোধ করার জন্য স্টপ লস পয়েন্ট সেট করুন
  8. অ্যাকাউন্টের মূলধন এবং গ্রহণযোগ্য ঝুঁকির উপর ভিত্তি করে লেনদেনের আকার গণনা করুন

একটি প্রবণতা চিহ্নিত করার জন্য এই কৌশলটির মূলনীতি হল যে বোলিংজার ব্যান্ডগুলি সম্পূর্ণরূপে এসএমএ২০০ এর উপরে থাকা উচিত, যখন একটি স্পষ্ট আপট্রেন্ড উপস্থিত হয় তখনই দীর্ঘ সময় ধরে চলতে হবে। যখন ডাউনট্রেন্ড আসে, ঝুঁকি আংশিক স্টপ লস এবং সম্পূর্ণ স্টপ লস দ্বারা নিয়ন্ত্রিত হয়।

সুবিধা বিশ্লেষণ

  1. একটি স্পষ্ট প্রবণতা চিহ্নিত করতে একটি একক সূচকের পরিবর্তে বোলিংজার ব্যান্ড ব্যবহার করুন
  2. এসএমএ২০০ মূল প্রবণতার দিকনির্দেশনা নির্ধারণ করে, ব্যাপ্তি-সীমাবদ্ধ বাজারে অপ্রয়োজনীয় লেনদেন এড়ায়
  3. ট্রেন্ড রান অনুসরণ করার জন্য আংশিক স্টপ লস
  4. হ্রাস কমানোর জন্য মূল পয়েন্টগুলিতে সময়মতো স্টপ লস
  5. একটি একক ট্রেডে অত্যধিক ক্ষতি রোধ করার জন্য ট্রেডের আকার গণনা করুন

ঝুঁকি বিশ্লেষণ

  1. বোলিংজার ব্যান্ড থেকে উৎপন্ন ব্রেকআউট সংকেতগুলির তুলনামূলকভাবে উচ্চ মিথ্যা সংকেত থাকতে পারে
  2. প্রাথমিক স্টপ লস রোধ করার জন্য আংশিক স্টপ লস পয়েন্টগুলিকে অপ্টিমাইজ করা দরকার
  3. যদি স্টপ লস পয়েন্ট খুব সংকীর্ণ হয়, স্টপ লস খুব ঘন ঘন ট্রিগার করা যেতে পারে
  4. পিছিয়ে পড়া এবং সংবেদনশীলতার ভারসাম্য বজায় রাখার জন্য এসএমএ সময়ের পরীক্ষা এবং অপ্টিমাইজ করা দরকার
  5. একক লেনদেনে অত্যধিক আকার রোধ করার জন্য লেনদেনের আকার গণনা পদ্ধতির অপ্টিমাইজেশান প্রয়োজন হতে পারে

বোলিংজার ব্যান্ডের পরামিতিগুলি সাবধানে পরীক্ষা করে, আংশিক স্টপ লস কৌশলটি অনুকূল করে, এসএমএ সময়কাল সামঞ্জস্য করে এবং আরও বৈজ্ঞানিক ঝুঁকি ব্যবস্থাপনা পদ্ধতি প্রবর্তন করে এই ঝুঁকিগুলি হ্রাস করা যেতে পারে।

অপ্টিমাইজেশান নির্দেশাবলী

  1. মিথ্যা সংকেত হ্রাস করার জন্য বোলিংজার ব্যান্ডের পরামিতি পরীক্ষা এবং অপ্টিমাইজ করুন
  2. কিভাবে সঠিক আংশিক স্টপ লস পয়েন্ট সেট করবেন তা গবেষণা করুন
  3. সর্বোত্তম এসএমএ সময়কাল পরীক্ষা করুন
  4. স্থির স্টপ লস পয়েন্টের পরিবর্তে অভিযোজিত স্টপ বিবেচনা করুন
  5. আরও বৈজ্ঞানিক ট্রেড আকার গণনার জন্য অস্থিরতা ভিত্তিক পজিশন সাইজিং ব্যবহার করে গবেষণা
  6. বাস্তব ট্রেডিং সিমুলেট করার জন্য ট্রেডিং খরচ দিয়ে ব্যাকটেস্ট
  7. কৌশলটির দৃঢ়তা বাড়াতে অন্যান্য সূচকগুলির সাথে একত্রিত করার বিষয়টি বিবেচনা করুন

সিদ্ধান্ত

এই কৌশলটি একটি তুলনামূলকভাবে সম্পূর্ণ ট্রেন্ড অনুসরণকারী সিস্টেম ডিজাইন করার জন্য বোলিংজার ব্যান্ড এবং এসএমএকে একীভূত করে। এটি ট্রেন্ডের অস্তিত্ব সনাক্ত করতে নির্ভরযোগ্য এবং এর শক্তিশালী ট্রেন্ড ট্র্যাকিং ক্ষমতা রয়েছে। স্টপ লস কৌশলটি ক্রমাগত অনুকূলিতকরণ, সংকেত ত্রুটি হ্রাস এবং বৈজ্ঞানিক ঝুঁকি ব্যবস্থাপনা কৌশল প্রবর্তন করে, এই কৌশলটি লাইভ ট্রেডিংয়ে ট্র্যাক করার জন্য একটি মূল্যবান সিস্টেম হয়ে উঠতে পারে। এটি পরিমাণগত ট্রেডিং কৌশল নকশার জন্য একাধিক সূচক একত্রিত করার একটি পদ্ধতি সরবরাহ করে।


/*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
    

আরো