
अस्थिरता और लेन-देन की मात्रा के साथ मिश्रित सूचकांक प्रवृत्ति ट्रैकिंग रणनीति एक मात्रात्मक ट्रेडिंग प्रणाली है जो व्यापार की मात्रा और मूल्य उतार-चढ़ाव के बीच संबंधों पर आधारित है। यह रणनीति बाजार की गतिशीलता में परिवर्तन को पकड़ने के लिए व्यापार की मात्रा और मूल्य उतार-चढ़ाव के परस्पर संबंध की गणना करके एक मिश्रित सूचकांक बनाती है, और अल्पकालिक और दीर्घकालिक औसत रेखाओं के साथ प्रवृत्ति की दिशा की पुष्टि करती है। इसका मूल यह है कि व्यापार में असामान्य वृद्धि के साथ मूल्य उतार-चढ़ाव के विस्तार के साथ महत्वपूर्ण बाजार मोड़ की पहचान की जाए, जबकि फिबोनाची अनुपात की दर से जोखिम और लाभप्रदता के लक्ष्यों का उपयोग किया जाए। यह प्रणाली प्रवृत्ति को ट्रैक करने के लिए, लेकिन यह भी है कि प्रवृत्ति को पीछे की ओर सेट किया जा सकता है।
इस रणनीति के लिए मुख्य कंप्यूटिंग तर्क में निम्नलिखित महत्वपूर्ण कदम शामिल हैंः
लेनदेन की मात्रा का विश्लेषणसरल चलती औसत (एसएमए) का उपयोग करके व्यापार की औसत मात्रा (वॉल्यूम) की गणना करें और वर्तमान व्यापार की मात्रा की तुलना औसत के साथ करें। प्रतिशत सूचक (वॉल्यूम प्रतिशत = वॉल्यूम / वॉल्यूम * 100) ।
अस्थिरता गणना: मूल्य उतार-चढ़ाव की मात्रा को गणना करने के लिए K-लाइन की गतिशीलता और समापन मूल्य के अनुपात की गणना करें।
मिश्रित सूचकांक निर्माणव्यापार की मात्रा के प्रतिशत को अस्थिरता के साथ गुणा करके एक मिश्रित सूचकांक बनाया गया है, जो व्यापार की मात्रा और कीमतों में उतार-चढ़ाव की दोहरी असामान्यता को दर्शाता है।
समरेखा प्रणालीसंक्षिप्त और दीर्घकालिक चलती औसत की गणना करें और संकेत संवेदनशीलता को बढ़ाने के लिए संवेदनशीलता वृद्धि गुणांक का उपयोग करें।
गतिशील अवमूल्यनगतिशील फ़िल्टरिंग मानों का निर्माण करने के लिए, बाजार के शोर को फ़िल्टर करने के लिए index_threshold_magnification को दीर्घकालिक औसत रेखा से गुणा करें।
आकृति पहचान: lookback_bars रूट के-लाइन के विश्लेषण के माध्यम से, एक विशिष्ट उलटा पैटर्न पैटर्न का पता लगाने के लिए, उदाहरण के लिए, एक संकेत ट्रिगर जब एक विशिष्ट परिवर्तनशील प्रवृत्ति में उतार-चढ़ाव सूचकांक है, और कीमत पैटर्न उलटा शर्तों के अनुरूप है।
सिग्नल निर्माण:
जोखिम प्रबंधनFibonacci अनुपात के आधार पर स्वचालित रूप से रोक-टोक (take_profit) और रोक-तोड़ (stop_loss) स्तर सेट करें, आकृति की ऊंचाई (bearish_range) के आधार पर गणना करें, सुनिश्चित करें कि जोखिम-लाभ अनुपात उचित रूप से सेट हो।
समग्र सूचकांक के फायदेव्यापारिक मात्रा और उतार-चढ़ाव की दर के संयोजन से, यह रणनीति बाजार के असामान्य रूप से सक्रिय बिंदुओं को अधिक व्यापक रूप से पकड़ने में सक्षम है, जिससे एक एकल सूचक द्वारा संभावित रूप से भ्रामक होने से बचा जा सकता है।
गतिशील अनुकूलन: डायनामिक थ्रेसहोल्ड मैग्निफिकेशन (index_threshold_magnification_auto) तंत्र का उपयोग करें, जिससे रणनीति को विभिन्न बाजार स्थितियों में उतार-चढ़ाव की विशेषताओं के अनुकूल बनाया जा सके, जिससे गलत संकेतों को कम किया जा सके।
आकृति सत्यापन तंत्र: lookback_bars पैरामीटर के साथ K-लाइन पैटर्न की पिछली ओर विश्लेषण, संकेत की विश्वसनीयता को बढ़ाता है, न केवल सूचक क्रॉसिंग पर निर्भर करता है, बल्कि मूल्य पैटर्न के सहयोग की भी आवश्यकता होती है, जो झूठी दरार के जोखिम को काफी कम करता है।
लचीली रणनीति: reversal_s पैरामीटर के माध्यम से ट्रेंड ट्रैकिंग और रिवर्सिंग रणनीतियों के बीच स्विच करें, जिससे सिस्टम विभिन्न बाजार स्थितियों और व्यापारिक आवश्यकताओं के अनुकूल हो सके।
व्यवस्थित जोखिम प्रबंधनFibonacci स्तरों पर आधारित स्टॉप-स्टॉप-लॉस तंत्र, जो वास्तविक बाजार में उतार-चढ़ाव की मात्रा के आधार पर जोखिम मापदंडों को स्वचालित रूप से समायोजित करता है, जो कि फिक्स्ड पॉइंट्स के साथ आने वाली असंगतताओं से बचा जाता है।
सहज ज्ञान युक्त दृश्य: रणनीति व्यापारिक मात्रा के स्तंभों के साथ-साथ सूचक वक्र के दृश्य प्रदर्शन प्रदान करती है, व्यापारिक संकेत स्पष्ट और सहज होते हैं, जिससे व्यापारियों को बाजार की स्थिति और निर्णय लेने के आधार को समझने में मदद मिलती है।
पैरामीटर समायोज्य: कई समायोज्य पैरामीटर प्रदान करता है (vol_length, index_short_length, index_long_length, आदि), जो व्यापारियों को विभिन्न बाजार विशेषताओं और व्यक्तिगत जोखिम वरीयताओं के अनुसार अनुकूलित सेटिंग्स की अनुमति देता है।
पैरामीटर संवेदनशीलता जोखिमयह रणनीति कई पैरामीटर सेटिंग्स पर निर्भर करती है, जैसे कि लेन-देन की औसत रेखा लंबाई (vol_length), सूचकांक औसत रेखा लंबाई (index_short_length, index_long_length) आदि। पैरामीटर का गलत चयन ओवरफिट या सिग्नल देरी का कारण बन सकता है। समाधानः ऐतिहासिक रीट्रेसिंग का अनुकूलन करें, विभिन्न बाजार स्थितियों में स्थिर प्रदर्शन के लिए पैरामीटर का एक संयोजन ढूंढें, और किसी विशेष अवधि के डेटा के अति-अनुकूलन से बचें।
फ़र्ज़ी घुसपैठ का खतराहालांकि रणनीति में एक गतिशील थ्रेसहोल्ड फ़िल्टरिंग तंत्र है, उच्च अस्थिरता वाले बाजारों में सूचकांक के थ्रेसहोल्ड को तोड़ने के बाद तेजी से वापस आने की संभावना है। समाधानः संकेत की पुष्टि की अवधि को बढ़ाएं, या अन्य तकनीकी संकेतकों (जैसे आरएसआई, एमएसीडी) के साथ मिलकर कई पुष्टि करें, जिससे संकेत की विश्वसनीयता बढ़े।
अनुचित स्टॉपओवर जोखिमFibonacci-आधारित स्टॉप-लॉस सेटिंग्स अत्यधिक अस्थिर बाजारों में धन की सुरक्षा के लिए पर्याप्त नहीं हो सकती हैं। समाधानः अधिकतम स्टॉप लॉस अनुपात सीमा बढ़ाएं, या स्टॉप लॉस फाइब पैरामीटर को ऐतिहासिक उतार-चढ़ाव के आधार पर गतिशील रूप से समायोजित करें ताकि जोखिम को स्वीकार्य सीमा के भीतर नियंत्रित किया जा सके।
रुझानों को गलत आंकने का खतराबाजार में उतार-चढ़ाव या उतार-चढ़ाव की स्थिति में, पारदर्शी संकेत अक्सर दिखाई दे सकते हैं, जिससे ओवर-ट्रेडिंग होती है। समाधानः प्रवृत्ति की ताकत के संकेतकों को पेश करना (जैसे ADX) कमजोर प्रवृत्ति वाले बाजार के संकेतों को फ़िल्टर करना, या ट्रेडिंग आवृत्ति प्रतिबंध की शर्तों को बढ़ाना।
तरलता जोखिम: रणनीति लेन-देन की मात्रा में परिवर्तन के प्रति संवेदनशील है और कम तरलता वाले बाजारों में गलत संकेत या स्लाइड पॉइंट की समस्या का सामना कर सकती है। समाधानः न्यूनतम लेनदेन की मात्रा में अवमूल्यन की शर्तें जोड़ें, कम तरलता वाले वातावरण में व्यापार करने से बचें, या सूचकांक संवेदनशीलता को समायोजित करें (index_magnification) छोटे उतार-चढ़ाव के लिए प्रतिक्रिया को कम करें।
रिटर्न्स अवधि के बाहर जोखिम: रणनीति ने ऐतिहासिक आंकड़ों पर अच्छा प्रदर्शन किया है, लेकिन भविष्य में बाजार की परिस्थितियों में बदलाव से प्रदर्शन में गिरावट आ सकती है। समाधानः आउट-ऑफ-नमूना परीक्षण और आगे की ओर परीक्षण के तरीकों का उपयोग करें, समय-समय पर नीति मापदंडों का पुनर्मूल्यांकन और समायोजन करें, और नीति को अनुकूल बनाए रखें।
बहु-समय चक्र सत्यापन तंत्रवर्तमान में रणनीति केवल एक समय चक्र के भीतर चलती है, एक बहु-समय चक्र विश्लेषण ढांचे को पेश किया जा सकता है, उच्च समय चक्र की प्रवृत्ति की दिशा को ट्रेडिंग सिग्नल के साथ मेल खाने की आवश्यकता होती है, जीत की दर को बढ़ाता है। इस प्रकार, बड़े रुझानों के रिवर्स ऑपरेशन से बचा जा सकता है, जिससे “पंच” होने का जोखिम कम हो जाता है।
बाजार की स्थिति वर्गीकरण: बाजार की स्थिति वर्गीकरण तंत्र ((ट्रेंडिंग बाजार / अस्थिर बाजार) को जोड़ना, विभिन्न बाजार स्थितियों के अनुसार स्वचालित रूप से रणनीति पैरामीटर या ट्रेडिंग नियमों को समायोजित करना। उदाहरण के लिए, बाजार की स्थिति को एटीआर या अस्थिरता सूचकांक के माध्यम से आंका जा सकता है, उच्च अस्थिरता वाले वातावरण में मूल्यह्रास की आवश्यकता को बढ़ाया जा सकता है, कम अस्थिरता वाले वातावरण में छूट की शर्तें।
मशीन लर्निंग ऑप्टिमाइज़ेशन पैरामीटर: मशीन लर्निंग एल्गोरिदम को लागू करें जो रणनीति के पैरामीटर को गतिशील रूप से अनुकूलित करता है, जैसे कि आनुवंशिक एल्गोरिदम या रिफर्शर लर्निंग विधियों का उपयोग करके इष्टतम पैरामीटर संयोजन खोजने के लिए, ताकि रणनीति बाजार में बदलाव के लिए अनुकूल हो सके।
भावनात्मक संकेतक एकीकरण: बाजार भावना संकेतक (जैसे VIX, पूंजी प्रवाह आदि) को सिग्नल जनरेशन तर्क में एकीकृत करना, बाजार के टर्नओवर की पूर्व-निर्धारण क्षमता में सुधार करना। बाजार की भावना अक्सर कीमत में बदलाव से पहले होती है, भावना संकेतक के संयोजन से बाजार के टर्नओवर सिग्नल को पहले से पकड़ लिया जा सकता है।
रोकथाम रणनीति का अनुकूलन: एक बैच-स्टॉप तंत्र को लागू करना, जो फिबोनाची अनुक्रम के अनुसार लाभ के बैचों को प्राप्त करता है, जो कि लाभ के कुछ हिस्सों को लॉक करने और शेष पदों को प्रवृत्ति के लाभ का पूरा आनंद लेने की अनुमति देता है। उदाहरण के लिए, 0.382, 0.618, 1.0 और 1.618 जैसे स्तरों पर एक निश्चित अनुपात के लिए पदों की स्थापना की जा सकती है।
लेन-देन लागत विचार: वर्तमान रणनीति में लेनदेन की लागत को ध्यान में नहीं रखा गया है, लेनदेन की लागत की गणना के तर्क को शामिल किया जा सकता है, यह सुनिश्चित करने के लिए कि संकेतों से उत्पन्न होने वाली अपेक्षित आय लेनदेन की लागत से अधिक हो, और बार-बार छोटे लेनदेन से होने वाली लागत से बचें।
जोखिम प्रबंधन: एक गतिशील स्थिति प्रबंधन मॉड्यूल जोड़े गए, जो स्वचालित रूप से ऐतिहासिक उतार-चढ़ाव, वर्तमान सिग्नल ताकत और खाते की जोखिम सहनशीलता के आधार पर इष्टतम स्थिति आकार की गणना करता है, और अधिक वैज्ञानिक धन प्रबंधन प्राप्त करता है।
प्रासंगिकता फ़िल्टर: बहु-संपत्ति व्यापार परिदृश्यों में, प्रासंगिकता विश्लेषण मॉड्यूल को जोड़ें, एक ही समय में कई अत्यधिक प्रासंगिक परिसंपत्तियों पर एक समान स्थिति स्थापित करने से बचें, और प्रणालीगत जोखिम को कम करें।
अस्थिरता और लेन-देन की मात्रा के साथ मिश्रित सूचकांक की प्रवृत्ति ट्रैकिंग रणनीति ने व्यापार की मात्रा और मूल्य की अस्थिरता के संकेतकों के अभिनव संयोजन के माध्यम से एक मात्रात्मक व्यापार प्रणाली का निर्माण किया है जो बाजार की गतिशीलता में परिवर्तन को पकड़ने में सक्षम है। यह रणनीति संभावित टर्नओवर और प्रवृत्ति की पुष्टि की पहचान करने में उत्कृष्ट प्रदर्शन करती है, जबकि फिबोनाची स्टॉप-लॉस प्रबंधन और एक वैकल्पिक रिवर्स मोड के माध्यम से लचीला व्यापार निष्पादन तंत्र प्रदान करती है।
रणनीतियों की मुख्य ताकत उनके व्यापक सूचक प्रणाली और गतिशील अनुकूलन क्षमता में निहित है, जो विभिन्न बाजार स्थितियों में उच्च गुणवत्ता वाले व्यापारिक अवसरों की पहचान करने में सक्षम है। हालांकि, उपयोगकर्ताओं को संभावित जोखिमों जैसे कि पैरामीटर संवेदनशीलता, झूठे ब्रेकआउट और रुझान की गलतफहमी के बारे में सतर्क रहने की आवश्यकता है, और रणनीतियों की स्थिरता और अनुकूलनशीलता को कई समय चक्रों की पुष्टि, बाजार की स्थिति के वर्गीकरण, मशीन सीखने के अनुकूलन आदि के माध्यम से आगे बढ़ाया जा सकता है।
उचित रूप से सेट किए गए पैरामीटर और निरंतर अनुकूलन के साथ, यह रणनीति एक व्यापारी के टूलकिट में एक शक्तिशाली हथियार बन सकती है, विशेष रूप से असामान्य बाजार टर्नओवर की तलाश के लिए उपयुक्त है जहां व्यापारिक मात्रा मूल्य उतार-चढ़ाव के साथ तालमेल रखती है, जिससे व्यापारियों को जटिल और अस्थिर बाजारों में महत्वपूर्ण व्यापारिक अवसरों को पकड़ने में मदद मिलती है।
/*backtest
start: 2024-05-26 00:00:00
end: 2025-05-25 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=6
strategy("Volume and Volatility Ratio Indicator-WODI", overlay=false)
// === 用户自定义参数 ===
vol_length = input(48, title="交易量均线长度") // 交易量均线长度
index_short_length = input(13, title="指数短均线长度") // 交易量均线长度
index_long_length = input(26, title="指数均线长度") // 交易量均线长度
index_magnification = input(2, title="指数均线敏感度") // 调整指数倍率
index_threshold_magnification = input(200, title="指数阈值百分比") // 交易量/波动率指数阈值
lookback_bars = input(3, title="K线形态检测长度") // 形态检测 K 线数量
reversal_s = input.bool(title = "反转策略", defval = false, group="Position")
stopLossFib = input.float(title="止损斐波那契", defval=0, options=[0, 0.127, 0.236, 0.382, 0.5, 0.618, 0.692, 0.786, 1, 1.272, 1.414, 1.618, 2.272, 2.414, 2.618, 3, 3.414, 3.618, 4, 4.236, 4.272, 4.414, 5], group="Position")
takeProfitFib = input.float(title="止盈斐波那契", defval=1.618, options=[0, 0.127, 0.236, 0.382, 0.5, 0.618, 0.692, 0.786, 1, 1.272, 1.414, 1.618, 2.272, 2.414, 2.618, 3, 3.414, 3.618, 4, 4.236, 4.272, 4.414, 5], group="Position")
// === 计算交易量均线 ===
vol_ma = ta.sma(volume, vol_length)
// === 计算当前交易量为平均交易量的百分比 ===
vol_percent = volume / vol_ma * 100
// === 计算波动率(当前 K 线振幅) ===
volatility = (high - low) / close * 100
// === 计算交易量/波动率指数 ===
new_module = ((volume*volume)/volatility) //新算法,不好用
volatility_index = volume*volatility //
// === 计算指数平均值,用平均值做触发阈值 ===
index_short_ma = ta.sma(volatility_index, index_short_length)
index_long_ma = ta.sma(volatility_index, index_long_length)
index_threshold_magnification_auto = index_long_ma * index_threshold_magnification /100
// === 计算前 lookback_bars 根 K 线的指数趋势 ===
is_reversal_pattern = false
is_reversal_pattern_s = false
for i = 1 to lookback_bars
if volatility_index[1] > volatility_index[2] and (volatility_index[1] > volatility_index[0] or volume[1] > volume[0])and close[i+1] > close[i] and close[1] < close[0] and volume > vol_ma and volatility_index > index_threshold_magnification_auto and ((open[1] - close[1] < close[1] - low[1]) or (open[0] - close[0] < close[0] - low[0]))
if i >= lookback_bars
is_reversal_pattern := true
else if i < lookback_bars
break
for i = 1 to lookback_bars
if volatility_index[1] > volatility_index[2] and (volatility_index[1] > volatility_index[0] or volume[1] > volume[0])and close[i+1] < close[i] and close[1] > close[0] and volume > vol_ma and volatility_index > index_threshold_magnification_auto and ((close[1] - open[1] < high[1] - close[1]) or (close[0] - open[0] < high[0] - close[0]))
if i >= lookback_bars
is_reversal_pattern_s := true
else if i < lookback_bars
break
// === 绘制指标 ===
//plot(vol_ma, color=color.rgb(158, 161, 170), linewidth = 1, title="交易量均线")
//plot(index_short_ma * index_magnification, color=color.gray, linewidth = 1, title="指数短均线")
//plot(index_long_ma * index_magnification, color=#2ad7f6, linewidth = 1, title="指数长均线")
plot(index_threshold_magnification_auto, color=color.rgb(238, 66, 193), linewidth = 1, title="波动率阈值")
// === 交易量柱状图(高亮大于均值的交易量) ===
bar_color = volume > vol_ma ? (is_reversal_pattern? #bc2af6 : (is_reversal_pattern_s? #f22a2a : color.rgb(77, 231, 255, 37))) : color.rgb(120, 123, 134, 70)
plot(volatility_index*2, style=plot.style_columns, color=bar_color, title="交易量柱状图")
plot(volume, style=plot.style_stepline, color=#00000055, title="交易量")
// === 反转做多策略 ===
var float stop_loss = na
var float take_profit = na
if is_reversal_pattern and (reversal_s ? strategy.position_size >= 0 : strategy.position_size <= 0)
bearish_low = low[1] < low[0]? low[1] : low [0]// 形态最低点
bearish_high = high[lookback_bars] > high[0] ? high[lookback_bars] : high[0]// 形态最高点
bearish_range = bearish_high - bearish_low // 形态振幅
// === 计算止损 (SL) 和止盈 (TP) ===
stop_loss := reversal_s ? bearish_high + (bearish_range * stopLossFib) : bearish_low - (bearish_range * stopLossFib) //止损斐波那契
take_profit := reversal_s ? bearish_high - (bearish_range * takeProfitFib) : bearish_low + (bearish_range * takeProfitFib) //止盈斐波那契
is_reversal_pattern := false
strategy.entry(reversal_s ? "short" : "Long", reversal_s ? strategy.short : strategy.long)
if is_reversal_pattern_s and (reversal_s ? strategy.position_size <= 0 : strategy.position_size >= 0)
bearish_low = low[lookback_bars] < low[0] ? low[lookback_bars] : low[0]// 形态低点
bearish_high = high[1] > high[0]? high[1] : high [0]// 形态高点
bearish_range = bearish_high - bearish_low // 形态振幅
// === 计算止损 (SL) 和止盈 (TP) ===
stop_loss := reversal_s ? bearish_low - (bearish_range * stopLossFib) : bearish_high + (bearish_range * stopLossFib) //止损斐波那契
take_profit := reversal_s ? bearish_low + (bearish_range * takeProfitFib) : bearish_high - (bearish_range * takeProfitFib) //止盈斐波那契
is_reversal_pattern_s := false
strategy.entry(reversal_s ? "Long" : "short", reversal_s ? strategy.long : strategy.short)
// === 止损 (SL) 和止盈 (TP) ===
if low[0] < stop_loss and strategy.position_size >= 0
strategy.close("Long", qty_percent = 100)
if high[0] > take_profit and strategy.position_size >= 0
strategy.close("Long", qty_percent = 100)
if high[0] > stop_loss and strategy.position_size <= 0
strategy.close("short", qty_percent = 100)
if low[0] < take_profit and strategy.position_size <= 0
strategy.close("short", qty_percent = 100)