
حکمت عملی ایک رجحان کی پیروی کرنے والا تجارتی نظام ہے جو رشتہ دار طاقت کا اشاریہ (RSI)، وزنی موونگ ایوریج (WMA) اور Exponential Moving Average (EMA) کو یکجا کرتا ہے۔ حکمت عملی رجحان کے موڑ پر مارکیٹ کی رفتار میں ہونے والی تبدیلیوں کو پکڑنے کے لیے کوآرڈینیشن میں متعدد تکنیکی اشارے استعمال کرتی ہے، اس طرح تجارتی سگنلز پیدا ہوتے ہیں۔ نظام رجحان کی سمت کی تصدیق کے لیے WMA اور EMA کے کراس اوور کا استعمال کرتا ہے، اور لین دین کی درستگی کو بہتر بنانے کے لیے مارکیٹ کی صورتحال کو فلٹر کرنے کے لیے RSI اشارے کو جوڑتا ہے۔
حکمت عملی کی بنیادی منطق درج ذیل کلیدی عناصر پر مبنی ہے:
یہ ایک سے زیادہ تکنیکی اشارے پر مبنی ایک رجحان سے باخبر رہنے کی حکمت عملی ہے جو کہ RSI، WMA اور EMA کے مربوط استعمال کے ذریعے تجارتی استحکام کو یقینی بناتے ہوئے مارکیٹ کے رجحانات کو حاصل کرنے کی کوشش کرتی ہے۔ اگرچہ کچھ ہسٹریسس اور غلط سگنل کے خطرات ہیں، معقول اصلاح اور رسک مینجمنٹ کے اقدامات کے ذریعے، اس حکمت عملی میں اچھی عملی قدر اور توسیع کی جگہ ہے۔
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy(title="RSI + WMA + EMA Strategy", shorttitle="RSI Strategy", overlay=true)
// RSI Settings
rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
// WMA and EMA Settings
wmaLengthInput = input.int(45, minval=1, title="WMA Length", group="WMA Settings")
wmaColorInput = input.color(color.blue, title="WMA Color", group="WMA Settings")
emaLengthInput = input.int(89, minval=1, title="EMA Length", group="EMA Settings")
emaColorInput = input.color(color.purple, title="EMA Color", group="EMA Settings")
// RSI Calculation
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
// WMA and EMA Calculation
wma = ta.wma(rsi, wmaLengthInput)
ema = ta.ema(rsi, emaLengthInput)
// RSI Color Logic
rsiColor = rsi > 70 ? color.new(color.green, 100 - math.round(rsi)) : rsi < 30 ? color.new(color.red, math.round(rsi)) : color.new(color.blue, 50)
// Plot RSI, WMA, and EMA
plot(rsi, "RSI", color=rsiColor)
plot(wma, title="WMA", color=wmaColorInput, linewidth=2)
plot(ema, title="EMA", color=emaColorInput, linewidth=2)
// Highlight RSI Area between 30 and 70
bgcolor(rsi >= 30 and rsi <= 70 ? color.new(color.blue, 90) : na)
// Entry and Exit Conditions
longCondition = ta.crossover(wma, ema) and rsi < 50
shortCondition = ta.crossunder(wma, ema) and rsi > 50
if (longCondition)
strategy.entry("Long", strategy.long)
alert("Buy Signal: WMA crossed above EMA, RSI < 50", alert.freq_once_per_bar)
if (shortCondition)
strategy.entry("Short", strategy.short)
alert("Sell Signal: WMA crossed below EMA, RSI > 50", alert.freq_once_per_bar)
// Optional: Plot Buy/Sell Signals on Chart
plotshape(series=longCondition, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")