
یہ ایک متحرک اور رجحان سازی ٹریڈنگ حکمت عملی ہے جس میں مارکیٹ کی رجحانات اور متحرکات کو متعدد اشارے کے ذریعہ شناخت کیا جاتا ہے۔ متحرک اوسط (ای ایم اے) ، نسبتا strong مضبوط اشارے (آر ایس آئی) اور بے ترتیب اشارے (اسٹوکاسٹک) ۔ اس حکمت عملی میں خطرے پر مبنی پوزیشن مینجمنٹ کا ایک مجموعہ بھی شامل ہے جس میں اوسط حقیقی طول و عرض (اے ٹی آر) پر مبنی خطرہ مینجمنٹ سسٹم شامل ہے ، جس میں متحرک رکاوٹ ، منافع بخش اہداف اور ٹریکنگ اسٹاپ نقصان کی خصوصیات شامل ہیں ، جبکہ خطرے پر مبنی پوزیشن مینجمنٹ کا طریقہ کار بھی اپنایا گیا ہے۔
حکمت عملی 5 مختلف ادوار کے EMAs کا استعمال کرتی ہے ((8، 13، 21، 34، 55) رجحان کی سمت کا تعین کرنے کے لئے۔ جب مختصر مدت کا EMA طویل مدت کے EMA کے اوپر ہوتا ہے تو ، اسے اوپر کی طرف رجحان کے طور پر پہچانا جاتا ہے۔ اس کے برعکس ، یہ ایک نیچے کی طرف رجحان ہے۔ آر ایس آئی کو طاقت کی تصدیق کے لئے استعمال کیا جاتا ہے ، اور مختلف انٹری اور آؤٹ پٹ کی حدیں طے کی جاتی ہیں۔ بے ترتیب اشارے تیسرے بار فلٹر کے طور پر کام کرتے ہیں ، جو زیادہ خرید و فروخت سے بچنے میں مدد کرتے ہیں۔ خطرے کے انتظام کے نظام میں اے ٹی آر کا استعمال متحرک اسٹاپ نقصانات (دو گنا اے ٹی آر) اور منافع بخش اہداف (چار گنا اے ٹی آر) کے لئے کیا جاتا ہے ، اور منافع کو روکنے کے لئے 1.5 گنا اے ٹی آر کا استعمال کیا جاتا ہے۔
اس حکمت عملی میں متعدد تکنیکی اشارے اور ایک بہتر خطرے کے انتظام کے نظام کو ملا کر ایک جامع تجارتی حل فراہم کیا گیا ہے۔ اس کی بنیادی طاقت کثیر پرت فلٹرنگ میکانزم اور متحرک خطرے کے انتظام میں ہے ، لیکن پھر بھی اس کو مارکیٹ کی مخصوص خصوصیات کے مطابق بہتر بنانے کی ضرورت ہے۔ اس حکمت عملی کے کامیاب نفاذ کے لئے مستقل نگرانی اور موافقت کی ضرورت ہے ، خاص طور پر مختلف مارکیٹ کے ماحول میں پیرامیٹرز کی موافقت۔ تجویز کردہ اصلاح کی سمت کے ذریعہ ، اس حکمت عملی میں اس کی استحکام اور منافع کو مزید بڑھانے کی صلاحیت ہے۔
/*backtest
start: 2024-11-04 00:00:00
end: 2024-12-04 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Combined Strategy (Modernized)", overlay = true)
//----------//
// MOMENTUM //
//----------//
ema8 = ta.ema(close, 8)
ema13 = ta.ema(close, 13)
ema21 = ta.ema(close, 21)
ema34 = ta.ema(close, 34)
ema55 = ta.ema(close, 55)
// Plotting EMAs for visualization
plot(ema8, color=color.red, title="EMA 8", linewidth=1)
plot(ema13, color=color.orange, title="EMA 13", linewidth=1)
plot(ema21, color=color.yellow, title="EMA 21", linewidth=1)
plot(ema34, color=color.aqua, title="EMA 34", linewidth=1)
plot(ema55, color=color.lime, title="EMA 55", linewidth=1)
longEmaCondition = ema8 > ema13 and ema13 > ema21 and ema21 > ema34 and ema34 > ema55
exitLongEmaCondition = ema13 < ema55
shortEmaCondition = ema8 < ema13 and ema13 < ema21 and ema21 < ema34 and ema34 < ema55
exitShortEmaCondition = ema13 > ema55
// ---------- //
// OSCILLATORS //
// ----------- //
rsi = ta.rsi(close, 14)
longRsiCondition = rsi < 70 and rsi > 40
exitLongRsiCondition = rsi > 70
shortRsiCondition = rsi > 30 and rsi < 60
exitShortRsiCondition = rsi < 30
// Stochastic
k = ta.stoch(close, high, low, 14)
d = ta.sma(k, 3)
longStochasticCondition = k < 80
exitLongStochasticCondition = k > 95
shortStochasticCondition = k > 20
exitShortStochasticCondition = k < 5
//----------//
// STRATEGY //
//----------//
// ATR for dynamic stop loss and take profit
atr = ta.atr(14)
stopLossMultiplier = 2
takeProfitMultiplier = 4
stopLoss = atr * stopLossMultiplier
takeProfit = atr * takeProfitMultiplier
// Trailing stop settings
trailStopMultiplier = 1.5
trailOffset = atr * trailStopMultiplier
// Risk management: dynamic position sizing
riskPerTrade = 0.01 // 1% risk per trade
positionSize = strategy.equity * riskPerTrade / stopLoss
longCondition = longEmaCondition and longRsiCondition and longStochasticCondition and strategy.position_size == 0
exitLongCondition = (exitLongEmaCondition or exitLongRsiCondition or exitLongStochasticCondition) and strategy.position_size > 0
if (longCondition)
strategy.entry("LONG", strategy.long, qty=positionSize)
strategy.exit("Take Profit Long", "LONG", stop=close - stopLoss, limit=close + takeProfit, trail_offset=trailOffset)
if (exitLongCondition)
strategy.close("LONG")
shortCondition = shortEmaCondition and shortRsiCondition and shortStochasticCondition and strategy.position_size == 0
exitShortCondition = (exitShortEmaCondition or exitShortRsiCondition or exitShortStochasticCondition) and strategy.position_size < 0
if (shortCondition)
strategy.entry("SHORT", strategy.short, qty=positionSize)
strategy.exit("Take Profit Short", "SHORT", stop=close + stopLoss, limit=close - takeProfit, trail_offset=trailOffset)
if (exitShortCondition)
strategy.close("SHORT")