
এই কৌশলটি এক্সপোনেনশিয়াল মুভিং এভারেজ (EMA) ক্রসওভারের উপর ভিত্তি করে একটি ট্রেডিং সিস্টেম, যা গতিশীল ঝুঁকি ব্যবস্থাপনা অর্জনের জন্য গড় ট্রু রেঞ্জ (ATR) এর সাথে মিলিত হয়। কৌশলটি দুটি EMA লাইন ব্যবহার করে, স্বল্প-মেয়াদী এবং দীর্ঘমেয়াদী, দামের প্রবণতার গতির পরিবর্তনগুলি ক্যাপচার করতে, এবং ট্রেডিং ঝুঁকির সুনির্দিষ্ট নিয়ন্ত্রণ অর্জনের জন্য গতিশীলভাবে টেক-প্রফিট এবং স্টপ-লস পজিশন সেট করতে ATR ব্যবহার করে।
কৌশলটির মূল যুক্তি বিভিন্ন সময়ের (৯ এবং ২১) দুটি সূচকীয় চলমান গড়ের ক্রসওভার সংকেতের উপর ভিত্তি করে। যখন স্বল্পমেয়াদী EMA দীর্ঘমেয়াদী EMA কে ঊর্ধ্বমুখী অতিক্রম করে, তখন একটি দীর্ঘ সংকেত উৎপন্ন হয়; যখন স্বল্পমেয়াদী EMA দীর্ঘমেয়াদী EMA কে নিম্নমুখী অতিক্রম করে, তখন একটি সংক্ষিপ্ত সংকেত উৎপন্ন হয়। ঝুঁকিগুলি আরও ভালভাবে পরিচালনা করার জন্য, কৌশলটি ১৪-পিরিয়ড ATR-এর উপর ভিত্তি করে একটি গতিশীল স্টপ-প্রফিট এবং স্টপ-লস প্রক্রিয়া প্রবর্তন করে। টেক-প্রফিট স্তরটি ATR-এর ২ গুণ এবং স্টপ-লস স্তরটি ১ গুণ নির্ধারণ করা হয়েছে। ATR। এই সেটিং পর্যাপ্ত লাভের স্থান নিশ্চিত করে। , এবং সময়মতো ঝুঁকি নিয়ন্ত্রণ করতে পারে।
এই কৌশলটি ক্লাসিক EMA ক্রসওভার সিস্টেম এবং গতিশীল ATR ঝুঁকি ব্যবস্থাপনার সমন্বয় করে একটি অপেক্ষাকৃত সম্পূর্ণ ট্রেডিং সিস্টেম অর্জন করে। কৌশলটির প্রধান সুবিধা হল এর গতিশীল ঝুঁকি ব্যবস্থাপনার ক্ষমতা এবং ভালো প্রবণতা অনুসরণ করা বৈশিষ্ট্য। প্রস্তাবিত অপ্টিমাইজেশান দিকনির্দেশের মাধ্যমে কৌশলটির আরও উন্নতির জন্য জায়গা রয়েছে। বাস্তব বাজারে আবেদন করার সময়, পর্যাপ্ত ব্যাকটেস্টিং এবং প্যারামিটার অপ্টিমাইজেশান পরিচালনা করার এবং নির্দিষ্ট বাজারের বৈশিষ্ট্য অনুযায়ী উপযুক্ত সমন্বয় করার পরামর্শ দেওয়া হয়।
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Improved EMA Crossover Strategy", overlay=true)
// User-defined inputs for EMAs
shortTermLength = input(9, title="Short-Term EMA Length")
longTermLength = input(21, title="Long-Term EMA Length")
// Dynamic Take Profit and Stop Loss
atrLength = input(14, title="ATR Length")
atrMultiplierTP = input(2.0, title="ATR Multiplier for Take Profit")
atrMultiplierSL = input(1.0, title="ATR Multiplier for Stop Loss")
// Calculate EMAs and ATR
shortTermEMA = ta.ema(close, shortTermLength)
longTermEMA = ta.ema(close, longTermLength)
atr = ta.atr(atrLength)
// Plot the EMAs
plot(shortTermEMA, color=color.blue, title="Short-Term EMA")
plot(longTermEMA, color=color.red, title="Long-Term EMA")
// Generate Entry Conditions
longCondition = ta.crossover(shortTermEMA, longTermEMA)
shortCondition = ta.crossunder(shortTermEMA, longTermEMA)
// Optional Debugging: Print conditions (you can remove this later)
var label longLabel = na
var label shortLabel = na
if longCondition
longLabel := label.new(bar_index, high, "Buy Signal", color=color.green, style=label.style_label_down, textcolor=color.white)
if shortCondition
shortLabel := label.new(bar_index, low, "Sell Signal", color=color.red, style=label.style_label_up, textcolor=color.white)
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", limit=close + atr * atrMultiplierTP, stop=close - atr * atrMultiplierSL)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", limit=close - atr * atrMultiplierTP, stop=close + atr * atrMultiplierSL)