
یہ حکمت عملی ایک جدید مقدار کی تجارت کا طریقہ ہے جس میں سپر ٹرینڈ ، انڈیکس منتقل اوسط (ای ایم اے) اور نسبتا strong مضبوط اشارے (آر ایس آئی) کے امتزاج کے ذریعہ درست ٹریڈنگ سگنل کی گرفتاری اور خطرے کے انتظام پر توجہ دی گئی ہے۔ اس حکمت عملی کا مقصد تاجروں کو ایک متحرک ، کثیر جہتی مارکیٹ کے رجحانات کا سراغ لگانے کا طریقہ فراہم کرنا ہے جو 1 منٹ ، 5 منٹ اور 15 منٹ کے چارٹ پر لچکدار ہے۔
اس حکمت عملی کا بنیادی اصول تین اہم تکنیکی اشارے پر مبنی ہے:
اس حکمت عملی میں ٹریڈنگ سگنل کو تین اشارے کے مجموعی تجزیے سے تیار کیا گیا ہے:
یہ ایک کثیر جہتی تکنیکی تجزیہ کو یکجا کرنے والی ایک مقداری تجارتی حکمت عملی ہے ، جو سپر ٹرینڈ ، ای ایم اے اور آر ایس آئی کے ہم آہنگی کے ذریعہ تاجروں کو ایک متحرک ، لچکدار تجارتی فیصلہ سازی کا فریم ورک مہیا کرتی ہے۔ حکمت عملی کا بنیادی فائدہ اس کے کثیر سگنل کی توثیق اور موافقت پذیر خطرے کے انتظام کے طریقہ کار میں ہے ، لیکن اس کے ساتھ ہی تاجروں کو مسلسل اصلاح اور موافقت کی ضرورت ہے۔
/*backtest
start: 2025-03-24 00:00:00
end: 2025-03-27 00:00:00
period: 3m
basePeriod: 3m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("SOL Scalper - Supertrend + EMA + RSI (One Position at a Time)", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.075)
// Inputs
atrLength = input.int(7, title="ATR Length", minval=1)
atrMultiplier = input.float(0.8, title="ATR Multiplier", minval=0.1)
emaLength = input.int(9, title="EMA Length", minval=1)
rsiLength = input.int(14, title="RSI Length", minval=1)
slPercent = input.float(1, title="Stop Loss (%)", minval=0.1, step=0.1) / 100
tpMultiplier = input.float(3.0, title="Take Profit Multiplier", minval=1.0)
// Supertrend Calculation
atr = ta.atr(atrLength)
[supertrend, direction] = ta.supertrend(atrMultiplier, atrLength)
plot(supertrend, color=direction == 1 ? color.green : color.red, linewidth=2, title="Supertrend")
// EMA Calculation
ema = ta.ema(close, emaLength)
plot(ema, color=color.blue, title="EMA")
// RSI Calculation
rsi = ta.rsi(close, rsiLength)
rsiOverbought = 60 // Adjusted to allow more trades
rsiOversold = 40 // Adjusted to allow more trades
// Entry Conditions
longCondition = direction == 1 and close > ema and rsi > rsiOversold
shortCondition = direction == -1 and close < ema and rsi < rsiOverbought
// Risk Management
stopLoss = close * slPercent
takeProfit = atr * tpMultiplier
// Ensure Only One Position at a Time
var bool inPosition = false
// Execute Trades
if (not inPosition) // Only enter a new trade if no position is open
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", stop=close - stopLoss, limit=close + takeProfit)
inPosition := true // Set inPosition to true when a trade is opened
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", stop=close + stopLoss, limit=close - takeProfit)
inPosition := true // Set inPosition to true when a trade is opened
// Reset inPosition when the trade is closed
if (strategy.position_size == 0)
inPosition := false
// Visuals
plotshape(series=longCondition and not inPosition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition and not inPosition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Debugging
bgcolor(longCondition and not inPosition ? color.new(color.green, 90) : na, title="Long Condition")
bgcolor(shortCondition and not inPosition ? color.new(color.red, 90) : na, title="Short Condition")
// Key Metrics Table
var table keyMetrics = table.new(position.top_right, 2, 4, border_width=1)
if barstate.islast
table.cell(keyMetrics, 0, 0, "ATR", bgcolor=color.gray)
table.cell(keyMetrics, 1, 0, str.tostring(atr, "#.#####"), bgcolor=color.gray)
table.cell(keyMetrics, 0, 1, "RSI", bgcolor=color.gray)
table.cell(keyMetrics, 1, 1, str.tostring(rsi, "#.##"), bgcolor=color.gray)
table.cell(keyMetrics, 0, 2, "Trend", bgcolor=color.gray)
table.cell(keyMetrics, 1, 2, direction == 1 ? "Bullish" : "Bearish", bgcolor=color.gray)
table.cell(keyMetrics, 0, 3, "TP Distance", bgcolor=color.gray)
table.cell(keyMetrics, 1, 3, str.tostring(takeProfit, "#.#####"), bgcolor=color.gray)