
یہ ایک ٹرینڈ ٹریکنگ حکمت عملی ہے جو اوسط حقیقی رینج (ATR) پر مبنی ہے جس کا مقصد متعدد تکنیکی اشارے کے ساتھ مل کر اعلی امکانات کی تجارت کو پکڑنا ہے۔ اس حکمت عملی میں اے ٹی آر فلٹرنگ ، سپر ٹرینڈ اشارے ، اشاریہ منتقل اوسط (ای ایم اے) اور سادہ منتقل اوسط (ایس ایم ایم اے) ٹرینڈ بینڈ ، نسبتا strong مضبوط اشاریہ (آر ایس آئی) کی تصدیق اور متحرک اسٹاپ نقصان کا نظام شامل ہے جس کا مقصد ایک جامع اور لچکدار تجارتی طریقہ فراہم کرنا ہے۔
اس حکمت عملی کا بنیادی اصول متعدد تکنیکی اشارے کے تعاون پر مبنی ہے:
رجحانات کی شناخت: سپر ٹرینڈ اشارے کا استعمال کرتے ہوئے ((پیرامیٹر: فیکٹر 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)