
यह रणनीति एक अभिनव मात्रात्मक ट्रेडिंग पद्धति है जो सुपरट्रेंड, इंडेक्सल मूविंग एवरेज (ईएमए) और अपेक्षाकृत मजबूत सूचकांक (आरएसआई) के संयोजन के माध्यम से सटीक ट्रेडिंग सिग्नल कैप्चर और जोखिम प्रबंधन पर केंद्रित है। यह रणनीति व्यापारियों को एक गतिशील, बहु-आयामी बाजार प्रवृत्ति ट्रैकिंग तंत्र प्रदान करने के लिए डिज़ाइन की गई है जो 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)