
یہ حکمت عملی ایک جامع مقداری تجارتی طریقہ ہے جس میں مارکیٹ کے رجحانات اور تجارتی سگنل کی نشاندہی کرنے کے لئے متعدد تکنیکی اشارے (MACD ، Supertrend اور Parabolic SAR) کو یکجا کیا گیا ہے۔ اس حکمت عملی کا مقصد ایک لچکدار اور سخت تجارتی فیصلے کا فریم ورک فراہم کرنا ہے جو مختلف مارکیٹ کے حالات کے مطابق ڈھال سکتا ہے۔
حکمت عملی کا اصول تین اہم تکنیکی اشارے کے متحرک مجموعہ پر مبنی ہے:
حکمت عملی مندرجہ ذیل منطق کے ذریعے ٹریڈنگ کے فیصلے کرتی ہے:
Vishal کی خود سے منسلک کثیر اشاریہ ٹریڈنگ حکمت عملی ایک جدید مقداری ٹریڈنگ طریقہ ہے جو MACD، Supertrend اور Parabolic SAR کے ہم آہنگی کے ذریعہ ایک جامع اور لچکدار تجارتی فیصلہ سازی کا فریم ورک فراہم کرتا ہے۔ اس کے کثیر اشاریہ کی توثیق اور ہم آہنگی ٹریڈنگ منطق سرمایہ کاروں کے لئے ایک گہرائی سے مطالعہ کرنے کے قابل تجارتی ماڈل فراہم کرتی ہے ، اگرچہ اس میں کچھ خطرہ موجود ہے۔
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-27 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Vishal Strategy", overlay=true, margin_long=100, margin_short=100, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// **MACD Inputs & Calculation**
fast_length = input.int(13, title="MACD Fast Length")
slow_length = input.int(27, title="MACD Slow Length")
signal_length = input.int(9, title="MACD Signal Smoothing")
fast_ma = ta.ema(close, fast_length)
slow_ma = ta.ema(close, slow_length)
macd = fast_ma - slow_ma
signal = ta.ema(macd, signal_length)
hist = macd - signal
// **Supertrend Inputs & Calculation**
atrPeriod = input.int(11, "ATR Length", minval = 1)
factor = input.float(3.0, "Factor", minval = 0.01, step = 0.01)
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
bullTrend = direction < 0 // Uptrend Condition
bearTrend = direction > 0 // Downtrend Condition
// **Parabolic SAR Inputs & Calculation**
sarStep = input.float(0.02, "Parabolic SAR Step")
sarMax = input.float(0.2, "Parabolic SAR Max")
sar = ta.sar(sarStep, sarStep, sarMax)
// **Trade Entry Conditions**
macdBullish = macd > signal // MACD in Bullish Mode
macdBearish = macd < signal // MACD in Bearish Mode
priceAboveSAR = close > sar // Price above SAR (Bullish)
priceBelowSAR = close < sar // Price below SAR (Bearish)
// **Boolean Flags to Track Conditions Being Met**
var bool macdConditionMet = false
var bool sarConditionMet = false
var bool trendConditionMet = false
// **Track if Each Condition is Met in Any Order**
if (macdBullish)
macdConditionMet := true
if (macdBearish)
macdConditionMet := false
if (priceAboveSAR)
sarConditionMet := true
if (priceBelowSAR)
sarConditionMet := false
if (bullTrend)
trendConditionMet := true
if (bearTrend)
trendConditionMet := false
// **Final Long Entry Signal (Triggers When All Three Flags Are True)**
longSignal = macdConditionMet and sarConditionMet and trendConditionMet
// **Final Short Entry Signal (Triggers When All Three Flags Are False)**
shortSignal = not macdConditionMet and not sarConditionMet and not trendConditionMet
// **Execute Full Equity Trades**
if (longSignal)
strategy.entry("Long", strategy.long)
if (shortSignal)
strategy.entry("Short", strategy.short)
// **Exit Logic - Requires 2 Consecutive Candle Closes Below/Above SAR**
var int belowSARCount = 0
var int aboveSARCount = 0
if (strategy.position_size > 0) // Long position is active
belowSARCount := close < sar ? belowSARCount + 1 : 0
if (belowSARCount >= 1)
strategy.close("Long")
if (strategy.position_size < 0) // Short position is active
aboveSARCount := close > sar ? aboveSARCount + 1 : 0
if (aboveSARCount >= 1)
strategy.close("Short")
// **Plot Indicators**
plot(supertrend, title="Supertrend", color=bullTrend ? color.green : color.red, linewidth=2, style=plot.style_linebr)
plot(sar, title="Parabolic SAR", color=color.blue, style=plot.style_cross, linewidth=2)
plot(macd, title="MACD Line", color=color.blue, linewidth=2)
plot(signal, title="MACD Signal", color=color.orange, linewidth=2)
plot(hist, title="MACD Histogram", style=plot.style_columns, color=hist >= 0 ? color.green : color.red)