गति रणनीति एक ट्रेडिंग रणनीति है जो मूल्य आंदोलन के आधार पर मूल्य प्रवृत्ति का अनुसरण करती है। यह एक निश्चित अवधि में मूल्य परिवर्तनों की गणना करके ट्रेडिंग संकेत उत्पन्न करती है। जब मूल्य वृद्धि की प्रवृत्ति की पहचान की जाती है, तो यह एक खरीद संकेत को ट्रिगर करेगी। जब मूल्य गिरावट की पहचान की जाती है, तो यह एक बिक्री संकेत को ट्रिगर करेगी। यह रणनीति व्यापार संकेत उत्पन्न करने के लिए एक डबल गति संकेतक क्रॉसओवर का उपयोग करती है।
यह रणनीति N अवधियों पहले के समापन मूल्य की तुलना में समापन मूल्य के परिवर्तन को मापकर मूल्य गति की गणना करती है।
प्रथम गति संकेतक MOM0 की गणना इस प्रकार की जाती हैः
MOM0 = CLOSE - CLOSE[N]
जहां CLOSE वर्तमान अवधि
दूसरे गति संकेतक MOM1 की गणना इस प्रकार की जाती हैः
MOM1 = MOM0 - MOM0[1]
यह वर्तमान MOM0 और पिछली अवधि के MOM0 के बीच अंतर की गणना करता है। MOM1 > 0 MOM0 की वृद्धि को दर्शाता है, जबकि MOM1 < 0 MOM0 की कमी को दर्शाता है।
तीसरा गति संकेतक MOM2 की गणना इस प्रकार की जाती हैः
MOM2 = CLOSE - CLOSE[1]
यह वर्तमान समापन मूल्य और पिछली अवधि के समापन मूल्य के बीच अंतर की गणना करता है। MOM2 > 0 समापन मूल्य की वृद्धि को दर्शाता है, जबकि MOM2 < 0 समापन मूल्य की गिरावट को दर्शाता है।
जब MOM0 > 0 और MOM1 > 0 होता है, तो यह संकेत देता है कि गति लगातार बढ़ रही है और एक खरीद संकेत को ट्रिगर करता है। जब MOM0 < 0 और MOM2 < 0 होता है, तो यह संकेत देता है कि गति लगातार गिर रही है और एक बिक्री संकेत को ट्रिगर करता है।
कोड में एक समय शर्त भी शामिल है time_cond केवल निर्दिष्ट बैकटेस्टिंग समय सीमा के दौरान संकेत उत्पन्न करने के लिए। यह संकेत गायब होने पर अवांछित आदेशों से बचने के लिए आदेश देने से पहले स्थिति की जांच करता है।
जोखिमों को गति अवधि को छोटा करके, प्रवृत्ति निर्धारण जोड़कर या स्टॉप लॉस को कॉन्फ़िगर करके कम किया जा सकता है। अतिरिक्त फ़िल्टरिंग के लिए वॉल्यूम संकेतक पर भी विचार किया जा सकता है।
गति रणनीति मूल्य स्तर के बजाय मूल्य परिवर्तन के रुझानों का अनुसरण करती है, प्रभावी रूप से ऊपर और नीचे की ओर मूल्य आंदोलनों को पकड़ने के लिए बाजार गति की दिशाओं की पहचान करती है। हालांकि, गति में पिछड़ती विशेषताएं हैं और पैरामीटर चयन और संयोजन अनुकूलन रणनीति प्रदर्शन के लिए महत्वपूर्ण हैं। यह रणनीति कुछ शोर को फ़िल्टर करने के लिए एक आधार के रूप में दोहरी गति संकेतक क्रॉसओवर का उपयोग करती है। प्रदर्शन को और बढ़ाया जा सकता है और पैरामीटर के निरंतर अनुकूलन, नए तकनीकी संकेतकों को एकीकृत करने और मशीन लर्निंग तकनीकों का लाभ उठाने से जोखिमों को नियंत्रित किया जा सकता है।
/*backtest start: 2022-09-25 00:00:00 end: 2023-02-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Momentum Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash, commission_type = strategy.commission.percent, commission_value = 0, calc_on_every_tick = true) // Calculate start/end date and time condition startDate = input(timestamp("2021-01-02T00:00:00"), title = "Start Date", type = input.time) finishDate = input(timestamp("2021-12-31T00:00:00"), title = "End Date",type = input.time) time_cond = true i_len = input(defval = 12, title = "Length", minval = 1) i_src = input(defval = close, title = "Source") i_percent = input(defval = true, title = "Percent?") i_mom = input(defval = "MOM2", title = "MOM Choice", options = ["MOM1", "MOM2"]) momentum(seria, length, percent) => _mom = percent ? ( (seria / seria[length]) - 1) * 100 : seria - seria[length] _mom mom0 = momentum(i_src, i_len, i_percent) mom1 = momentum(mom0, 1, i_percent) mom2 = momentum(i_src, 1, i_percent) momX = mom1 if i_mom == "MOM2" momX := mom2 if (mom0 > 0 and momX > 0 and time_cond) strategy.entry("MomLE", strategy.long, stop = high + syminfo.mintick, comment = "MomLE") else strategy.cancel("MomLE") if (mom0 < 0 and momX < 0 and time_cond) strategy.entry("MomSE", strategy.short, stop = low - syminfo.mintick, comment = "MomSE") else strategy.cancel("MomSE") plot(mom0, color = #00bcd4, title = "MOM") plot(mom1, color = #00FF00, title = "MOM1", display = display.none) plot(mom2, color = #00FF00, title = "MOM2")