یہ حکمت عملی ایک نفیس ملٹی اشارے ٹریڈنگ سسٹم ہے جو قیمت کے رجحان اور رفتار تجزیہ کے ذریعے تجارتی مواقع کی نشاندہی کرنے کے لئے آر ایس آئی ، ایم اے سی ڈی ، اور موونگ اوسط (ایس ایم اے) سمیت متعدد تکنیکی اشارے کو جوڑتا ہے۔ حکمت عملی طویل مدتی رجحانات کا تعین کرنے کے لئے 200 دن کی موونگ اوسط ، درمیانی مدتی حوالہ کے طور پر 50 دن کی موونگ اوسط کا استعمال کرتی ہے ، اور تجارتی مواقع کی تصدیق کے لئے اسٹوکاسٹک آر ایس آئی اور ایم اے سی ڈی کراس اوور سگنل کا استعمال کرتی ہے۔
بنیادی منطق تین اہم ستونوں پر قائم ہے: رجحان کا تعین: اہم رجحان کی سمت کا فیصلہ کرنے کے لئے 200 دن کا اوسط اوسط استعمال کرتا ہے ، جس میں لائن سے اوپر کی قیمتیں اپ ٹرینڈ اور نیچے کی قیمتیں ڈاؤن ٹرینڈ کی نشاندہی کرتی ہیں۔ 2. رفتار کی تصدیق: قیمت کی رفتار کی تصدیق کے لئے اسٹوکاسٹک آر ایس آئی (ایس آر ایس آئی) %K اور %D لائن کراس اوورز کا استعمال کرتا ہے ، جس میں %D سے اوپر کی رفتار کو عبور کرنے والے %K کو بڑھتی ہوئی رفتار کی نشاندہی کرتا ہے۔ رجحان کی تصدیق: رجحان کی تصدیق کے آلے کے طور پر ایم اے سی ڈی اشارے کا استعمال کرتا ہے ، جس میں سگنل لائن کے اوپر ایم اے سی ڈی لائن اپ ٹرینڈ کی تصدیق کرتی ہے۔
خریدنے کے شرائط کو ایک ہی وقت میں پورا کرنا ضروری ہے: - قیمت 200 دن کی چلتی اوسط سے اوپر - اسٹوکاسٹک آر ایس آئی %K لائن %D لائن سے اوپر کراس کرتی ہے - MACD لائن سگنل لائن کے اوپر ہے
فروخت کے شرائط کو بیک وقت پورا کرنا ہوگا: - قیمت 200 دن کی چلتی اوسط سے نیچے - اسٹوکاسٹک RSI %K لائن %D لائن سے نیچے کراس کرتی ہے - MACD لائن سگنل لائن سے نیچے ہے
اشارے پیرامیٹر کی اصلاح:
سگنل فلٹرنگ:
خطرے کے انتظام میں بہتری:
مارکیٹ کو اپنانے کی صلاحیت:
یہ ایک منظم رجحان کی پیروی کرنے والی حکمت عملی ہے جو متعدد تکنیکی اشارے کے مشترکہ استعمال کے ذریعے واضح رسک کنٹرول میکانزم فراہم کرتے ہوئے تجارتی وشوسنییتا کو یقینی بناتی ہے۔ اس حکمت عملی کا بنیادی فائدہ اس کی کثیر پرت تصدیق کے میکانزم میں ہے ، لیکن متعدد اشارے لا سکتے ہیں کہ تاخیر کے خطرات پر قابو پانے پر توجہ دی جانی چاہئے۔ مسلسل اصلاح اور بہتری کے ذریعے ، اس حکمت عملی میں مختلف مارکیٹ کے ماحول میں مستحکم کارکردگی برقرار رکھنے کی صلاحیت ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI and MACD by Karthik", overlay=true) // Define periods for SMAs sma50Period = 50 sma200Period = 200 // Calculate SMAs sma50 = ta.sma(close, sma50Period) sma200 = ta.sma(close, sma200Period) // Plot SMAs on the main chart plot(sma50, color=color.blue, title="50 Period SMA", linewidth=2) plot(sma200, color=color.red, title="200 Period SMA", linewidth=2) // Define and calculate parameters for Stochastic RSI stochRSIPeriod = 14 rsi = ta.rsi(close, stochRSIPeriod) stochRSIK = ta.stoch(rsi, rsi, stochRSIPeriod, 3) stochRSID = ta.sma(stochRSIK, 3) // Define and calculate parameters for MACD macdShort = 12 macdLong = 26 macdSignal = 9 [macdLine, signalLine, macdHist] = ta.macd(close, macdShort, macdLong, macdSignal) // Plot Stochastic RSI in a separate pane hline(80, "Overbought", color=color.red, linewidth=1) hline(20, "Oversold", color=color.green, linewidth=1) plot(stochRSIK, color=color.blue, title="Stochastic RSI %K") plot(stochRSID, color=color.red, title="Stochastic RSI %D") // Plot MACD in a separate pane hline(0, "Zero Line", color=color.gray, linewidth=1) plot(macdHist, color=color.blue, title="MACD Histogram", style=plot.style_histogram) plot(macdLine, color=color.red, title="MACD Line") plot(signalLine, color=color.green, title="Signal Line") // Conditions for buy and sell signals isAbove200SMA = close > sma200 isStochRSIKAbove = stochRSIK > stochRSID macdLineAbove = macdLine > signalLine buySignal = isAbove200SMA and isStochRSIKAbove and macdLineAbove isBelow200SMA = close < sma200 isStochRSIKBelow = stochRSIK < stochRSID macdLineBelow = macdLine < signalLine sellSignal = isBelow200SMA and isStochRSIKBelow and macdLineBelow // Track the last signal with explicit type declaration var string lastSignal = na // Create series for plotting conditions var bool plotBuySignal = na var bool plotSellSignal = na var bool plotExitBuySignal = na var bool plotExitSellSignal = na // Update plotting conditions based on signal and last signal if buySignal and (lastSignal != "buy") plotBuySignal := true lastSignal := "buy" else plotBuySignal := na if sellSignal and (lastSignal != "sell") plotSellSignal := true lastSignal := "sell" else plotSellSignal := na // Update exit conditions based on SMA50 if lastSignal == "buy" and close < sma50 plotExitBuySignal := true lastSignal := na // Clear lastSignal after exit else plotExitBuySignal := na if lastSignal == "sell" and close > sma50 plotExitSellSignal := true lastSignal := na // Clear lastSignal after exit else plotExitSellSignal := na // Plot buy and sell signals on the main chart plotshape(series=plotBuySignal, location=location.belowbar, color=color.green, style=shape.circle, size=size.small, title="Buy Signal") plotshape(series=plotSellSignal, location=location.abovebar, color=color.red, style=shape.circle, size=size.small, title="Sell Signal") // Plot exit signals for buy and sell plotshape(series=plotExitBuySignal, location=location.belowbar, color=color.yellow, style=shape.xcross, size=size.small, title="Exit Buy Signal") plotshape(series=plotExitSellSignal, location=location.abovebar, color=color.yellow, style=shape.xcross, size=size.small, title="Exit Sell Signal") // Strategy to Backtest long = buySignal short = sellSignal // Exit Conditions exitBuy = close < sma50 exitSell = close > sma50 if (buySignal) strategy.entry("Long", strategy.long, 1.0) if (sellSignal) strategy.entry("Short", strategy.short, 1.0) strategy.close("Long", when=exitBuy) strategy.close("Short", when=exitSell)