وسائل لوڈ ہو رہے ہیں... لوڈنگ...

کثیر ہموار حرکت پذیر اوسط متحرک کراس اوور رجحان متعدد تصدیق کے ساتھ حکمت عملی کے بعد

مصنف:چاؤ ژانگ، تاریخ: 2025-01-17 15:53:16
ٹیگز:ایم اےای ایم اےآر ایس آئیاے ٹی آرایس ایم اےآر ایم اےڈبلیو ایم اےSLٹی پی

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

جائزہ

یہ حکمت عملی متعدد ہموار چلتی اوسطوں پر مبنی رجحان پر عمل کرنے والا نظام ہے ، جس میں مارکیٹ کے شور کو فلٹر کرنے کے لئے ٹرپل ہموار کا استعمال کیا جاتا ہے جبکہ تجارتی سگنلز کی تصدیق کے لئے آر ایس آئی رفتار اشارے ، اے ٹی آر اتار چڑھاؤ اشارے ، اور 200 پیریڈ ای ایم اے رجحان فلٹر کو جوڑتا ہے۔ یہ حکمت عملی 1 گھنٹے کے ٹائم فریم پر کام کرتی ہے ، جو تجارتی تعدد اور رجحان کی وشوسنییتا کو مؤثر طریقے سے متوازن کرتی ہے جبکہ ادارہ جاتی تجارتی طرز عمل کے ساتھ سیدھ میں آتی ہے۔

حکمت عملی کے اصول

اس حکمت عملی کا بنیادی مقصد قیمتوں کی تین گنا ہموار کرنے کے ذریعے ایک اہم رجحان لائن بنانا ہے اور مختصر مدت کی سگنل لائن کے ساتھ کراس اوورز کے ذریعے تجارتی سگنل تیار کرنا ہے۔ تجارتی سگنل کو بیک وقت درج ذیل شرائط کو پورا کرنا چاہئے: 200EMA کے حوالے سے قیمت کی پوزیشن اہم رجحان کی سمت کی تصدیق کرتی ہے RSI اشارے کی پوزیشن رفتار کی تصدیق کرتی ہے اے ٹی آر اشارے کافی اتار چڑھاؤ کی تصدیق کرتا ہے ٹرپل ہموار ایم اے کے ساتھ سگنل لائن کراس اوور مخصوص اندراج پوائنٹس کی تصدیق کرتا ہے اسٹاپ نقصان اے ٹی آر پر مبنی متحرک اسٹاپ کا استعمال کرتا ہے ، جبکہ فائدہ اٹھانے کے لئے 2x اے ٹی آر پر مقرر کیا جاتا ہے تاکہ سازگار رسک - انعام تناسب کو یقینی بنایا جاسکے۔

حکمت عملی کے فوائد

  1. ٹرپل ہموار کرنے سے غلط سگنل نمایاں طور پر کم ہوتے ہیں اور رجحان کی تشخیص کی وشوسنییتا میں اضافہ ہوتا ہے
  2. متعدد توثیقی میکانزم تجارت کی سمت کو اہم رجحانات کے مطابق یقینی بناتے ہیں
  3. متحرک سٹاپ نقصان اور منافع لینے کی ترتیبات مختلف مارکیٹ اتار چڑھاؤ کے ماحول کو اپنانے
  4. 1 گھنٹے کے وقت کے فریم پر حکمت عملی آپریشن مؤثر طریقے سے کم وقت کے فریم میں اتار چڑھاؤ سے بچتا ہے
  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")


متعلقہ

مزید