यह रणनीति प्रवृत्ति की पहचान के लिए कई संकेतकों को एकीकृत करती है, और संरेखित दिशात्मक परिवर्तनों के आधार पर ट्रेडिंग संकेत उत्पन्न करती है। यह एक व्यापक और मजबूत प्रवृत्ति निम्नलिखित प्रणाली बनाने के लिए चलती औसत गति, एसटीओसीएच और एमएसीडी को जोड़ती है।
मुख्य संकेतक निम्नलिखित हैंः
चलती औसत गतिः मूल्य गति को दर्शाता है।
स्टोकः रुझान परिवर्तन के लिए ओवरसोल्ड/ओवरबुक किया गया।
एमएसीडीः दोहरी चलती औसत से रुझान में परिवर्तन।
व्यापार के नियम इस प्रकार हैंः
बढ़ते औसत गति से तेजी का संकेत मिलता है।
ओवरबोल्ड जोन में स्टोक ने मंदी का संकेत दिया है।
एमएसीडी सकारात्मक क्रॉसओवर तेजी का संकेत देता है।
दर्ज करें जब कोई भी 2 संकेतक सिग्नल संरेखित करते हैं।
संकेतकों के संकेतों में परिवर्तन होने पर बाहर निकलें।
यह संयोजन कई आयामों से रुझान का मूल्यांकन करता है, उच्च-अभिव्यक्ति संकेतों के लिए शोर को फ़िल्टर करता है।
एकल संकेतकों की तुलना में, कॉम्बो रणनीति के निम्नलिखित फायदे हैंः
संयुक्त दृश्य सटीकता में सुधार करता है।
एसेम्बल फ़िल्टरिंग झूठे संकेतों को कम करती है।
इसमें रुझान और औसत प्रतिवर्तन के संकेतक शामिल हैं।
संरेखित संकेतों में उच्च विश्वास होता है, झूठे पलायन से बचते हैं।
सरल और स्पष्ट नियम, लागू करने में आसान।
लचीला पैरामीटर समायोजन, मजबूती।
विभिन्न समय सीमाओं पर लागू।
मशीन लर्निंग के साथ संकेतक भार को प्रशिक्षित कर सकता है।
कुल मिलाकर एकल संकेतकों की तुलना में बेहतर स्थिरता और लाभप्रदता।
लाभों के बावजूद, विचार करने के लिए जोखिमों में शामिल हैंः
कई संकेतकों के साथ जटिलता में वृद्धि।
चुनौतीपूर्ण पैरामीटर अनुकूलन और भार।
परस्पर विरोधी संकेत हो सकते हैं।
कुछ विलंब हमेशा मौजूद रहता है, सभी नुकसान से बचा नहीं जा सकता।
भाग्य कारक के साथ अनिश्चित एक दिशात्मक रखरखाव अवधि।
समग्र संकेत अंतर्निहित रुझान व्यापार जोखिमों को समाप्त नहीं कर सकते हैं।
उच्च व्यापारिक आवृत्ति लेनदेन की लागत को बढ़ाती है।
लाभ/जोखिम अनुपात की निगरानी करने की आवश्यकता है।
विश्लेषण के आधार पर, सुधारों में निम्नलिखित शामिल हो सकते हैंः
विभिन्न बाजारों में संकेतकों की प्रभावशीलता का आकलन करें।
ओवरफिटिंग से बचने के लिए पैरामीटर की मजबूती की जांच जोड़ें।
संघर्षों को कम करने के लिए संकेतक भार को अनुकूलित करें।
गंभीर नुकसान को सीमित करने के लिए स्टॉप लागू करें।
असीमित रखरखाव अवधि को नियंत्रित करने के लिए समय बाहर निकलने का उपयोग करें.
लेन-देन की लागत पर व्यापारिक आवृत्ति के प्रभाव का आकलन करें।
जोखिम मेट्रिक्स की बाधाओं को शामिल करें।
कई बाजारों में मजबूती का परीक्षण करें।
रणनीति की प्रभावशीलता को निरंतर सत्यापित करें।
यह रणनीति प्रवृत्ति मूल्यांकन के लिए कई संकेतकों को एकीकृत करके स्थिर समग्र संकेत बनाता है। लेकिन निरंतर अनुकूलन किसी भी रणनीति के लिए महत्वपूर्ण है, जोखिमों की निगरानी और ओवरफिटिंग को रोकना। क्वांट ट्रेडिंग एक निरंतर सीखने की प्रक्रिया है।
/*backtest start: 2022-09-16 00:00:00 end: 2023-09-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // By TradeStation //@version=5 strategy("Mov Avg Speed Strategy", overlay=true) src = input(close, title="Source") // MA Speed avg_len = input.int(50, minval=1, title="Avg Length", group="MA Speed") roc_len = input.int(1, minval=1, title="Rate of Change Length", group="MA Speed") avg_roc_len = input.int(10, minval=1, title="Avg Rate of Change Length", group="MA Speed") // Stochastic stoch_len = input.int(14, minval=1, title="Stochastic Length", group="Stochastic") smooth_k = input.int(3, minval=1, title="Stochastic Smooth K", group="Stochastic") overbought = input.float(80, title="Stochastic Overbought", group="Stochastic") oversold = input.float(20, title="Stochastic Oversold", group="Stochastic") // MACD fast_length = input(12, title="Fast Length", group="MACD") slow_length = input(26, title="Slow Length", group="MACD") macd_avg_length = input.int(9, title="MACD Avg Length", minval=1, group="MACD") // MA Speed avg = ta.sma(src, avg_len) roc = ta.roc(avg, roc_len) avg_roc = ta.sma(roc, avg_roc_len) avg_roc_signal = avg_roc > 0 ? 1 : avg_roc < 0 ? -1 : 0 // Stochastic k k = ta.sma(ta.stoch(close, high, low, stoch_len), smooth_k) stochastic_signal = k <= oversold ? 1 : k >= overbought ? -1 : 0 // MACD fast_ma = ta.ema(src, fast_length) slow_ma = ta.ema(src, slow_length) macd = fast_ma - slow_ma macd_avg = ta.ema(macd, macd_avg_length) macd_signal = macd_avg > macd_avg[1] ? 1 : macd_avg < macd_avg[1] ? -1 : 0 // set the signal couint long_count = 0 short_count = 0 if macd_signal == 1 long_count += 1 else if macd_signal == -1 short_count += 1 if stochastic_signal == 1 long_count += 1 else if stochastic_signal == -1 short_count += 1 if avg_roc_signal == 1 long_count += 1 else if avg_roc_signal == -1 short_count += 1 if (long_count >= 2) strategy.entry("Long", strategy.long) if (short_count >= 2) strategy.entry("Short", strategy.short)