
এই কৌশলটি পোলিং বন্ড এবং সূচকীয় চলমান গড় (ইএমএ) দুটি প্রযুক্তিগত সূচককে সংযুক্ত করে, যা বাজারের স্বল্পমেয়াদী মূল্যের ওঠানামা ধরার জন্য তৈরি করা হয়েছে। পোলিং বন্ডটি মূল্যের অস্থিরতা পরিমাপ করার জন্য ব্যবহৃত হয়, এবং ইএমএ প্রবণতা দিকনির্দেশনা মূল্যায়নের জন্য ব্যবহৃত হয়। যখন বন্ধের দাম ইএমএ অতিক্রম করে এবং ট্র্যাকের উপরে উঠে যায়, তখন এটি নির্দেশ করে যে উত্থান প্রবণতা অব্যাহত থাকতে পারে, তখন এটি আরও বেশি পজিশন দেয়; বিপরীতে, যখন বন্ধের দাম ইএমএ অতিক্রম করে এবং ট্র্যাকের নীচে পড়ে যায়, তখন এটি নির্দেশ করে যে নিম্নমুখী প্রবণতা অব্যাহত থাকতে পারে, তখন পজিশনটি খালি করে। এই কৌশলটি স্টপ লস এবং স্টপ ওয়ারিংয়ের মতো ঝুঁকি ব্যবস্থাপনা কৌশলগুলিকে সংযুক্ত করে, যা নিম্নমুখী ঝুঁকি নিয়ন্ত্রণ করে এবং মুনাফা লক করে। সামগ্রিকভাবে, এই কৌশলটি স্পষ্টভাবে সংজ্ঞায়িত ইন এবং আউট শর্তের উপর ভিত্তি করে, ব্যবসায়ীদের
এই কৌশলটির মূল অংশটি হ’ল পোলিং ব্যান্ড এবং ইএমএর সংমিশ্রণ ব্যবহার করে সম্ভাব্য ব্যবসায়ের সুযোগগুলি সনাক্ত করা। পোলিং ব্যান্ডটি তিনটি লাইনের সমন্বয়ে গঠিতঃ মধ্যম ট্র্যাক (সাধারণত একটি সরল চলমান গড়), উপরের ট্র্যাক (সাধারণত একটি নির্দিষ্ট গুণমানের স্ট্যান্ডার্ড ডিফারেনশিয়াল সহ) এবং নীচের ট্র্যাক (সাধারণত একটি নির্দিষ্ট গুণমানের স্ট্যান্ডার্ড ডিফারেনশিয়াল বাদ দিয়ে) । দামের ব্রেক আপ ট্র্যাক বা নীচের ট্র্যাকটি সাধারণত বাজারটিতে শক্তিশালী ওঠানামা দেখা দেয়, যখন দামগুলি মধ্যম ট্র্যাকের কাছাকাছি চলে যায় তখন বাজারটি তুলনামূলকভাবে স্থিতিশীল থাকে। ইএমএ একটি প্রবণতা ট্র্যাকিং সূচক যা সাম্প্রতিক মূল্য পরিবর্তনের উপর বেশি ওজন দেয় এবং তাই সরল চলমান গড়ের চেয়ে দাম পরিবর্তনের প্রতিক্রিয়াতে বেশি সংবেদনশীল।
এই কৌশলটির লেনদেনের লজিক নিম্নরূপঃ
পোলিংব্যান্ড এবং ইএমএ ট্রেন্ড ট্র্যাকিং কৌশলটি বাজারের স্বল্পমেয়াদী মূল্যের ওঠানামাকে ক্যাপচার করার জন্য ব্যবসায়ীদের জন্য একটি পদ্ধতিগত পদ্ধতি সরবরাহ করে। এই কৌশলটির সুবিধা হ’ল কার্যকরভাবে বাজার প্রবণতা সনাক্ত এবং ট্র্যাক করতে সক্ষম হওয়া, ঝুঁকি ব্যবস্থাপনা এবং অবস্থান পরিচালনার কৌশলগুলির সাথে মিলিত। তবে, এই কৌশলটি প্যারামিটার সংবেদনশীলতা, বাজার শব্দ, প্রবণতা বিপরীত হওয়ার মতো ঝুঁকির মুখোমুখি হয়, যা প্যারামিটার অপ্টিমাইজেশন, প্রবণতা নিশ্চিতকরণ, গতিশীল স্টপ লস স্টপ, অবস্থান পরিচালনার অপ্টিমাইজেশন এবং বহু-সময় বিশ্লেষণ ফ্রেমওয়ার্কের মাধ্যমে উন্নতি ও অপ্টিমাইজেশনের প্রয়োজন। সামগ্রিকভাবে, পোলিংব্যান্ড এবং ইএমএ ট্রেন্ড ট্র্যাকিং কৌশল ব্যবসায়ীদের জন্য একটি কার্যকর ব্যবসায়ের কাঠামো সরবরাহ করে, তবে বাস্তবায়নের ক্ষেত্রে নির্দিষ্ট বাজার এবং ব্যবসায়ের অবস্থার উপর ভিত্তি করে যথাযথ লক্ষ্য এবং অপ্টিমাইজেশন প্রয়োজন।
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands and EMA Strategy", overlay=true)
// Bollinger Bands Inputs
bb_length = input.int(20, minval=1, title="Bollinger Bands Length")
bb_mult = input.float(2.0, minval=0.001, maxval=50, title="Bollinger Bands StdDev")
bb_src = input(close, title="Bollinger Bands Source")
bb_offset = input.int(0, title="Bollinger Bands Offset", minval=-500, maxval=500)
// EMA Inputs
ema_period = input.int(9, minval=1, title="EMA Period")
ema_src = input(close, title="EMA Source")
ema_offset = input.int(0, title="EMA Offset", minval=-500, maxval=500)
// Calculate Bollinger Bands
bb_basis = ta.sma(bb_src, bb_length)
bb_dev = bb_mult * ta.stdev(bb_src, bb_length)
bb_upper = bb_basis + bb_dev
bb_lower = bb_basis - bb_dev
// Plot Bollinger Bands
plot(bb_basis, "BB Basis", color=color.blue, offset=bb_offset)
p1 = plot(bb_upper, "BB Upper", color=color.red, offset=bb_offset)
p2 = plot(bb_lower, "BB Lower", color=color.green, offset=bb_offset)
fill(p1, p2, title="BB Background", color=color.rgb(33, 150, 243, 95))
// Calculate EMA
ema_value = ta.ema(ema_src, ema_period)
// Plot EMA
plot(ema_value, title="EMA", color=color.orange, offset=ema_offset)
// Strategy Conditions
long_condition = ta.crossover(close, ema_value) and close > bb_upper
short_condition = ta.crossunder(close, ema_value) and close < bb_lower
// Define Stop Loss and Take Profit Levels
stop_loss_pct = input.float(0.5, title="Stop Loss (%)")
take_profit_pct = input.float(1.0, title="Take Profit (%)")
stop_loss_level_long = close * (1 - stop_loss_pct / 100)
take_profit_level_long = close * (1 + take_profit_pct / 100)
stop_loss_level_short = close * (1 + stop_loss_pct / 100)
take_profit_level_short = close * (1 - take_profit_pct / 100)
// Calculate Position Size Based on Risk Per Trade
risk_per_trade = input.float(1.0, title="Risk Per Trade (%)")
capital_at_risk = strategy.equity * risk_per_trade / 100
risk_per_unit_long = math.abs(close - stop_loss_level_long)
risk_per_unit_short = math.abs(close - stop_loss_level_short)
position_size_long = capital_at_risk / risk_per_unit_long
position_size_short = capital_at_risk / risk_per_unit_short
// Enter Long and Short Trades
if long_condition
strategy.entry("Long", strategy.long, qty=position_size_long)
strategy.exit("Take Profit", "Long", limit=take_profit_level_long)
strategy.exit("Stop Loss", "Long", stop=stop_loss_level_long)
if short_condition
strategy.entry("Short", strategy.short, qty=position_size_short)
strategy.exit("Take Profit", "Short", limit=take_profit_level_short)
strategy.exit("Stop Loss", "Short", stop=stop_loss_level_short)