
یہ حکمت عملی ایک پیچیدہ ملٹی اشارے ٹریڈنگ سسٹم ہے جس میں متعدد تکنیکی اشارے جیسے آر ایس آئی ، ایم اے سی ڈی ، اور متحرک اوسط (ایس ایم اے) شامل ہیں تاکہ قیمت کے رجحانات اور حرکیات کا تجزیہ کرکے تجارت کے مواقع کی نشاندہی کی جاسکے۔ حکمت عملی طویل مدتی رجحانات کا تعین کرنے کے لئے 200 دن کی اوسط لائن ، 50 دن کی اوسط لائن کو درمیانی مدت کے رجحانات کے طور پر استعمال کرتی ہے ، اور تجارتی اوقات کی تصدیق کے لئے بے ترتیب آر ایس آئی اور ایم اے سی ڈی کے کراس سگنل کا استعمال کرتی ہے۔
حکمت عملی کی بنیادی منطق تین اہم ستونوں پر بنائی گئی ہے:
خریداری کی شرائط کو ایک ہی وقت میں پورا کیا جانا چاہئے:
فروخت کی شرائط کو پورا کرنا ضروری ہے:
انڈیکس پیرامیٹرز کو بہتر بنائیں:
سگنل فلٹر:
خطرے کے انتظام میں بہتری:
مارکیٹ کی اہلیت:
یہ ایک منظم رجحان سے باخبر رہنے کی حکمت عملی ہے ، جس میں متعدد تکنیکی اشارے کے ساتھ مل کر استعمال کیا جاتا ہے ، جو تجارت کی وشوسنییتا کو یقینی بنانے کے ساتھ ساتھ ایک واضح رسک کنٹرول میکانزم بھی فراہم کرتا ہے۔ اس حکمت عملی کا بنیادی فائدہ اس کے کثیر سطح کے توثیقی میکانزم میں ہے ، لیکن اس کے ساتھ ساتھ اس خطرے کو کنٹرول کرنے پر بھی توجہ دینے کی ضرورت ہے جو ایک سے زیادہ اشارے سے پیدا ہوسکتی ہے۔ مسلسل اصلاح اور بہتری کے ذریعہ ، اس حکمت عملی کو مختلف مارکیٹ کے ماحول میں مستحکم کارکردگی کا امکان ہے۔
/*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)