
बहु-सूचक आम सहमति ट्रेडिंग रणनीति एक मात्रात्मक ट्रेडिंग प्रणाली है जिसमें तीन अलग-अलग तकनीकी संकेतकों का संयोजन किया जाता है, जो ट्रेडिंग संकेतों को संकेतक के बीच पारस्परिक सत्यापन के माध्यम से पुष्टि करता है। यह रणनीति एक तरलता-भारित सुपरट्रेंड (एलडब्ल्यूएसटी), ट्रेंड सिग्नल सिस्टम और प्रबलित तरंगों वाले ट्रेंड ऑसिलेटर (डब्ल्यूटी) को एकीकृत करती है, जो केवल तभी खरीदारी या बिक्री को निष्पादित करती है जब कम से कम दो संकेतक एक ही दिशा में संकेत देते हैं। इस आम सहमति तंत्र ने संकेतों की विश्वसनीयता को काफी बढ़ाया है और झूठी दरारों से होने वाले नुकसान को कम कर दिया है। साथ ही, रणनीति में अंतर्निहित स्टॉप और स्टॉप लॉस तंत्र है, जो प्रत्येक ट्रेड के लिए एक जोखिम नियंत्रण ढांचा प्रदान करता है।
बहु-सूचक आम सहमति ट्रेडिंग रणनीतियों का मूल सिद्धांत बाजार की स्थिति के बहु-आयामी विश्लेषण के माध्यम से ट्रेडिंग दिशा की पुष्टि करना हैः
तरलता भारित सुपरट्रेंड (LWST)एटीआर और यातायात जानकारी के संयोजन से गतिशील समर्थन प्रतिरोध बैंड बनाया जाता है। यह सूचक पारंपरिक सुपरट्रेंड सूचक को यातायात भार के साथ जोड़ता है, जिससे उच्च यातायात क्षेत्रों में बैंडविड्थ अधिक संवेदनशील हो जाता है। गणना प्रक्रिया में शामिल हैंः
रुझान संकेत प्रणालीदोहरी ईएमए प्रणाली का उपयोग करके मूल्य रुझानों का पता लगाने के लिए। तेजी से और धीमी गति से चलती औसत के बीच प्रतिशत अंतर की तुलना करके बाजार की प्रवृत्ति की ताकत का न्याय करें। जब तेजी से ईएमए धीमी गति से ईएमए से अधिक सेट थ्रेशोल्ड तक पहुंचता है, तो एक बहु-हेड सिग्नल उत्पन्न होता है; इसके विपरीत, एक खाली सिर सिग्नल उत्पन्न होता है।
प्रबलित लहर प्रवृत्ति ऑसिलेटर ((डब्ल्यूटी): कीमतों के अपने सपाट औसत से विचलन की डिग्री के आधार पर उतार-चढ़ाव के मूल्य की गणना करें, जो ओवरबॉट और ओवरसोल्ड की स्थिति की पहचान करने के लिए है। यह संकेतक निम्नलिखित चरणों के माध्यम से संकेत उत्पन्न करता हैः
सिग्नल तंत्ररणनीतिः ट्रेड केवल तभी निष्पादित की जाती है जब कम से कम दो संकेतक सहमत हों। यह मल्टीहेड संकेतक की संख्या की गणना करके किया जाता है (रेंज -3 से 3) । जब संख्या 2 के बराबर होती है तो एक खरीद संकेत उत्पन्न होता है, जब यह 2 के बराबर होता है तो एक बेचने का संकेत उत्पन्न होता है।
जोखिम प्रबंधन: प्रत्येक लेन-देन के लिए स्टॉप लॉस (डिफ़ॉल्ट 2%) और स्टॉप लॉस (डिफ़ॉल्ट 4%) की स्थापना की जाती है, जो किसी भी शर्त को पूरा करने पर स्वचालित रूप से बाहर निकलती है।
सिग्नल फ़िल्टरिंग बढ़ाया: ट्रेडों को निष्पादित करने के लिए कई संकेतकों की सहमति की आवश्यकता होती है, जिससे एक एकल संकेतक द्वारा उत्पन्न होने वाले भ्रामक संकेतों को काफी कम किया जा सकता है, जिससे ट्रेडों की सटीकता में सुधार होता है।
विभिन्न बाजार स्थितियों के लिए अनुकूलनतीनों सूचकांक अलग-अलग बाजार विशेषताओं पर ध्यान केंद्रित करते हैं (प्रवृत्ति, गतिशीलता, अस्थिरता) जो रणनीति को विभिन्न बाजार स्थितियों में प्रभावी बनाए रखने में सक्षम बनाता है।
तरलता संवेदनशील समायोजन: तरलता-भारी सुपरट्रेंड्स लेन-देन की गतिशीलता के आधार पर संवेदनशीलता को समायोजित करते हैं, जिससे रणनीति उच्च तरलता वाले क्षेत्रों में रुझान परिवर्तन को अधिक तेज़ी से पकड़ती है, जबकि कम तरलता वाले क्षेत्रों में अधिक रूढ़िवादी होती है।
अंतर्निहित जोखिम प्रबंधन: पूर्वनिर्धारित रोक और रोक तंत्र प्रत्येक व्यापार के लिए एक स्पष्ट जोखिम-लाभ अनुपात प्रदान करता है, जो एक व्यापार के जोखिम को स्वीकार्य सीमा के भीतर नियंत्रित करता है।
एक सहज ज्ञान युक्त विज़ुअलाइज़ेशन उपकरणरणनीतियाँ वास्तविक समय में सिग्नल टेबल्स और ग्राफिक्स प्रदान करती हैं, जो व्यापारियों को वर्तमान बाजार की स्थिति और विभिन्न सूचकांकों के संकेतों को जल्दी से समझने में मदद करती हैं।
धन प्रबंधन एकीकरणस्मार्ट धन प्रबंधन के लिए खाते के अधिकार और हितों के आधार पर स्थिति का आकार सेट करें और अत्यधिक जोखिम से बचें।
पैरामीटर संवेदनशीलतारणनीतिः कई समायोज्य मापदंडों का उपयोग करें, अनुचित पैरामीटर सेटिंग से अति-अनुकूलन या सिग्नल की कमी हो सकती है। समाधानः एक व्यापक पैरामीटर संवेदनशीलता विश्लेषण करें, कई बाजार स्थितियों में स्थिर प्रदर्शन के लिए पैरामीटर संयोजन चुनें।
सिग्नल में देरीसमाधानः विभिन्न समय अवधि के लिए विभिन्न पैरामीटर संयोजनों को सेट करने पर विचार करें, या एक अधिक संवेदनशील अल्पकालिक सूचक जोड़ें।
बाज़ारों में गिरावट: स्पष्ट प्रवृत्ति के बिना बाजारों में, कई प्रवृत्ति संकेतक मिश्रित संकेत दे सकते हैं, जिसके परिणामस्वरूप अक्सर व्यापार या कोई व्यापार नहीं होता है। समाधानः एक विशेष रूप से पारदर्शी बाजारों की पहचान करने वाले फ़िल्टर को जोड़ना, जब पारदर्शी की पहचान की जाती है तो व्यापार को रोकना या पारदर्शी के लिए डिज़ाइन की गई रणनीति पर स्विच करना।
फिक्स्ड स्टॉप लॉस जोखिमसमाधानः एटीआर या ऐतिहासिक अस्थिरता के आधार पर स्टॉप दूरी को गतिशील रूप से समायोजित करें।
धन प्रबंधन जोखिम: डिफ़ॉल्ट रूप से 100% खाते की धनराशि का उपयोग करने से जोखिम का अत्यधिक एकाग्रता हो सकती है। समाधानः बाजार की स्थिति और सिग्नल की ताकत की गतिशीलता के आधार पर स्थिति का आकार समायोजित करें, एक विकेन्द्रीकृत व्यापार रणनीति लागू करें।
गतिशील पैरामीटर समायोजन:
बाज़ार परिवेश फ़िल्टर जोड़ें:
रोकथाम/क्षति रोक तंत्र का अनुकूलन:
सिग्नल तीव्रता श्रेणी:
समय फ़िल्टर:
बहु-सूचक आम सहमति ट्रेडिंग रणनीति एक मजबूत ट्रेडिंग प्रणाली बनाने के लिए तरलता-भारित सुपरट्रेंड, ट्रेंड सिग्नल सिस्टम और एन्हांसमेंट वेव ट्रेंड ऑस्सिलेटर को एकीकृत करती है। इसकी मुख्य विशेषता यह है कि बहु-सूचक आम सहमति तंत्र ने सिग्नल की विश्वसनीयता में उल्लेखनीय वृद्धि की है, जबकि तरलता-भारित घटक रणनीति को बाजार की गहराई के लिए संवेदनशीलता जोड़ता है। अंतर्निहित जोखिम प्रबंधन ढांचा सुनिश्चित करता है कि प्रत्येक व्यापार में एक पूर्वनिर्धारित जोखिम-लाभ अनुपात है।
फिर भी, रणनीति में अनुकूलन की गुंजाइश है, विशेष रूप से पैरामीटर अनुकूलन, बाजार की स्थिति की पहचान और गतिशील स्टॉप लॉस स्टॉप के संदर्भ में। अनुशंसित अनुकूलन दिशाओं को लागू करने के माध्यम से, विशेष रूप से बाजार परिवेश फिल्टर और सिग्नल शक्ति ग्रेडिंग प्रणाली की स्थापना के माध्यम से, यह रणनीति विभिन्न बाजार स्थितियों में अनुकूलन और स्थिरता को और बढ़ा सकती है।
कुल मिलाकर, यह एक अच्छी तरह से डिज़ाइन किया गया मात्रात्मक ट्रेडिंग सिस्टम है, जो अनुभवी व्यापारियों के लिए वास्तविक समय से पहले प्रतिक्रिया और पैरामीटर अनुकूलन के लिए उपयुक्त है। रणनीति की मॉड्यूलर डिजाइन भी इसे व्यक्तिगत आवश्यकताओं के अनुसार संशोधित और विस्तारित करना आसान बनाती है।
/*backtest
start: 2024-03-25 00:00:00
end: 2025-03-24 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Multi-Indicator Consensus Strategy", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// =================== Input Parameters ===================
// Liquidity Weighted Supertrend
lwst_period = input.int(10, "LWST Period", minval=1, tooltip="Period for ATR calculation")
lwst_multiplier = input.float(3.0, "LWST Multiplier", minval=0.1, tooltip="Multiplier for ATR bands")
lwst_length = input.int(20, "Volume SMA Length", minval=1, tooltip="Length for volume SMA")
// Trend Signals
trend_length = input.int(14, "Trend Length", minval=1, tooltip="Length for EMA calculation")
trend_threshold = input.float(0.5, "Trend Threshold", minval=0.1, tooltip="Percentage threshold for trend signals")
// Enhanced Wavetrend
wt_channel_length = input.int(9, "WT Channel Length", minval=1, tooltip="Smoothing period for initial calculations")
wt_average_length = input.int(12, "WT Average Length", minval=1, tooltip="Smoothing period for final signal")
wt_ma_length = input.int(3, "WT MA Length", minval=1, tooltip="Moving average length for signal line")
wt_overbought = input.float(53, "WT Overbought", minval=0, tooltip="Level to identify overbought conditions")
wt_oversold = input.float(-53, "WT Oversold", minval=-100, tooltip="Level to identify oversold conditions")
// Risk Management
sl_percent = input.float(2.0, "Stop Loss %", minval=0.1, tooltip="Stop loss percentage from entry")
tp_percent = input.float(4.0, "Take Profit %", minval=0.1, tooltip="Take profit percentage from entry")
// =================== Indicator 1: Liquidity Weighted Supertrend ===================
// Volume-weighted component for dynamic sensitivity
vol_sma = ta.sma(volume, lwst_length)
vol_weight = volume / vol_sma
// ATR-based bands with volume weighting
atr = ta.atr(lwst_period)
upperBand = hl2 + lwst_multiplier * atr * vol_weight
lowerBand = hl2 - lwst_multiplier * atr * vol_weight
// Trend determination based on price action
var float lwst_trend = 0.0
lwst_trend := close > lwst_trend[1] ? 1 : close < lwst_trend[1] ? -1 : lwst_trend[1]
// =================== Indicator 2: Trend Signals ===================
// Dual EMA system for trend detection
fast_ema = ta.ema(close, trend_length)
slow_ema = ta.ema(close, trend_length * 2)
trend_diff = (fast_ema - slow_ema) / slow_ema * 100
trend_signal = trend_diff > trend_threshold ? 1 : trend_diff < -trend_threshold ? -1 : 0
// =================== Indicator 3: Enhanced Wavetrend ===================
// Calculate Wavetrend components
ap = hlc3 // Typical price
esa = ta.ema(ap, wt_channel_length) // Smoothed price
d = ta.ema(math.abs(ap - esa), wt_channel_length) // Average volatility
ci = (ap - esa) / (0.015 * d) // Base oscillator
tci = ta.ema(ci, wt_average_length) // Smoothed oscillator
// Generate main and signal lines
wt1 = tci
wt2 = ta.sma(wt1, wt_ma_length)
// Generate Wavetrend Signal based on overbought/oversold conditions
wt_signal = 0
wt_signal := wt1 > wt_overbought and wt2 > wt_overbought ? -1 :
wt1 < wt_oversold and wt2 < wt_oversold ? 1 :
wt_signal[1]
// =================== Consensus Signal Generation ===================
// Count bullish signals (1 point for each bullish indicator)
var int consensus_count = 0
consensus_count := (lwst_trend == 1 ? 1 : 0) +
(trend_signal == 1 ? 1 : 0) +
(wt_signal == 1 ? 1 : 0)
// Generate trading signals when majority (2+ indicators) agree
bool buy_signal = consensus_count >= 2
bool sell_signal = consensus_count <= -2
// =================== Trade Execution ===================
// Long position entry and exit with risk management
if (buy_signal and strategy.position_size <= 0)
strategy.entry("Long", strategy.long)
strategy.exit("Long TP/SL", "Long",
profit = close * tp_percent / 100,
loss = close * sl_percent / 100)
// Short position entry and exit with risk management
if (sell_signal and strategy.position_size >= 0)
strategy.entry("Short", strategy.short)
strategy.exit("Short TP/SL", "Short",
profit = close * tp_percent / 100,
loss = close * sl_percent / 100)
// =================== Visualization ===================
// Signal markers for entry points
plotshape(buy_signal ? low : na, "Buy Signal", shape.triangleup, location.belowbar, color.green, size=size.small)
plotshape(sell_signal ? high : na, "Sell Signal", shape.triangledown, location.abovebar, color.red, size=size.small)
// Indicator lines
plot(wt1, "Wavetrend 1", color.blue, linewidth=1)
plot(wt2, "Wavetrend 2", color.orange, linewidth=1)
plot(wt_overbought, "Overbought", color.red, linewidth=1)
plot(wt_oversold, "Oversold", color.green, linewidth=1)
plot(fast_ema, "Fast EMA", color.yellow, linewidth=1)
plot(slow_ema, "Slow EMA", color.white, linewidth=1)
plot(lwst_trend == 1 ? upperBand : na, "Upper Band", color.green, linewidth=2)
plot(lwst_trend == -1 ? lowerBand : na, "Lower Band", color.red, linewidth=2)
// =================== Information Table ===================
// Real-time display of indicator signals
var table info = table.new(position.top_right, 2, 4)
table.cell(info, 0, 0, "Indicator", bgcolor=color.gray, text_color=color.white)
table.cell(info, 1, 0, "Signal", bgcolor=color.gray, text_color=color.white)
table.cell(info, 0, 1, "LWST", text_color=color.white)
table.cell(info, 1, 1, str.tostring(lwst_trend), text_color=lwst_trend == 1 ? color.green : color.red)
table.cell(info, 0, 2, "Trend", text_color=color.white)
table.cell(info, 1, 2, str.tostring(trend_signal), text_color=trend_signal == 1 ? color.green : color.red)
table.cell(info, 0, 3, "Wavetrend", text_color=color.white)
table.cell(info, 1, 3, str.tostring(wt_signal), text_color=wt_signal == 1 ? color.green : color.red)