یہ حکمت عملی ایک مقداری تجارتی نظام ہے جو رواں اوسط کراس اوور کو رشتہ دار طاقت انڈیکس (آر ایس آئی) کے ساتھ جوڑتا ہے ، جس میں ٹریلنگ اسٹاپ نقصان کے فنکشن کے ساتھ مربوط ہے۔ حکمت عملی میں دو رواں اوسط - 9 مدت اور 21 مدت - کو بنیادی رجحان اشارے کے طور پر استعمال کیا جاتا ہے ، جس میں تجارتی سگنل کی تصدیق کے لئے آر ایس آئی کے ساتھ مل کر ، اور منافع کے تحفظ اور خطرے کے کنٹرول کے لئے متحرک ٹریلنگ اسٹاپ کو نافذ کیا جاتا ہے۔ حکمت عملی کے ڈیزائن میں مارکیٹ کے رجحانات ، رفتار اور رسک مینجمنٹ کے طول و عرض کو جامع طور پر مدنظر رکھا جاتا ہے تاکہ ایک مکمل تجارتی نظام تشکیل دیا جاسکے۔
حکمت عملی کا بنیادی منطق مندرجہ ذیل اہم عناصر پر مبنی ہے:
یہ حکمت عملی کلاسیکی تکنیکی تجزیہ اشارے کے ذریعہ رجحان کی پیروی اور رفتار کی خصوصیات کو جوڑنے والا تجارتی نظام تیار کرتی ہے۔ اس کی بنیادی طاقت کثیر جہتی سگنل کی تصدیق کے طریقہ کار اور جامع رسک مینجمنٹ سسٹم میں ہے۔ مسلسل اصلاح اور بہتری کے ذریعے ، حکمت عملی مختلف مارکیٹ کے ماحول میں مستحکم کارکردگی برقرار رکھنے کے لئے وعدہ کرتی ہے۔ تاجروں کو مشورہ دیا جاتا ہے کہ وہ رواں عمل درآمد سے پہلے مکمل بیک ٹیسٹنگ کریں اور مخصوص تجارتی آلہ کی خصوصیات کے مطابق پیرامیٹرز کو ایڈجسٹ کریں۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ojha's Intraday MA Crossover + RSI Strategy with Trailing Stop", overlay=true) // Define Moving Averages fastLength = 9 slowLength = 21 fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Define RSI rsiPeriod = 14 rsiValue = ta.rsi(close, rsiPeriod) // Define Conditions for Long and Short longCondition = ta.crossover(fastMA, slowMA) and rsiValue > 55 shortCondition = ta.crossunder(fastMA, slowMA) and rsiValue < 45 // Define the trailing stop distance (e.g., 1% trailing stop) trailingStopPercent = 1.0 // Variables to store the entry candle high and low var float longEntryLow = na var float shortEntryHigh = na // Variables for trailing stop levels var float longTrailingStop = na var float shortTrailingStop = na // Exit conditions exitLongCondition = rsiValue > 80 exitShortCondition = rsiValue < 22 // Stop-loss conditions (price drops below long entry candle low * 1% or exceeds short entry candle high * 1%) longStopLoss = longEntryLow > 0 and close < longEntryLow * 0.99 shortStopLoss = shortEntryHigh > 0 and close > shortEntryHigh * 1.01 // Execute Buy Order and store the entry candle low for long stop-loss if (longCondition) strategy.entry("Long", strategy.long) longEntryLow := low // Store the low of the candle where long entry happened longTrailingStop := close * (1 - trailingStopPercent / 100) // Initialize trailing stop at entry // Execute Sell Order and store the entry candle high for short stop-loss if (shortCondition) strategy.entry("Short", strategy.short) shortEntryHigh := high // Store the high of the candle where short entry happened shortTrailingStop := close * (1 + trailingStopPercent / 100) // Initialize trailing stop at entry // Update trailing stop for long position if (strategy.opentrades > 0 and strategy.position_size > 0) longTrailingStop := math.max(longTrailingStop, close * (1 - trailingStopPercent / 100)) // Update trailing stop as price moves up // Update trailing stop for short position if (strategy.opentrades > 0 and strategy.position_size < 0) shortTrailingStop := math.min(shortTrailingStop, close * (1 + trailingStopPercent / 100)) // Update trailing stop as price moves down // Exit Buy Position when RSI is above 80, Stop-Loss triggers, or trailing stop is hit if (exitLongCondition or longStopLoss or close < longTrailingStop) strategy.close("Long") longEntryLow := na // Reset the entry low after the long position is closed longTrailingStop := na // Reset the trailing stop // Exit Sell Position when RSI is below 22, Stop-Loss triggers, or trailing stop is hit if (exitShortCondition or shortStopLoss or close > shortTrailingStop) strategy.close("Short") shortEntryHigh := na // Reset the entry high after the short position is closed shortTrailingStop := na // Reset the trailing stop // Plot Moving Averages on the Chart plot(fastMA, color=color.green, title="9-period MA") plot(slowMA, color=color.red, title="21-period MA") // Plot RSI on a separate panel rsiPlot = plot(rsiValue, color=color.blue, title="RSI") hline(50, "RSI 50", color=color.gray) hline(80, "RSI 80", color=color.red) hline(22, "RSI 22", color=color.green) // Plot Trailing Stop for Visualization plot(longTrailingStop, title="Long Trailing Stop", color=color.red, linewidth=1, style=plot.style_line) plot(shortTrailingStop, title="Short Trailing Stop", color=color.green, linewidth=1, style=plot.style_line)