यह रणनीति डबल हुल मूविंग एवरेज इंडिकेटर, वॉल्यूम वेटेड मूविंग एवरेज इंडिकेटर, एमएसीडी इंडिकेटर और ट्रू स्ट्रेंथ इंडेक्स इंडिकेटर को मिलाकर ट्रेंड को सटीक रूप से आंकती है। यह बाजार की स्थितियों में परिवर्तन के लिए स्वचालित रूप से अनुकूलित हो सकती है और इसमें मजबूत अनुकूलन क्षमता है।
इस रणनीति का मुख्य संकेतक डबल हल मूविंग एवरेज है, जिसे दो मापदंडों केह और तेह द्वारा नियंत्रित किया जाता है। ये दो मापदंड क्रमशः फास्ट लाइन और स्लो लाइन के चक्र को निर्धारित करते हैं। फास्ट लाइन और स्लो लाइन द्वारा गठित गोल्डन क्रॉस और डेड क्रॉस वर्तमान प्रवृत्ति का न्याय करते हैं।
सहायक निर्णय सूचक वॉल्यूम वेटेड मूविंग एवरेज meh1 है। जब कीमत meh1 से अधिक होती है, तो यह एक तेजी की प्रवृत्ति है; जब कीमत meh1 से कम होती है, तो यह एक मंदी की प्रवृत्ति है।
एक और सहायक निर्णय संकेतक एमएसीडी है। यह एमएसीडी प्राप्त करने के लिए धीमी गति से चलती औसत से तेजी से चलती औसत को घटाकर प्राप्त किया जाता है, और फिर संकेत रेखा प्राप्त करने के लिए एमएसीडी के चलती औसत का उपयोग करके प्राप्त किया जाता है। जब एमएसीडी संकेत रेखा से अधिक होता है, तो यह एक तेजी की प्रवृत्ति है।
अंतिम सहायक निर्णय सूचक टीएसआई है, जिसे मूल्य परिवर्तन दर को दोगुना समतल करके गणना की जाती है। इसका पूर्ण मूल्य परिमाण मूल्य परिवर्तन की गति का प्रतिनिधित्व करता है। खरीद और बिक्री की स्थितियों में, टीएसआई की सिग्नल लाइन को प्रविष्टियों और निकास के समय को नियंत्रित करने के लिए माना जाता है।
इन संकेतकों के संकेतों को मिलाकर, प्रवृत्ति का सटीक रूप से आकलन किया जा सकता है, और बाजार के साथ तालमेल बिठाने के लिए मापदंडों को स्वचालित रूप से समायोजित किया जा सकता है।
दोहरे हुल चलती औसत का उपयोग मुख्य निर्णय संकेतक के रूप में कई अन्य संकेतकों के साथ मिलकर निर्णय की सटीकता में सुधार कर सकता है और झूठे संकेतों को कम कर सकता है।
बाजार में प्रवेश और बाहर निकलने के समय को निर्धारित करने के लिए एसटीआई संकेतक को लागू करने से जोखिमों को नियंत्रित किया जा सकता है।
मजबूत अनुकूलन क्षमता के लिए कई समायोज्य मापदंड जो स्वचालित रूप से बाजार परिवर्तनों के अनुकूल हो सकते हैं।
संकेतक संयोजन और मापदंड स्व-अनुकूलन का विचार रणनीति को मजबूत निरंतर लाभप्रदता के साथ स्थिर बनाता है।
यद्यपि समय निर्धारित करने के लिए एसटीआई सूचक का उपयोग किया जाता है, लेकिन एल्गोरिथ्म में उपयोग किए जाने वाले संकेतक अभी भी प्रवृत्ति प्रकार हैं। यदि एक सदमे और पॉलबैक बाजार का सामना किया जाता है, तो यह लाभ और हानि में उतार-चढ़ाव को बढ़ाएगा।
गलत पैरामीटर सेटिंग्स से रणनीति विफल हो सकती है। अनुभव के आधार पर पैरामीटर को उचित रूप से सेट करने की आवश्यकता है।
कई संकेतकों के संयोजन से गणना की मात्रा बढ़ जाती है, जिससे बड़े डेटा स्टॉक और समय अवधि में त्रुटियों की संभावना बढ़ जाती है। डेटा रेंज को नियंत्रित करने की आवश्यकता है।
असामान्य डेटा से हस्तक्षेप को रोकने के लिए संकेतकों की गणना प्रभाव की निगरानी करने की आवश्यकता है।
सिग्नल को अधिक सटीक और विश्वसनीय बनाने के लिए BOLL जैसे अन्य सहायक संकेतकों का परीक्षण किया जा सकता है।
प्रवेश और निकास तर्क को अनुकूलित करें, एकल लाभ और हानि को नियंत्रित करने के लिए स्टॉप लॉस और लाभ शर्तें सेट करें।
विभिन्न किस्मों के लिए मापदंडों को प्रशिक्षित और अनुकूलित करें ताकि उन्हें विभिन्न किस्मों के लिए बेहतर अनुकूलित किया जा सके।
हाल के लेनदेन प्रभावों के आधार पर स्वचालित रूप से रणनीति मापदंडों को समायोजित करने के लिए पैरामीटर स्व-अनुकूलन मॉड्यूल को बढ़ाएं।
यह रणनीति कई संकेतकों के लाभों को एकीकृत करती है और प्रवृत्ति की दिशा का न्याय करने के लिए संकेतकों के संयोजन का उपयोग करती है। जोखिमों को नियंत्रित करते हुए, यह निर्णयों की सटीकता में सुधार करती है। पैरामीटर अनुकूलन और तर्क अनुकूलन के माध्यम से, रणनीति को लगातार नुकसान को कम करते हुए और अधिक लाभ प्राप्त करते हुए बाजार में परिवर्तन के लिए बेहतर अनुकूलित किया जा सकता है। यह रणनीति स्थिर है और इसका उपयोग स्टॉक, क्रिप्टोकरेंसी और अन्य किस्मों के लिए लंबी अवधि के लिए किया जा सकता है।
/*backtest start: 2023-11-18 00:00:00 end: 2023-12-18 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // Quad-HullMA-cross & VWMA & MacD & TSI combination <<<<< by SeaSide420 >>>>>> strategy("MultiCross420", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0) keh=input(title="Double HullMA 1",defval=7, minval=1) teh=input(title="Double HullMA 2",defval=14, minval=1) meh=input(title="VWMA",defval=1, minval=1) meh1=vwma(close,round(meh)) n2ma=2*wma(close,round(keh/2)) nma=wma(close,keh) diff=n2ma-nma,sqn=round(sqrt(keh)) n2ma1=2*wma(close[2],round(keh/2)) nma1=wma(close[2],keh) diff1=n2ma1-nma1,sqn1=round(sqrt(keh)) n1=wma(diff,sqn) n2=wma(diff1,sqn) b=n1>n2?lime:red c=n1>n2?green:red n2ma3=2*wma(close,round(teh/2)) nma2=wma(close,teh) diff2=n2ma3-nma2,sqn2=round(sqrt(teh)) n2ma4=2*wma(close[2],round(teh/2)) nma3=wma(close[2],teh) diff3=n2ma4-nma3,sqn3=round(sqrt(teh)) n3=wma(diff2,sqn2) n4=wma(diff3,sqn3) fastLength = input(title="MacD fastLength", defval=7) slowlength = input(title="MacD slowlength", defval=14) MACDLength = input(title="MacD Length", defval=3) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD a1=plot(n1,color=c),a2=plot(n2,color=c) plot(cross(n1, n2) ? n1 : na, style = cross, color=b, linewidth = 3) a3=plot(n3,color=c),a4=plot(n4,color=c) plot(cross(n3, n4) ? n1 : na, style = cross, color=b, linewidth = 3) //a5=plot(meh1,color=c) long = input(title="TSI Long Length", defval=5) short = input(title="TSI Short Length", defval=3) signal = input(title="TSI Signal Length", defval=2) linebuy = input(title="TSI Upper Line", defval=4) linesell = input(title="TSI Lower Line", defval=-4) price = close double_smooth(src, long, short) => fist_smooth = ema(src, long) ema(fist_smooth, short) pc = change(price) double_smoothed_pc = double_smooth(pc, long, short) double_smoothed_abs_pc = double_smooth(abs(pc), long, short) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) closelong = n1<n2 and n3<n4 and n1>meh1 if (closelong) strategy.close("Long") closeshort = n1>n2 and n3>n4 and n1<meh1 if (closeshort) strategy.close("Short") longCondition = strategy.opentrades<1 and n1>n2 and MACD>aMACD and n1<meh1 and n3>n4 and ema(tsi_value, signal)>linesell if (longCondition) strategy.entry("Long",strategy.long) shortCondition = strategy.opentrades<1 and n1<n2 and MACD<aMACD and n1>meh1 and n3<n4 and ema(tsi_value, signal)<linebuy if (shortCondition) strategy.entry("Short",strategy.short)