রিসোর্স লোড হচ্ছে... লোডিং...

মাল্টি-স্মথড মুভিং এভারেজ ডায়নামিক ক্রসওভার ট্রেন্ড একাধিক নিশ্চিতকরণের কৌশল অনুসরণ করে

লেখক:চাওঝাং, তারিখ: ২০২৫-০১-১৭ ১৫ঃ৫৩ঃ১৬
ট্যাগঃএমএইএমএআরএসআইএটিআরএসএমএআরএমএডব্লিউএমএSLটিপি

 Multi-Smoothed Moving Average Dynamic Crossover Trend Following Strategy with Multiple Confirmations

সারসংক্ষেপ

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

কৌশলগত নীতি

কৌশলটির মূল বিষয় হ'ল দামের তিনগুণ মসৃণকরণের মাধ্যমে একটি প্রধান প্রবণতা লাইন তৈরি করা এবং স্বল্প-অবধি সংকেত লাইনের সাথে ক্রসওভারের মাধ্যমে ট্রেডিং সংকেত উত্পন্ন করা। ট্রেডিং সংকেতগুলিকে একই সাথে নিম্নলিখিত শর্তগুলি পূরণ করতে হবেঃ ১. ২০০ ইএমএ-র তুলনায় মূল্যের অবস্থান মূল প্রবণতার দিকনির্দেশ নিশ্চিত করে 2. আরএসআই সূচক অবস্থান গতি নিশ্চিত করে ৩. এটিআর সূচক পর্যাপ্ত অস্থিরতা নিশ্চিত করে 4. ত্রৈমাসিক মসৃণ এমএ সঙ্গে সংকেত লাইন ক্রসওভার নির্দিষ্ট প্রবেশ পয়েন্ট নিশ্চিত স্টপ-লস এটিআর ভিত্তিক গতিশীল স্টপ ব্যবহার করে, যখন ঝুঁকি-প্রতিদান অনুপাত নিশ্চিত করার জন্য লাভ গ্রহণ 2x ATR এ সেট করা হয়।

কৌশলগত সুবিধা

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

কৌশলগত ঝুঁকি

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

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

  1. সহায়ক নিশ্চিতকরণ হিসাবে ভলিউম সূচক যোগ করতে পারেন
  2. অ্যাডাপ্টিভ প্যারামিটার অপ্টিমাইজেশান প্রক্রিয়া প্রবর্তন বিবেচনা করুন
  3. পরিমাণগত প্রবণতা শক্তি মূল্যায়ন যোগ করতে পারেন
  4. স্টপ-লস এবং টেক-প্রফিট মাল্টিপ্লাইকার সেটিংস অপ্টিমাইজ করুন
  5. ব্যাপ্তি বাজারের পারফরম্যান্স উন্নত করার জন্য দোলকের সূচক যোগ করার বিষয়টি বিবেচনা করুন

সংক্ষিপ্তসার

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


/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=6
strategy("Optimized Triple Smoothed MA Crossover Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)

// === Input Settings ===
slength = input.int(7, "Main Smoothing Length", group="Moving Average Settings")
siglen = input.int(12, "Signal Length", group="Moving Average Settings")
src = input.source(close, "Data Source", group="Moving Average Settings")
mat = input.string("EMA", "Triple Smoothed MA Type", ["EMA", "SMA", "RMA", "WMA"], group="Moving Average Settings")
mat1 = input.string("EMA", "Signal Type", ["EMA", "SMA", "RMA", "WMA"], group="Moving Average Settings")

// === Trend Confirmation (Higher Timeframe Filter) ===
useTrendFilter = input.bool(true, "Enable Trend Filter (200 EMA)", group="Trend Confirmation")
trendMA = ta.ema(close, 200)

// === Momentum Filter (RSI Confirmation) ===
useRSIFilter = input.bool(true, "Enable RSI Confirmation", group="Momentum Confirmation")
rsi = ta.rsi(close, 14)
rsiThreshold = input.int(50, "RSI Threshold", group="Momentum Confirmation")

// === Volatility Filter (ATR) ===
useATRFilter = input.bool(true, "Enable ATR Filter", group="Volatility Filtering")
atr = ta.atr(14)
atrMa = ta.sma(atr, 14)

// === Risk Management (ATR-Based Stop Loss) ===
useAdaptiveSL = input.bool(true, "Use ATR-Based Stop Loss", group="Risk Management")
atrMultiplier = input.float(1.5, "ATR Multiplier for SL", minval=0.5, maxval=5, group="Risk Management")
takeProfitMultiplier = input.float(2, "Take Profit Multiplier", group="Risk Management")

// === Moving Average Function ===
ma(source, length, MAtype) =>
    switch MAtype
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "RMA" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)

// === Triple Smoothed Calculation ===
tripleSmoothedMA = ma(ma(ma(src, slength, mat), slength, mat), slength, mat)
signalLine = ma(tripleSmoothedMA, siglen, mat1)

// === Crossovers (Entry Signals) ===
bullishCrossover = ta.crossunder(signalLine, tripleSmoothedMA)
bearishCrossover = ta.crossover(signalLine, tripleSmoothedMA)

// === Additional Confirmation Conditions ===
trendLongCondition = not useTrendFilter or (close > trendMA)  // Only long if price is above 200 EMA
trendShortCondition = not useTrendFilter or (close < trendMA) // Only short if price is below 200 EMA

rsiLongCondition = not useRSIFilter or (rsi > rsiThreshold)  // RSI above 50 for longs
rsiShortCondition = not useRSIFilter or (rsi < rsiThreshold) // RSI below 50 for shorts

atrCondition = not useATRFilter or (atr > atrMa)  // ATR must be above its MA for volatility confirmation

// === Final Trade Entry Conditions ===
longCondition = bullishCrossover and trendLongCondition and rsiLongCondition and atrCondition
shortCondition = bearishCrossover and trendShortCondition and rsiShortCondition and atrCondition

// === ATR-Based Stop Loss & Take Profit ===
longSL = close - (atr * atrMultiplier)
longTP = close + (atr * takeProfitMultiplier)

shortSL = close + (atr * atrMultiplier)
shortTP = close - (atr * takeProfitMultiplier)

// === Strategy Execution ===
if longCondition
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", from_entry="Long", stop=longSL, limit=longTP)

if shortCondition
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", from_entry="Short", stop=shortSL, limit=shortTP)

// === Plots ===
plot(tripleSmoothedMA, title="Triple Smoothed MA", color=color.blue)
plot(signalLine, title="Signal Line", color=color.red)
plot(trendMA, title="200 EMA", color=color.gray)

// === Alerts ===
alertcondition(longCondition, title="Bullish Signal", message="Triple Smoothed MA Bullish Crossover Confirmed")
alertcondition(shortCondition, title="Bearish Signal", message="Triple Smoothed MA Bearish Crossover Confirmed")


সম্পর্কিত

আরো