
এই কৌশলটি একটি মাল্টি-লেভেল মুভিং এভারেজ (SMA) ভিত্তিক ট্রেন্ড ট্র্যাকিং সিস্টেম, যা সুনির্দিষ্ট ব্রেকডাউন ক্রস-ডেটিং প্রযুক্তির সাথে মিলিত। এটি 20, 50, 100 এবং 200 পিরিয়ডের মুভিং এভারেজের স্তরবিন্যাস দ্বারা বাজার প্রবণতা নির্ধারণ করে এবং মুভিং এভারেজের সাথে রিয়েল-টাইম দামের ক্রস ব্যবহার করে ট্রেডিং সিগন্যাল ট্রিগার করে। কৌশলটি বিভিন্ন সময় অঞ্চল এবং ট্রেডিংয়ের সময়কে পুরোপুরি বিবেচনা করে ডিজাইন করা হয়েছে এবং বিভিন্ন সময়কালের চার্টগুলিতে কাজ করতে সক্ষম।
কৌশলটি একটি ত্রি-স্তরীয় প্রবণতা ফিল্টারিং প্রক্রিয়া ব্যবহার করে, যার জন্য 50 পিরিয়ডের গড় 100 পিরিয়ডের গড়ের উপরে এবং 100 পিরিয়ডের গড় 200 পিরিয়ডের গড়ের উপরে থাকে যা উত্থানের প্রবণতা নিশ্চিত করে এবং বিপরীতভাবে, নিম্নমুখী প্রবণতা নিশ্চিত করে। প্রবেশের সংকেতটি 50 পিরিয়ডের গড়ের সাথে মূল্যের ক্রস-ভিত্তিক, কয়েন ডেটা ব্যবহার করে সঠিক ক্রস-পরিদর্শন করা হয়, বর্তমান মূল্যের আচরণের সাথে পূর্ববর্তী কে লাইনের অবস্থানের সম্পর্কের তুলনা করে ক্রস-এর সময় নির্ধারণ করা হয়। প্রস্থান সংকেতটি 20 পিরিয়ডের গড়ের সাথে দামের সম্পর্কের দ্বারা নির্ধারিত হয়, যখন দাম 20 পিরিয়ডের গড়ের সময়রেখা অতিক্রম করে তখন সমতল পজিশনের সংকেত ট্রিগার করে।
এটি একটি কাঠামোগত, যুক্তিসঙ্গতভাবে সুস্পষ্ট প্রবণতা ট্র্যাকিং কৌশল, যা একাধিক স্তরের চলমান গড়ের সমন্বিত ব্যবহারের মাধ্যমে সংকেতের নির্ভরযোগ্যতা নিশ্চিত করে এবং প্রবণতা কার্যকরভাবে অনুসরণ করে। কৌশলটি ব্যবহারিকতা এবং সর্বজনীনতা সম্পর্কে পুরোপুরি বিবেচনা করে ডিজাইন করা হয়েছে, যা বিভিন্ন বাজারের পরিবেশে ব্যবহারের জন্য উপযুক্ত। আরও অপ্টিমাইজেশন এবং পরিমার্জনের মাধ্যমে, কৌশলটি বাস্তব ব্যবসায়ের ক্ষেত্রে আরও ভাল পারফরম্যান্সের প্রত্যাশা করে।
/*backtest
start: 2024-02-22 00:00:00
end: 2024-06-25 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Multi-SMA Strategy - Core Signals", overlay=true)
// ———— Universal Inputs ———— //
int smaPeriod1 = input(20, "Fast SMA")
int smaPeriod2 = input(50, "Medium SMA")
bool useTickCross = input(true, "Use Tick-Precise Crosses")
// ———— Timezone-Neutral Calculations ———— //
sma20 = ta.sma(close, smaPeriod1)
sma50 = ta.sma(close, smaPeriod2)
sma100 = ta.sma(close, 100)
sma200 = ta.sma(close, 200)
// ———— Tick-Precise Cross Detection ———— //
golden_cross = useTickCross ?
(high >= sma50 and low[1] < sma50[1]) :
ta.crossover(sma20, sma50)
death_cross = useTickCross ?
(low <= sma50 and high[1] > sma50[1]) :
ta.crossunder(sma20, sma50)
// ———— Trend Filter ———— //
uptrend = sma50 > sma100 and sma100 > sma200
downtrend = sma50 < sma100 and sma100 < sma200
// ———— Entry Conditions ———— //
longCondition = golden_cross and uptrend
shortCondition = death_cross and downtrend
// ———— Exit Conditions ———— //
exitLong = ta.crossunder(low, sma20)
exitShort = ta.crossover(high, sma20)
// ———— Strategy Execution ———— //
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Long", when=exitLong)
strategy.close("Short", when=exitShort)
// ———— Clean Visualization ———— //
plot(sma20, "20 SMA", color.new(color.blue, 0))
plot(sma50, "50 SMA", color.new(color.red, 0))
plot(sma100, "100 SMA", color.new(#B000B0, 0), linewidth=2)
plot(sma200, "200 SMA", color.new(color.green, 0), linewidth=2)
// ———— Signal Markers ———— //
plotshape(longCondition, "Long Entry", shape.triangleup, location.belowbar, color.green, 0)
plotshape(shortCondition, "Short Entry", shape.triangledown, location.abovebar, color.red, 0)
plotshape(exitLong, "Long Exit", shape.xcross, location.abovebar, color.blue, 0)
plotshape(exitShort, "Short Exit", shape.xcross, location.belowbar, color.orange, 0)