
یہ حکمت عملی ولیم اشارے ((٪ R) ، متحرک اوسط رجحان اشارے ((MACD) اور اشاریہ متحرک اوسط ((EMA) پر مبنی ایک کثیر اشارے کی مجموعہ حکمت عملی ہے۔ مارکیٹ میں زیادہ خرید و فروخت کی حالت کا فیصلہ کرکے ، متحرک اشارے کے بدلتے رجحان اور اوسط کی حمایت کے ساتھ مل کر ، ایک مکمل رجحان سے باخبر رہنے والا تجارتی نظام تشکیل دیا گیا ہے۔ اس حکمت عملی میں نہ صرف داخلے کے سگنل کی تخلیق شامل ہے ، بلکہ اس میں ایک مکمل رسک مینجمنٹ میکانزم بھی ڈیزائن کیا گیا ہے۔
اس حکمت عملی میں تین بنیادی اشارے شامل ہیں:
حکمت عملی صرف اس صورت میں پوزیشن کھولتی ہے جب وہ مندرجہ بالا تینوں شرائط کو ایک ساتھ پورا کرتی ہو۔ اس کے علاوہ ، حکمت عملی میں خطرہ / منافع کے تناسب پر مبنی اسٹاپ اسٹاپ نقصان کا طریقہ کار بھی شامل ہے ، جس میں ہر تجارت کے خطرے کو کنٹرول کرنے کے لئے ایک مقررہ اسٹاپ نقصان فیصد اور خطرہ / منافع کا تناسب طے کیا گیا ہے۔
یہ حکمت عملی متعدد تکنیکی اشارے کے ہم آہنگی کے ساتھ مل کر ایک بہتر رجحان سے باخبر رہنے والے تجارتی نظام کی تشکیل کرتی ہے۔ اس حکمت عملی کی اہم خصوصیات سگنل کی اعلی وشوسنییتا ، رسک کنٹرول کی وضاحت ہے ، لیکن اس میں کچھ پسماندگی اور پیرامیٹرز کی حساسیت کے مسائل بھی ہیں۔ تجویز کردہ اصلاح کی سمت کے ذریعہ ، اس حکمت عملی میں مزید بہتری کی گنجائش موجود ہے۔ ریئل اسٹیٹ پر لاگو ہونے پر ، یہ تجویز کی جاتی ہے کہ پہلے پیرامیٹرز کے پورٹیبل کی جانچ پڑتال کی جائے اور مارکیٹ کی خصوصیات کے ساتھ مل کر ہدف کے مطابق اصلاح کی جائے۔
/*backtest
start: 2025-02-19 00:00:00
end: 2025-02-23 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Williams %R & MACD Swing Strategy", overlay=true)
// INPUTS
length_wpr = input(14, title="Williams %R Length")
overbought = input(-20, title="Overbought Level")
oversold = input(-80, title="Oversold Level")
// MACD Inputs
fastLength = input(12, title="MACD Fast Length")
slowLength = input(26, title="MACD Slow Length")
signalSmoothing = input(9, title="MACD Signal Smoothing")
// EMA for Trend Confirmation
ema_length = input(55, title="EMA Length")
ema55 = ta.ema(close, ema_length)
// INDICATORS
wpr = ta.wpr(length_wpr)
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
// LONG ENTRY CONDITIONS
longCondition = ta.crossover(wpr, oversold) and ta.crossover(macdLine, signalLine) and close > ema55
if longCondition
strategy.entry("Long", strategy.long)
// SHORT ENTRY CONDITIONS
shortCondition = ta.crossunder(wpr, overbought) and ta.crossunder(macdLine, signalLine) and close < ema55
if shortCondition
strategy.entry("Short", strategy.short)
// RISK MANAGEMENT
riskRewardRatio = input(1.5, title="Risk-Reward Ratio")
stopLossPerc = input(2, title="Stop Loss %") / 100
takeProfitPerc = stopLossPerc * riskRewardRatio
longSL = strategy.position_avg_price * (1 - stopLossPerc)
longTP = strategy.position_avg_price * (1 + takeProfitPerc)
shortSL = strategy.position_avg_price * (1 + stopLossPerc)
shortTP = strategy.position_avg_price * (1 - takeProfitPerc)
strategy.exit("Take Profit / Stop Loss", from_entry="Long", loss=longSL, profit=longTP)
strategy.exit("Take Profit / Stop Loss", from_entry="Short", loss=shortSL, profit=shortTP)