
यह एक औसत वास्तविक रेंज (ATR) पर आधारित प्रवृत्ति ट्रैकिंग रणनीति है, जिसका उद्देश्य कई तकनीकी संकेतकों के संयोजन के माध्यम से उच्च संभावना वाले ट्रेडों को पकड़ना है। यह रणनीति एटीआर फ़िल्टर, सुपर ट्रेंडिंग इंडिकेटर, इंडेक्स मूविंग एवरेज (EMA) और सिंपल मूविंग एवरेज (SMMA) ट्रेंड बैंड, अपेक्षाकृत मजबूत सूचकांक (RSI) की पुष्टि और गतिशील स्टॉपलॉस सिस्टम को एक व्यापक और लचीली ट्रेडिंग विधि प्रदान करने के लिए जोड़ती है।
इस रणनीति का मूल सिद्धांत कई तकनीकी संकेतकों के सह-अस्तित्व पर आधारित हैः
रुझान की पहचानः सुपरट्रेंड सूचक का उपयोग करें ((पैरामीटरः कारक 2, लंबाई 5) और 50 दिन ईएमए और 8 दिन एसएमएमए रुझान बाजार की प्रवृत्ति की दिशा को परिभाषित करने के लिए। प्रवृत्ति रंग-कोडिंग मेंः
एटीआर स्मार्ट फ़िल्टरिंगः 14-चक्र एटीआर और 50-चक्र सरल चलती औसत के माध्यम से अस्थिरता विस्तार का पता लगाएं, केवल एटीआर बढ़ने पर या इसके एसएमए 101% से ऊपर व्यापार करें, केवल मजबूत प्रवृत्ति में प्रवेश सुनिश्चित करें।
प्रवेश की शर्तें:
गतिशील स्टॉप और स्टॉपः
यह एक उन्नत प्रवृत्ति ट्रैकिंग रणनीति है जो बहु-सूचक समन्वय और गतिशील जोखिम प्रबंधन के माध्यम से व्यापारियों को एक लचीला और शक्तिशाली व्यापारिक उपकरण प्रदान करती है। निरंतर प्रतिक्रिया और अनुकूलन इस रणनीति को सफलतापूर्वक लागू करने की कुंजी है।
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Optimized ATR-Based Trend Strategy v6 (Fixed Trend Capture)", overlay=true)
// 🔹 Input parameters
lengthSMMA = input(8, title="SMMA Length")
lengthEMA = input(50, title="EMA Length")
supertrendFactor = input(2.0, title="Supertrend Factor")
supertrendLength = input(5, title="Supertrend Length")
atrLength = input(14, title="ATR Length")
atrSmoothing = input(50, title="ATR Moving Average Length")
atrMultiplierTP = input.float(5.0, title="ATR Multiplier for Take-Profit", minval=1.0, step=0.5)
atrMultiplierTSL = input.float(3.5, title="ATR Multiplier for Trailing Stop-Loss", minval=1.0, step=0.5) // 🔹 Increased to ride trends
atrStopMultiplier = input.float(0.8, title="ATR Stop Multiplier", minval=0.5, step=0.1)
breakEvenMultiplier = input.float(2.0, title="Break-Even Trigger ATR Multiplier", minval=1.0, step=0.1)
rsiLength = input(14, title="RSI Length")
// 🔹 Indicator calculations
smma8 = ta.sma(ta.sma(close, lengthSMMA), lengthSMMA)
ema50 = ta.ema(close, lengthEMA)
// 🔹 Supertrend Calculation
[superTrend, _] = ta.supertrend(supertrendFactor, supertrendLength)
// 🔹 Supertrend Conditions
isBullishSupertrend = close > superTrend
isBearishSupertrend = close < superTrend
// 🔹 ATR Calculation for Smarter Filtering
atrValue = ta.atr(atrLength)
atrMA = ta.sma(atrValue, atrSmoothing)
atrRising = ta.rising(atrValue, 3) // 🔹 More sensitive ATR detection
isTrending = atrValue > atrMA * 1.01 or atrRising // 🔹 Loosened ATR filter
// 🔹 RSI Calculation
rsi = ta.rsi(close, rsiLength)
// 🔹 RSI Conditions (More Flexible)
isRSIBullish = rsi > 45 // 🔹 Lowered to capture early trends
isRSIBearish = rsi < 45
// 🔹 TP Lock Mechanism
var bool tpHit = false
if strategy.position_size == 0 and strategy.closedtrades > 0
tpHit := true
// 🔹 Supertrend Flip Detection (Resumes Trading After Trend Change)
trendFlip = (isBullishSupertrend and not isBullishSupertrend[1]) or (isBearishSupertrend and not isBearishSupertrend[1])
if trendFlip
tpHit := false
// 🔹 Entry Conditions
bullishEntry = close > ema50 and isBullishSupertrend and isRSIBullish and isTrending and not tpHit
bearishEntry = close < ema50 and isBearishSupertrend and isRSIBearish and isTrending and not tpHit
// 🔹 Dynamic Take-Profit, Stop-Loss, and Break-Even Stop
longTakeProfit = close + (atrValue * atrMultiplierTP)
shortTakeProfit = close - (atrValue * atrMultiplierTP)
longTrailStop = atrValue * atrMultiplierTSL
shortTrailStop = atrValue * atrMultiplierTSL
// ✅ Adjusted SL to Reduce Drawdown
longStopLoss = close - (atrValue * atrMultiplierTSL * atrStopMultiplier)
shortStopLoss = close + (atrValue * atrMultiplierTSL * atrStopMultiplier)
// ✅ Break-Even Stop Trigger (More Room for Trends)
longBreakEven = strategy.position_avg_price + (atrValue * breakEvenMultiplier)
shortBreakEven = strategy.position_avg_price - (atrValue * breakEvenMultiplier)
// 🔹 Strategy Execution (Fixed Take-Profit & Stop-Loss)
if (bullishEntry)
strategy.entry("Buy", strategy.long)
strategy.exit("TSL/TP", from_entry="Buy", stop=longStopLoss, trail_offset=longTrailStop, limit=longTakeProfit)
strategy.exit("BreakEven", from_entry="Buy", stop=longBreakEven)
if (bearishEntry)
strategy.entry("Sell", strategy.short)
strategy.exit("TSL/TP", from_entry="Sell", stop=shortStopLoss, trail_offset=shortTrailStop, limit=shortTakeProfit)
strategy.exit("BreakEven", from_entry="Sell", stop=shortBreakEven)
// 🔹 Trend Band
trendColor = isBullishSupertrend and smma8 > ema50 and close > ema50 ? color.green :
isBearishSupertrend and smma8 < ema50 and close < ema50 ? color.red : color.gray
fill(plot(smma8, color=color.new(trendColor, 60), title="8 SMMA Band"),
plot(ema50, color=color.new(trendColor, 60), title="50 EMA Band"),
color=color.new(trendColor, 80), title="Trend Band")
// 🔹 Supertrend Line
plot(superTrend, color=color.gray, title="Supertrend", style=plot.style_line)