शून्य-विलंबता मशीन लर्निंग प्रवृत्ति रणनीति

ZLEMA ATR supertrend ML
निर्माण तिथि: 2025-09-19 15:06:40 अंत में संशोधित करें: 2025-09-19 15:06:40
कॉपी: 0 क्लिक्स: 496
2
ध्यान केंद्रित करना
319
समर्थक

शून्य-विलंबता मशीन लर्निंग प्रवृत्ति रणनीति शून्य-विलंबता मशीन लर्निंग प्रवृत्ति रणनीति

दोहरी सत्यापन तंत्रः 1.2 गुना अस्थिरता दर फ़िल्टर सीधे 90% झूठे संकेतों को समाप्त करता है

इस रणनीति का मुख्य तर्क सरल और असभ्य हैः शून्य अंतराल ईएमए पारंपरिक चलती औसत के पीछे की स्थिति को समाप्त करता है, सुपरट्रेंड प्रवृत्ति की दिशा की पुष्टि करता है। दो संकेतकों को एक साथ उछाल या गिरावट के लिए रखा जाना चाहिए, और दोहरी फ़िल्टरिंग तंत्र ने फीडबैक में झूठे टूटने के प्रभाव को काफी कम कर दिया है। 70 चक्र की शून्य अंतराल सेटिंग 1.2 गुना अस्थिरता गुणांक के साथ काम करती है, जो बाजार के शोर को प्रभावी ढंग से फ़िल्टर करती है और केवल वास्तविक प्रवृत्ति के मोड़ को पकड़ती है।

यह महत्वपूर्ण है कि हम volatility की गणना करें:*3) * mult, यह सूत्र 210 चक्रों के भीतर अधिकतम एटीआर मूल्य को 1.2 से गुणा करता है, यह सुनिश्चित करता है कि सिग्नल को केवल एक बड़े पर्याप्त अस्थिरता थ्रेशोल्ड को तोड़ने के लिए ट्रिगर किया जाएगा। प्रयोगात्मक डेटा से पता चलता है कि यह केवल एक निश्चित थ्रेशोल्ड रणनीति का उपयोग करने की तुलना में लगभग 40% कम अमान्य लेनदेन है।

3.0 गुना एटीआर स्टॉप डिज़ाइनः पारंपरिक सुपरट्रेंड रणनीतियों की तुलना में बेहतर जोखिम नियंत्रण

सुपरट्रेंड भाग 14 चक्र एटीआर के साथ 3.0 गुना गुणांक का उपयोग करता है, जो कि अधिकांश बाजारों में स्थिर प्रदर्शन करता है। 2.0-2.5 गुना सेट की तुलना में 3.0 गुना गुणांक, हालांकि कुछ अल्पकालिक रिबाउंड अवसरों को याद किया जाता है, यह काफी कम होता है।

स्टॉप-स्टॉप-लॉस सेटिंग में एक निश्चित प्रतिशत हैः 1.0% स्टॉप, 0.5% स्टॉप, रिस्क-रिटर्न अनुपात 2: 1 तक है। यह सेटिंग उच्च आवृत्ति वाले ट्रेडिंग वातावरण के लिए उपयुक्त है, लेकिन कम अस्थिरता वाले बाजारों में अत्यधिक संवेदनशील स्टॉप-लॉस के बारे में सावधान रहना चाहिए। यह सलाह दी जाती है कि जब VIX 15 से कम हो तो स्टॉप-लॉस को 0.8% तक उचित रूप से ढीला किया जाए।

स्थिति प्रबंधन

विशेष रूप से ध्यान देने योग्य है कि बाहर निकलने के अलर्ट के डिजाइनः longTP_hit और longSL_hit रणनीति.position_size के माध्यम से स्थिति स्थिति का आकलन, दोहराए गए सिग्नल के हस्तक्षेप से बचें। यह डिजाइन वास्तविक समय में व्यापार के लिए महत्वपूर्ण है और नेटवर्क विलंबता के कारण दोहराए जाने वाले खुले पदों को रोकता है।

पैरामीटर अनुकूलन सुझावः विभिन्न बाजार स्थितियों के लिए समायोजन रणनीति

रुझान बाजारलंबाई को 50 तक समायोजित किया जा सकता है, मल्टी को 1.0 तक कम किया जा सकता है, जिससे सिग्नल संवेदनशीलता बढ़ जाती है बाज़ार में तबाहीलंबाई बढ़कर 90 हो गई, फैक्टर बढ़कर 3.5 हो गया, झूठी सफलताओं में कमी आई उच्च अस्थिरतास्टॉप लॉस 1.0% तक बढ़ाया गया, स्टॉप लॉस 2.0% तक बढ़ाया गया, अधिक कीमतों के उतार-चढ़ाव के लिए अनुकूलित किया गया

Zero Lag EMA का विलंब गणना सूत्र math.floor (((length - 1) / 2) सूचक की प्रतिक्रिया की गति को सुनिश्चित करता है, लेकिन चरम स्थितियों में अभी भी विलंब हो सकता है। संश्लेषित लेन-देन सूचक को दूसरी पुष्टि के लिए अनुशंसित किया गया है, जब लेन-देन 20 चक्रों के औसत से कम हो तो व्यापार संकेतों को रोकना।

वास्तविक युद्ध प्रदर्शन मूल्यांकनः रिटर्न्स डेटा भविष्य के लाभ का प्रतिनिधित्व नहीं करता है

ऐतिहासिक रीट्रेसिंग डेटा के अनुसार, यह रणनीति स्पष्ट रूप से ट्रेंडिंग बाजार की स्थिति में बेहतर प्रदर्शन करती है, लेकिन क्षैतिज समाशोधन चरण में लगातार छोटे नुकसान का उत्पादन करने के लिए प्रवण है। जोखिम-समायोजित रिटर्न अधिकांश परीक्षण चक्रों में आधार सूचकांक से बेहतर है, लेकिन 15% से अधिक की अधिकतम वापसी का जोखिम है।

महत्वपूर्ण जोखिम युक्तियाँ

  • रणनीति लगातार नुकसान का जोखिम है, एक एकल स्थिति कुल निधि का 10% से अधिक नहीं है
  • ऐतिहासिक रिटर्न्स भविष्य की कमाई की गारंटी नहीं देते हैं, बाजार की स्थिति में बदलाव रणनीति के प्रदर्शन को प्रभावित कर सकता है
  • स्टॉपलॉस अनुशासन को सख्ती से लागू करने की आवश्यकता, भावनात्मक व्यापार हस्तक्षेप रणनीति को लागू करने से बचें
  • विभिन्न किस्मों के लिए अस्थिरता दर में बड़ा अंतर है, यह विशिष्ट मापदंडों के आधार पर समायोजन मापदंडों की स्थापना करने की सिफारिश की है
रणनीति स्रोत कोड
/*backtest
start: 2025-01-01 00:00:00
end: 2025-09-18 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/

//@version=5
strategy("Zero Lag + ML SuperTrend Strategy (Multi-Symbol)", overlay=true, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === Inputs ===
length      = input.int(70, "Zero Lag Length")
mult        = input.float(1.2, "Band Multiplier")
atrPeriod   = input.int(14, "ATR Period (SuperTrend)")
factor      = input.float(3.0, "ATR Multiplier (SuperTrend)")
tpPerc      = input.float(1.0, "Take Profit %")
slPerc      = input.float(0.5, "Stop Loss %")

// === Symbol Info ===
sym = syminfo.ticker

// === Zero Lag Trend ===
src  = close
lag  = math.floor((length - 1) / 2)
zlema = ta.ema(src + (src - src[lag]), length)
volatility = ta.highest(ta.atr(length), length*3) * mult

bullZL = close > zlema + volatility
bearZL = close < zlema - volatility

// === ML SuperTrend ===
atr = ta.atr(atrPeriod)
upperband = hl2 + factor * atr
lowerband = hl2 - factor * atr

var float trend = na
if close > nz(trend[1], hl2)
    trend := math.max(lowerband, nz(trend[1], hl2))
else
    trend := math.min(upperband, nz(trend[1], hl2))

bullST = close > trend
bearST = close < trend

// === Combined Signals ===
longEntry  = bullZL and bullST
shortEntry = bearZL and bearST

// === Strategy Execution ===
if (longEntry)
    strategy.entry("Long", strategy.long)
if (shortEntry)
    strategy.entry("Short", strategy.short)

// Exit conditions (fixed SL & TP)
longSL = strategy.position_avg_price * (1 - slPerc/100)
longTP = strategy.position_avg_price * (1 + tpPerc/100)

shortSL = strategy.position_avg_price * (1 + slPerc/100)
shortTP = strategy.position_avg_price * (1 - tpPerc/100)

strategy.exit("Exit Long",  from_entry="Long",  stop=longSL,  limit=longTP)
strategy.exit("Exit Short", from_entry="Short", stop=shortSL, limit=shortTP)

// === Plotting ===
plot(zlema, "ZeroLagEMA", color=color.yellow)
plot(trend, "SuperTrend", color=color.blue)

// === Alerts for Webhook ===
// Entry alerts
alertcondition(longEntry, title="Long Entry", 
     message='{"action":"long","symbol":"{{ticker}}","price":{{close}}}')

alertcondition(shortEntry, title="Short Entry", 
     message='{"action":"short","symbol":"{{ticker}}","price":{{close}}}')

// Exit alerts (triggered only on TP/SL)
longTP_hit  = strategy.position_size <= 0 and close >= longTP
longSL_hit  = strategy.position_size <= 0 and close <= longSL
shortTP_hit = strategy.position_size >= 0 and close <= shortTP
shortSL_hit = strategy.position_size >= 0 and close >= shortSL

alertcondition(longTP_hit, title="Long TP Hit", 
     message='{"action":"close_long","type":"tp","symbol":"{{ticker}}","price":{{close}}}')

alertcondition(longSL_hit, title="Long SL Hit", 
     message='{"action":"close_long","type":"sl","symbol":"{{ticker}}","price":{{close}}}')

alertcondition(shortTP_hit, title="Short TP Hit", 
     message='{"action":"close_short","type":"tp","symbol":"{{ticker}}","price":{{close}}}')

alertcondition(shortSL_hit, title="Short SL Hit", 
     message='{"action":"close_short","type":"sl","symbol":"{{ticker}}","price":{{close}}}')