यह रणनीति डबल मूविंग एवरेज के क्रॉस की गणना करके मूल्य प्रवृत्ति का न्याय करती है, और कुछ पैरामीटर प्रतिबंधों के साथ खरीद और बिक्री संकेत जारी करती है। इसमें मुख्य रूप से तीन भाग होते हैंः पहला, तेजी से और धीमे मूविंग एवरेज के क्रॉस की गणना करके मूल्य प्रवृत्ति का न्याय करना; दूसरा, गलत ट्रेडों से बचने के लिए कुछ पैरामीटर प्रतिबंध निर्धारित करना; तीसरा, जोखिमों को नियंत्रित करने के लिए स्टॉप प्रॉफिट और स्टॉप लॉस का उपयोग करना।
इस रणनीति के मूल में तेजी से और धीमी गति से चलती औसत की गणना होती है। तेजी से चलती औसत की अवधि कुल चलती औसत अवधि के आधे की होती है, जो मूल्य परिवर्तनों के प्रति अधिक संवेदनशील होती है; धीमी गति से चलती औसत की अवधि कुल चलती औसत अवधि की होती है, जो मूल्य परिवर्तनों को अधिक सुचारू रूप से दर्शाती है। जब तेजी से चलती औसत धीमी गति से ऊपर जाती है, तो यह माना जाता है कि कीमत बढ़ जाती है; जब यह नीचे आती है, तो यह गिर जाती है।
इसके अतिरिक्त, रणनीति गलत ट्रेडों से बचने के लिए कुछ मापदंड निर्धारित करती है। उदाहरण के लिए, निर्णय सीमा यह सुनिश्चित करना है कि दो चलती औसत के बीच अंतर एक निश्चित स्तर से अधिक होने पर ही संकेत जारी किए जाएं; विश्वास मापदंड का उपयोग छोटे मूल्य उतार-चढ़ाव को फ़िल्टर करने के लिए किया जाता है।
अंत में, जोखिमों को नियंत्रित करने के लिए स्टॉप लाभ और स्टॉप हानि का उपयोग किया जाता है। यदि ओपनप्रॉफिट स्टॉप लॉस बिंदु से कम या स्टॉप लाभ बिंदु से अधिक है, तो पद बंद हो जाएंगे। यह प्रभावी रूप से एक ही व्यापार के नुकसान को सीमित करता है।
इस रणनीति का सबसे बड़ा लाभ चलती औसत संकेतकों के माध्यम से मूल्य प्रवृत्ति और अस्थिरता विशेषताओं के निर्णय को जोड़ना है। डबल चलती औसत का क्रॉस मूल्य प्रवृत्तियों को निर्धारित करने के लिए एक क्लासिक प्रभावी तकनीकी दृष्टिकोण है। पैरामीटर अनुकूलन के साथ, यह प्रवृत्तियों को सटीक रूप से पकड़ सकता है। विश्वास पैरामीटर प्रभावी रूप से चंचल बाजारों को फ़िल्टर कर सकता है और लगातार गलत ट्रेडों से बच सकता है।
इसके अतिरिक्त, निर्णय सीमा, स्टॉप प्रॉफिट और स्टॉप लॉस जैसे मापदंड भी उच्चतम और बिक्री निम्नतम का पीछा करने से बचकर व्यापारिक जोखिमों को काफी कम कर सकते हैं।
इस रणनीति का मुख्य जोखिम डबल चलती औसत से गलत संकेतों की संभावना है। तेज और धीमी एमए दोनों भारित चलती औसत हैं जो अचानक घटनाओं पर धीरे-धीरे प्रतिक्रिया करते हैं, इस प्रकार अल्पकालिक मूल्य उलटफेर को याद करते हैं। इस समय, आत्मविश्वास पैरामीटर दोहरी पुष्टि प्रदान कर सकता है।
इसके अतिरिक्त, स्टॉप लाभ और स्टॉप हानि बिंदुओं की अनुचित सेटिंग भी जोखिमों को बढ़ाएगी। अत्यधिक उच्च लाभ लक्ष्य और कम स्टॉप हानि बिंदु से उम्मीदों से अधिक नुकसान हो सकता है। विभिन्न व्यापार उत्पादों और अस्थिरता की विशेषताओं के अनुसार उचित मापदंडों को निर्धारित करने की आवश्यकता है।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
चलती औसत अवधि को अनुकूलित करना, विभिन्न चक्रों के मूल्य उतार-चढ़ाव को बेहतर ढंग से मॉडल करने के लिए अनुकूलनशील चलती औसत निर्धारित करना;
स्टॉप प्रॉफिट और स्टॉप लॉस के लिए गतिशील ट्रैकिंग तंत्र स्थापित करें, बाजार की स्थितियों के आधार पर वास्तविक समय में अस्थिरता की गणना करें, ताकि स्टॉप पॉइंट गतिशील रूप से बदल सकें;
मूल्य प्रवृत्ति दिशाओं का न्याय करने के लिए मशीन लर्निंग मॉडल को बढ़ाएं, वर्तमान मूल्य आंदोलनों को निर्धारित करने के लिए अधिक ऐतिहासिक डेटा का उपयोग करें, और गलत संकेतों को कम करें।
सामान्य तौर पर, यह एक क्लासिक सरल और प्रभावी ट्रेंड ट्रेडिंग रणनीति है। यह रुझानों को निर्धारित करने के लिए डबल मूविंग एवरेज क्रॉस का उपयोग करता है, जोखिमों को नियंत्रित करने के लिए मापदंडों को सेट करता है, और मल्टी-प्रोडक्ट ट्रेडिंग के लिए उच्च कॉन्फ़िगरेशन है। यदि मशीन लर्निंग जैसे अधिक बुद्धिमान निर्णय साधनों को पेश किया जा सकता है, तो समग्र प्रभाव आगे के शोध के लिए और भी बेहतर हो सकता है।
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend strategy("Trade Signal", shorttitle="Trade Alert", overlay=true ) keh=input(title="Double HullMA",defval=14, minval=1) dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001) SL = input(defval=-10.00, title="Stop Loss in $", type=float, step=1) TP = input(defval=100.00, title="Target Point in $", type=float, step=1) ot=1 n2ma=2*wma(close,round(keh/2)) nma=wma(close,keh) diff=n2ma-nma sqn=round(sqrt(keh)) n2ma1=2*wma(close[1],round(keh/2)) nma1=wma(close[1],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 d=n1>n2?red:green confidence=(request.security(syminfo.tickerid, '5', close[1])-request.security(syminfo.tickerid, '60', close[1]))/request.security(syminfo.tickerid, '60', close[1]) conversionPeriods = input(9, minval=1, title="Conversion Line Periods") basePeriods = input(26, minval=1, title="Base Line Periods") laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods") displacement = input(26, minval=1, title="Displacement") donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) LS=close, offset = -displacement MACD_Length = input(9) MACD_fastLength = input(12) MACD_slowLength = input(26) MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength) aMACD = ema(MACD, MACD_Length) closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP if (closelong) strategy.close("Long") closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP if (closeshort) strategy.close("Short") longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD if (longCondition) strategy.entry("Long",strategy.long) shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD if (shortCondition) strategy.entry("Short",strategy.short) //alerts alertcondition(closelong, title='Close Buy Position', message='Close Buy Position') alertcondition(closeshort, title='Close Short Position', message='Close Short Position') alertcondition(longCondition, title='Buy Signal', message='Buy Signal Alert') alertcondition(shortCondition, title='Sell Signal', message='Sell Signal Alert') //a1=plot(n1,color=c) //a2=plot(n2,color=c)plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4) //plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4) plot(conversionLine, color=#0496ff, title="Conversion Line") plot(baseLine, color=#991515, title="Base Line") plot(close, offset = -displacement, color=#459915, title="Lagging Span") p1=plot (leadLine1, offset = displacement, color=green, title="Lead 1") p2=plot (leadLine2, offset = displacement, color=red, title="Lead 2") fill(p1, p2, color = leadLine1 > leadLine2 ? green : red) // remove the "//" from before the plot script if want to see the indicators on chart