
یہ حکمت عملی ایک رجحان ٹریڈنگ سسٹم ہے جس میں ایک سے زیادہ ٹائم فریم تجزیہ شامل ہے ، جس میں 15 منٹ کے ٹائم فریم پر ٹریڈنگ کی جاتی ہے ، جس میں متعدد تکنیکی اشارے جیسے انڈیکس منتقل اوسط ((EMA) ، اوسط ٹرینڈ انڈیکس ((ADX) ، اور نسبتا strong مضبوط انڈیکس ((RSI) شامل ہیں۔ حکمت عملی میں پوزیشن مینجمنٹ کا ایک محتاط طریقہ استعمال کیا جاتا ہے ، جس میں ہر تجارت کا خطرہ اکاؤنٹ کی کل رقم کے 2٪ کے اندر کنٹرول کیا جاتا ہے تاکہ طویل مدتی مستحکم منافع حاصل کیا جاسکے۔
حکمت عملی رجحان کی سمت کی نشاندہی کرنے کے لئے تیز رفتار EMA ((50 سائیکل) اور سست رفتار EMA ((200 سائیکل) کا ایک کراس استعمال کرتی ہے اور رجحان کی طاقت کی تصدیق کے لئے ADX اشارے کے ساتھ مل کر کرتی ہے۔ جب ADX کی تعداد 25 سے زیادہ ہوتی ہے تو ، اس سے ظاہر ہوتا ہے کہ مارکیٹ ایک مضبوط رجحان کی حالت میں ہے۔ آر ایس آئی اشارے کو اوورلوڈ اور اوور سیل کی شناخت کے لئے استعمال کیا جاتا ہے ، آر ایس آئی 70 تک پہنچنے پر اوورلوڈ اور آر ایس آئی 30 تک پہنچنے پر اوورلوڈ۔ اس کے علاوہ ، حکمت عملی نے 4 گھنٹے کے وقت کے فریم میں ای ایم اے اشارے کو اعلی سطح کی رجحان کی تصدیق کے طور پر متعارف کرایا ہے تاکہ تجارت کی درستگی کو بہتر بنایا جاسکے۔
اس حکمت عملی نے کثیر جہتی تکنیکی تجزیہ کے طریقوں اور سخت خطرے کے کنٹرول کے ذریعہ تجارت کے اچھے امکانات کا مظاہرہ کیا ہے۔ اگرچہ اس نے بیک اپ میں مستحکم کارکردگی کا مظاہرہ کیا ہے ، لیکن اس کو ابھی بھی ریئل اسٹیٹ ماحول میں اچھی طرح سے تصدیق کرنے کی ضرورت ہے۔ حکمت عملی کا ماڈیولر ڈیزائن اس کو مضبوط موافقت اور اصلاح کی گنجائش دیتا ہے ، جس میں مارکیٹ میں ہونے والی تبدیلیوں کے مطابق لچکدار ایڈجسٹمنٹ کی جاسکتی ہے۔
/*backtest
start: 2024-02-20 00:00:00
end: 2025-02-18 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("DOGE Enhanced Trend Following Strategy",
overlay=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=5,
commission_value=0.1,
slippage=2)
// === INPUT PARAMETERS ===
emaFastLength = input(50, title="Fast EMA Length")
emaSlowLength = input(200, title="Slow EMA Length")
adxLength = input.int(14, title="ADX Length")
adxSmoothing = input.int(14, title="ADX Smoothing Factor")
adxThreshold = input.float(25, title="ADX Trend Strength Threshold")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.float(70, title="RSI Overbought Level")
rsiOversold = input.float(30, title="RSI Oversold Level")
takeProfitMultiplier = input.float(1.03, title="Take Profit Multiplier", tooltip="Set a dynamic take profit level, e.g., 1.03 = 3% profit")
stopLossMultiplier = input.float(0.97, title="Stop Loss Multiplier", tooltip="Set stop loss level, e.g., 0.97 = 3% below entry price")
// === INDICATOR CALCULATIONS ===
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
[dip, dim, adxValue] = ta.dmi(adxLength, adxSmoothing)
rsiValue = ta.rsi(close, rsiLength)
// === MULTI-TIMEFRAME CONFIRMATION ===
emaFastHTF = request.security(syminfo.tickerid, "240", ta.ema(close, emaFastLength))
emaSlowHTF = request.security(syminfo.tickerid, "240", ta.ema(close, emaSlowLength))
// === CONDITIONS FOR TRADE ENTRY ===
bullishTrend = ta.crossover(emaFast, emaSlow) and adxValue > adxThreshold and rsiValue > rsiOversold
bearishTrend = ta.crossunder(emaFast, emaSlow) and adxValue > adxThreshold and rsiValue < rsiOverbought
// === TRADE EXECUTION ===
if (bullishTrend)
strategy.entry("Long", strategy.long)
strategy.exit("TakeProfit_Long", from_entry="Long", limit=close * takeProfitMultiplier, stop=close * stopLossMultiplier)
if (bearishTrend)
strategy.entry("Short", strategy.short)
strategy.exit("TakeProfit_Short", from_entry="Short", limit=close * (2 - takeProfitMultiplier), stop=close * (2 - stopLossMultiplier))
// === VISUAL INDICATORS AND PLOTTING ===
plot(emaFast, color=color.blue, linewidth=2, title="Fast EMA")
plot(emaSlow, color=color.red, linewidth=2, title="Slow EMA")
hline(adxThreshold, "ADX Threshold", color=color.gray, linestyle=hline.style_dotted)
bgcolor(bullishTrend ? color.new(color.green, 85) : bearishTrend ? color.new(color.red, 85) : na)
// === ALERTS ===
alertcondition(bullishTrend, title="Buy Signal", message="Bullish trend detected. Consider entering a long position.")
alertcondition(bearishTrend, title="Sell Signal", message="Bearish trend detected. Consider entering a short position.")
// === STRATEGY SETTINGS FOR REALISTIC TESTING ===
strategy.close("Long", when=rsiValue > rsiOverbought, comment="Exit Long on RSI Overbought")
strategy.close("Short", when=rsiValue < rsiOversold, comment="Exit Short on RSI Oversold")