यह रणनीति बाजार के रुझानों और ओवरबॉट/ओवरसोल्ड स्थितियों को निर्धारित करने के लिए गति संकेतक ADX, RSI और बोलिंगर बैंड का उपयोग करती है, ताकि कम खरीदने और उच्च बेचने के लिए स्वचालित व्यापार को लागू किया जा सके।
ADX सूचक प्रवृत्ति निर्धारित करता है। जब ADX 32 से अधिक होता है, तो यह एक प्रवृत्ति बाजार को इंगित करता है।
आरएसआई सूचक ओवरबॉट/ओवरसोल्ड स्तर निर्धारित करता है। जब आरएसआई 30 से ऊपर जाता है, तो यह ओवरसोल्ड मार्केट का संकेत देता है। जब आरएसआई 70 से नीचे जाता है, तो यह ओवरबोल्ड मार्केट का संकेत देता है।
बोलिंगर बैंड्स समेकन और ब्रेकआउट को निर्धारित करते हैं। जब बंद कीमत ऊपरी बैंड से ऊपर टूटती है, तो यह समेकन और ऊपर की ओर ब्रेकआउट के अंत का संकेत देती है। जब बंद कीमत निचले बैंड से नीचे टूटती है, तो यह समेकन और नीचे की ओर ब्रेकआउट के अंत का संकेत देती है।
उपरोक्त संकेतकों के आधार पर, व्यापार रणनीति को निम्नानुसार परिभाषित किया गया हैः
खरीद की शर्तः
बेचने की शर्तः
यह रणनीति बाजार की स्थितियों को निर्धारित करने के लिए कई संकेतकों का उपयोग करती है, एक एकल संकेतक पर निर्भर होने पर त्रुटि की संभावना से बचती है। प्रवृत्ति और ओवरबॉट / ओवरसोल्ड स्थिति का निर्धारण करके, यह प्रभावी रूप से बाजार के मोड़ बिंदुओं को पकड़ सकता है और कम खरीद उच्च बेच सकता है।
यह रणनीति केवल रुझान संकेतकों का उपयोग करने की तुलना में, अल्पकालिक अवसरों को अधिक समय पर पकड़ सकती है। केवल दोलनकर्ताओं का उपयोग करने की तुलना में, यह रणनीति रुझान की दिशा को बेहतर ढंग से समझ सकती है। इसलिए, यह रुझानों को ट्रैक करने का लाभ बरकरार रखता है, जबकि औसत रिवर्स ट्रेडिंग की लचीलापन भी रखता है। यह एक संभावित कुशल मात्रात्मक रणनीति है।
इस रणनीति के मुख्य जोखिमों में निम्नलिखित शामिल हैंः
संकेतकों से झूठे संकेतों का जोखिम। जब बाजार चरम घटनाओं का अनुभव करते हैं तो संकेतकों में विफलता हो सकती है।
स्टॉप के बहुत करीब होने का जोखिम। यदि स्टॉप बहुत करीब हैं तो बाजार के अल्पकालिक उतार-चढ़ाव स्थिति को समाप्त कर सकते हैं।
यदि सूचक मापदंडों को केवल ऐतिहासिक आंकड़ों के आधार पर समायोजित किया जाता है, तो स्थिरता संदिग्ध होगी और यह बदलती बाजार गतिशीलता के अनुकूल नहीं हो सकती है।
जोखिम प्रबंधन उपाय:
गलत संकेतों से नुकसान से बचने के लिए रणनीति को रोकने के लिए असामान्य बाजार स्थितियों में मैन्युअल रूप से हस्तक्षेप करें।
उचित स्टॉप दूरी निर्धारित करें, चलती औसत के साथ संयोजन में स्टॉप स्तर निर्धारित करें, समय से पहले बंद होने से बचें।
पैरामीटर ट्यूनिंग मॉड्यूल पेश करें, मजबूती सुनिश्चित करने के लिए वॉक फॉरवर्ड विश्लेषण का उपयोग करके पैरामीटर को गतिशील रूप से अनुकूलित करें।
इस रणनीति में सुधार के मुख्य पहलुओं में निम्नलिखित शामिल हैंः
प्रत्येक बाजार के लिए अनुकूलित मशीन लर्निंग एल्गोरिदम का उपयोग करके संकेतक मापदंडों का अनुकूलन करें।
सुविधा इंजीनियरिंग, सिग्नल सटीकता में सुधार के लिए अधिक तकनीकी संकेतकों और प्रशिक्षण मॉडल जैसे एसवीएम की शुरूआत।
स्थिरता बढ़ाने के लिए मूल्य चैनलों, समर्थन/प्रतिरोध आदि का उपयोग करके प्रत्येक बाजार की विशेषताओं के आधार पर ब्रेकआउट रणनीतियों को शामिल करें।
लाभ अधिकतम करने और जोखिमों को प्रभावी ढंग से नियंत्रित करने के लिए ट्रेलिंग स्टॉप, मूविंग स्टॉप आदि की शुरूआत करके लाभ लेने और हानि रोकने के तंत्र को अनुकूलित करना।
यह मध्यम अवधि की मात्रात्मक ट्रेडिंग रणनीति ADX, RSI और बोलिंगर बैंड जैसे कई तकनीकी संकेतकों का उपयोग बाजार की स्थितियों को निर्धारित करने और महत्वपूर्ण संरचनात्मक परिवर्तनों की पहचान होने पर ट्रेडों को रखने के लिए करती है। तर्क स्पष्ट और व्याख्या करने योग्य है, एक एकल संकेतक पर निर्भरता को काफी कम करता है। इस बीच, झूठे संकेतों, अत्यधिक तंग स्टॉप और पैरामीटर ओवरफिटिंग जैसे जोखिमों को जोखिम प्रबंधन और मॉडल अनुकूलन के माध्यम से संबोधित करने की आवश्यकता है ताकि स्थिरता और दक्षता में वृद्धि हो सके।
/*backtest start: 2023-11-10 00:00:00 end: 2023-12-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("DAX Shooter 5M Strategy", overlay=true) //Creo ADX adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") th = input(title="threshold", type=input.integer, defval=20) dirmov(len) => up = change(high) down = -change(low) plusDM = na(up) ? na : up > down and up > 0 ? up : 0 minusDM = na(down) ? na : down > up and down > 0 ? down : 0 truerange = rma(tr, len) plus = fixnan(100 * rma(plusDM, len) / truerange) minus = fixnan(100 * rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) adx [plus, minus] = dirmov(dilen) sig = adx(dilen, adxlen) //Creo RSI src = close len = input(7, minval=1, title="Periodo RSI") up = rma(max(change(src), 0), len) down = rma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down) bandainf = input(30, title="Livello Ipervenduto") bandasup = input(70, title="Livello Ipercomprato") //Creo Bande di Bollinger source = close length = input(50, minval=1, title="Periodo BB") mult = input(2.0, minval=0.001, maxval=50, title="Dev BB") basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev plot(basis, color=color.white) p1 = plot(upper, color=color.aqua) p2 = plot(lower, color=color.aqua) fill(p1, p2) //Stabilisco regole di ingresso if crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower strategy.entry("COMPRA", strategy.long, limit=upper, oca_name="DaxShooter", comment="COMPRA") else //strategy.exit("exit", "COMPRA", loss = 90) strategy.cancel(id="COMPRA") if crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper strategy.entry("VENDI", strategy.short, limit=lower, oca_name="DaxShooter",comment="VENDI") else //strategy.exit("exit", "VENDI", loss = 90) strategy.cancel(id="VENDI") //Imposto gli alert buy= crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower sell= crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper alertcondition(buy, title='Segnale Acquisto', message='Compra DAX') alertcondition(sell, title='Segnale Vendita', message='Vendi DAX') //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)