
এই কৌশলটি একাধিক মুভিং এভারেজ (SMA) ক্রসওভার সিগন্যালের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং সিস্টেম। এটি ব্যাপকভাবে 20, 50 এবং 200 তারিখে বিভিন্ন সময়ের তিনটি সরল চলমান গড় ব্যবহার করে চলমান গড় ক্রসওভার সংকেত এবং মূল্য অবস্থান সম্পর্কগুলি ক্যাপচার করে বাজারের প্রবণতা পরিবর্তন এবং সম্ভাব্য ট্রেডিং সুযোগগুলি সনাক্ত করতে। এই কৌশলটি শুধুমাত্র স্বল্প-মেয়াদী এবং মধ্য-মেয়াদী চলমান গড়গুলির ক্রস সংকেত বিবেচনা করে না, তবে দীর্ঘমেয়াদী চলমান গড়কে ট্রেন্ড ফিল্টার হিসাবে ব্যবহার করে, কার্যকরভাবে লেনদেনের গুণমানকে উন্নত করে।
কৌশলটির মূল যুক্তি নিম্নলিখিত মূল উপাদানগুলির উপর ভিত্তি করে:
এটি সম্পূর্ণ কাঠামো এবং স্পষ্ট যুক্তি সহ একটি মাল্টিপল মুভিং এভারেজ ট্রেডিং কৌশল। বিস্তৃতভাবে বিভিন্ন সময়ের চলমান গড় ব্যবহার করে এবং মূল্য অবস্থানের সম্পর্কগুলিকে একত্রিত করে, কৌশলটি বাজারের প্রবণতাগুলির পরিবর্তনগুলিকে আরও ভালভাবে ক্যাপচার করতে পারে। যদিও হিস্টেরেসিস এবং বাজারের শক ঝুঁকির একটি নির্দিষ্ট মাত্রা রয়েছে, তবুও যুক্তিসঙ্গত প্যারামিটার সেটিংস এবং সিগন্যাল ফিল্টারিংয়ের মাধ্যমে কৌশলটির ভাল ব্যবহারিক মূল্য রয়েছে। ভবিষ্যতে, কৌশলটির স্থায়িত্ব এবং নির্ভরযোগ্যতা আরও প্রযুক্তিগত সূচকগুলি প্রবর্তন করে এবং সংকেত তৈরির প্রক্রিয়াটিকে অপ্টিমাইজ করে আরও উন্নত করা যেতে পারে।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA 20/50/200 Strateji", overlay=true)
// SMA Periyotlarını, renklerini ve çizgi kalınlıklarını özelleştirme
sma20_period = input.int(20, title="SMA 20 Periyodu", minval=1)
sma50_period = input.int(50, title="SMA 50 Periyodu", minval=1)
sma200_period = input.int(200, title="SMA 200 Periyodu", minval=1)
sma20_color = input.color(color.blue, title="SMA 20 Rengi")
sma50_color = input.color(color.orange, title="SMA 50 Rengi")
sma200_color = input.color(color.red, title="SMA 200 Rengi")
sma20_width = input.int(2, title="SMA 20 Kalınlığı", minval=1, maxval=5)
sma50_width = input.int(2, title="SMA 50 Kalınlığı", minval=1, maxval=5)
sma200_width = input.int(2, title="SMA 200 Kalınlığı", minval=1, maxval=5)
// SMA Hesaplamaları
sma20 = ta.sma(close, sma20_period)
sma50 = ta.sma(close, sma50_period)
sma200 = ta.sma(close, sma200_period)
// Al ve Sat Koşulları
buyCondition = ta.crossover(sma20, sma50) and close > sma200
sellCondition = ta.crossunder(sma20, sma50) and close < sma200
buyCondition_50_200 = ta.crossover(sma50, sma200)
sellCondition_50_200 = ta.crossunder(sma50, sma200)
// Grafik üzerine SMA çizimleri
plot(sma20, color=sma20_color, linewidth=sma20_width, title="SMA 20")
plot(sma50, color=sma50_color, linewidth=sma50_width, title="SMA 50")
plot(sma200, color=sma200_color, linewidth=sma200_width, title="SMA 200")
// Al-Sat Stratejisi
if buyCondition
strategy.entry("Buy", strategy.long)
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.new(color.green, 0), textcolor=color.white)
if sellCondition
strategy.close("Buy")
label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.new(color.red, 0), textcolor=color.white)
if buyCondition_50_200
label.new(bar_index, low, "50/200 BUY", style=label.style_label_up, color=color.new(color.blue, 0), textcolor=color.white)
if sellCondition_50_200
label.new(bar_index, high, "50/200 SELL", style=label.style_label_down, color=color.new(color.orange, 0), textcolor=color.white)
// Performans Görselleştirmesi İçin Arka Plan Rengi
bgColor = buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na
bgcolor(bgColor)