
یہ حکمت عملی ایک رجحان سے باخبر رہنے والی متحرک تجارتی نظام ہے جس میں متعدد تکنیکی اشارے شامل ہیں۔ یہ بنیادی طور پر 200 دن کی متحرک اوسط ((MA200) کے ذریعہ بڑے رجحان کی سمت کا تعین کرتا ہے ، 50 دن کی انڈیکس کی متحرک اوسط ((EMA50) کا استعمال کرتے ہوئے واپسی کے مواقع کی نشاندہی کرتا ہے ، اور نسبتا strong مضبوط اشارے ((RSI) اور متحرک اوسط رجحانات کی مختلف حالتوں ((MACD) کے ساتھ ایک کراس سگنل کے ساتھ مل کر موقع کی نشاندہی کرتا ہے۔ حکمت عملی میں خطرے کے کنٹرول کا طریقہ کار بھی شامل ہے ، جو منافع کو روکنے کے لئے خطرے کے منافع کے تناسب اور ٹریکنگ کے ذریعہ تحفظ فراہم کرتا ہے۔
حکمت عملی کا بنیادی منطق تجارت کی درستگی کو بہتر بنانے کے لئے ایک کثیر پرت فلٹرنگ میکانزم کا استعمال کرنا ہے۔ سب سے پہلے ، مارکیٹ کے مرکزی رجحان کو ایم اے 200 کے ذریعہ طے کیا جاتا ہے ، جب قیمت ایم اے 200 سے اوپر ہوتی ہے تو اسے ایک کثیر رخا رجحان سمجھا جاتا ہے ، اور اس کے برعکس ، ایک ہوائی جہاز کا رجحان۔ رجحان کی سمت طے کرنے کے بعد ، حکمت عملی ای ایم اے 50 کے قریب واپسی کے مواقع کی تلاش کرتی ہے ، جس سے یہ مطالبہ ہوتا ہے کہ قیمت حالیہ 5 ادوار میں ای ایم اے 50 کو چھوئے۔
اس حکمت عملی نے متعدد تکنیکی اشارے کے مربوط استعمال کے ذریعہ ایک مکمل رجحان ٹریکنگ ٹریڈنگ سسٹم تشکیل دیا۔ اس حکمت عملی کا فائدہ یہ ہے کہ متعدد سگنل کی تصدیق سے تجارت کی وشوسنییتا میں اضافہ ہوتا ہے ، جبکہ رسک کنٹرول میکانزم اس حکمت عملی کو اچھی طرح سے تحفظ فراہم کرتا ہے۔ اگرچہ کچھ موروثی خطرات موجود ہیں ، لیکن تجویز کردہ اصلاح کی سمت سے اس حکمت عملی کی کارکردگی کو مزید بہتر بنایا جاسکتا ہے۔ مجموعی طور پر ، یہ ایک منطقی طور پر سخت ، عملی طور پر مضبوط مقدار کی تجارت کی حکمت عملی ہے۔
/*backtest
start: 2024-02-21 00:00:00
end: 2024-08-10 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Trend-Following Momentum Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=2)
// PARAMETERS
lengthMA200 = input(200, title="200-day MA Length")
lengthEMA50 = input(50, title="50-day EMA Length")
rsiLength = input(14, title="RSI Length")
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalLength = input(9, title="MACD Signal Length")
riskRewardRatio = input(1.5, title="Risk-Reward Ratio")
useTrailingStop = input(true, title="Use Trailing Stop?")
trailingPercent = input(1.0, title="Trailing Stop (%)") / 100
// INDICATORS
ma200 = ta.sma(close, lengthMA200) // 200-day MA
ema50 = ta.ema(close, lengthEMA50) // 50-day EMA
rsi = ta.rsi(close, rsiLength) // RSI
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
// TREND CONDITIONS
bullishTrend = close > ma200
bearishTrend = close < ma200
// PULLBACK CONDITION
recentPullbackLong = ta.barssince(close < ema50) < 5 // Price touched EMA50 in last 5 bars
recentPullbackShort = ta.barssince(close > ema50) < 5 // Price touched EMA50 in last 5 bars
// ENTRY CONDITIONS
longEntry = bullishTrend and ta.crossover(macdLine, signalLine) and rsi > 50 and recentPullbackLong
shortEntry = bearishTrend and ta.crossunder(macdLine, signalLine) and rsi < 50 and recentPullbackShort
// EXECUTE TRADES
if longEntry
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", limit=close * (1 + riskRewardRatio), stop=close * (1 - (1 / (1 + riskRewardRatio))), trail_price=useTrailingStop ? close * (1 - trailingPercent) : na)
if shortEntry
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", limit=close * (1 - riskRewardRatio), stop=close * (1 + (1 / (1 + riskRewardRatio))), trail_price=useTrailingStop ? close * (1 + trailingPercent) : na)
// PLOT INDICATORS
plot(ma200, title="200-day MA", color=color.blue, linewidth=2)
plot(ema50, title="50-day EMA", color=color.orange, linewidth=2)