
यह रणनीति द्वि-समान-रेखा फ़िल्टरिंग प्रणाली और एटीआर स्व-अनुकूली ट्रैकिंग स्टॉप-लॉस तंत्र को जोड़ती है, जो उच्च जीत दरों के लिए प्रवृत्ति ट्रैकिंग के लिए हेइकिन अस्ची मैपिंग के माध्यम से कीमतों के उतार-चढ़ाव को चिकना करती है। रणनीति का मूल प्रवृत्ति दिशा फ़िल्टर के रूप में तेजी से ईएमए और धीमी ईएमए के गोल्डन फोर्क्स का उपयोग करना है, जबकि एटीआर-आधारित गतिशील स्टॉप-लॉस का उपयोग करके लाभ की रक्षा करना है। ऐतिहासिक समीक्षा से पता चलता है कि रणनीति की जीत दर 90% से अधिक है, जो मध्य-रेखा लघु प्रवृत्ति व्यापार के लिए उपयुक्त है।
सिग्नल जनरेशन परत:
प्रवृत्ति फ़िल्टर परत:
जोखिम प्रबंधन:
निष्पादन तर्क:
गतिशील पैरामीटर समायोजन:
मिश्रित निस्पंदन प्रणाली:
मशीन लर्निंग अनुकूलन:
बहु आयामी सत्यापन:
इस रणनीति में Heikin Ashi-ATR-EMA ट्रिपल आर्किटेक्चर के माध्यम से उच्च संभावना प्रवृत्ति पकड़ने को प्राप्त किया गया है, गतिशील स्टॉप-लॉस तंत्र प्रभावी रूप से मुनाफे की रक्षा करता है। मुख्य लाभ प्रवृत्ति की दिशा का आकलन करने, उतार-चढ़ाव की दर को अनुकूलित करने और शोर फ़िल्टरिंग को व्यवस्थित रूप से एकीकृत करने में निहित है। आगे के अनुकूलन में पैरामीटर अनुकूलन और बहु-कारक सत्यापन पर जोर दिया जाना चाहिए, वास्तविक अनुप्रयोगों में कठोरता नियंत्रण नियमों के साथ उपयोग करने की सिफारिश की जाती है।
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-23 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("UTBot + EMA Filter (HA + ATR Logic)", overlay = true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS ===
bandwidth = input.float(8., 'Bandwidth')
atr_mult = input.float(1.0, 'ATR Multiplier')
atr_len = input.int(20, 'ATR Length')
ema_fast_len = input.int(10, 'EMA Fast Length')
ema_slow_len = input.int(50, 'EMA Slow Length')
use_heikin = input.bool(true, title='Use Heikin Ashi Candle')
trail_step = input.float(10.0, title='Trailing Step (Points)', minval=0.1)
trail_offset = input.float(10.0, title='Trailing Offset (Points)', minval=0.1)
take_profit_points = input.float(100.0, title='Take Profit (Points)', minval=0.1)
// === SOURCE ===
sr = use_heikin ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close) : close
// === ATR Trailing Stop ===
atr = ta.atr(atr_len)
nLoss = atr_mult * atr
var float trail = na
iff_1 = sr > nz(trail[1]) ? sr - nLoss : sr + nLoss
iff_2 = sr < nz(trail[1]) and sr[1] < nz(trail[1]) ? math.min(nz(trail[1]), sr + nLoss) : iff_1
trail := sr > nz(trail[1]) and sr[1] > nz(trail[1]) ? math.max(nz(trail[1]), sr - nLoss) : iff_2
// === EMA FILTER ===
ema_fast = ta.ema(sr, ema_fast_len)
ema_slow = ta.ema(sr, ema_slow_len)
// === ENTRY & EXIT CONDITIONS ===
buy = sr[1] < trail[1] and sr > trail and ema_fast > ema_slow
sell = sr[1] > trail[1] and sr < trail and ema_fast < ema_slow
// === EXIT on opposite signal ===
exit_buy = sell
exit_sell = buy
// === STRATEGY EXECUTION ===
if buy
strategy.entry("Buy", strategy.long)
if sell
strategy.entry("Sell", strategy.short)
if exit_buy and strategy.position_size > 0
strategy.close("Buy")
if exit_sell and strategy.position_size < 0
strategy.close("Sell")
// === TRAILING STOP + TAKE PROFIT ===
// Long
if strategy.position_size > 0
strategy.exit("Exit Long", from_entry="Buy", trail_points=trail_step, trail_offset=trail_offset, limit=sr + take_profit_points)
// Short
if strategy.position_size < 0
strategy.exit("Exit Short", from_entry="Sell", trail_points=trail_step, trail_offset=trail_offset, limit=sr - take_profit_points)
// === PLOTS ===
plotshape(buy, title='Buy Signal', text='Buy', location=location.belowbar, color=color.green, style=shape.labelup, textcolor=color.white, size=size.tiny)
plotshape(sell, title='Sell Signal', text='Sell', location=location.abovebar, color=color.red, style=shape.labeldown, textcolor=color.white, size=size.tiny)
plot(ema_fast, color=color.teal, title='EMA Fast')
plot(ema_slow, color=color.purple, title='EMA Slow')
// === ALERTS ===
alertcondition(buy, title='UTBot Buy', message='UTBot Buy Signal')
alertcondition(sell, title='UTBot Sell', message='UTBot Sell Signal')