इस रणनीति को एडीएक्स पर आधारित ट्रेंड रिवर्स रणनीति कहा जाता है। यह रणनीति एडीएक्स संकेतक का उपयोग करती है ताकि प्रवृत्ति की ताकत का पता लगाया जा सके और ओवरबाय ओवरसोल के दौरान रिवर्स अवसरों को पकड़ सके।
ADX औसत रुझान सूचकांक को दर्शाता है, जो रुझान की ताकत को दर्शाता है। ADX मूल्य जितना अधिक होता है, उतना ही मजबूत रुझान होता है। जब ADX 25 से अधिक होता है, तो एक स्पष्ट रुझान माना जाता है।
डीएमआई में डीआई+ और डीआई- दो लाइनें शामिल हैं। डीआई+ ऊपर की ओर बढ़ रहा है, और डीआई- नीचे की ओर बढ़ रहा है।
इस रणनीति का लेन-देन तर्क:
जब ADX 45 से ऊपर होता है, तो प्रवृत्ति बहुत मजबूत होती है।
यदि डीआई + डीआई - से कम है, तो इसे ओवरसोल्ड माना जाता है, और प्रवृत्ति को बदलने और अधिक करने का अवसर होता है।
इसके विपरीत, यदि डीआई-डीआई+ से कम है, तो इसे ओवरबॉट माना जाता है, और एक पलटाव का अवसर होता है।
एक बार जब आप इसे वापस कर देते हैं, तो आप समय पर रुक जाते हैं।
इस रणनीति का लाभ यह है कि ADX का उपयोग मजबूत रुझान के लिए किया जाता है, उच्च ADX मूल्य बाजार के झूठे संकेतों को प्रभावी ढंग से फ़िल्टर कर सकते हैं। हालांकि, ADX पैरामीटर को अनुकूलित करने की आवश्यकता है, और स्टॉप-लॉस रणनीति भी महत्वपूर्ण है।
कुल मिलाकर, ADX संकेतक मजबूत प्रवृत्ति को बदलने के समय को बेहतर ढंग से निर्धारित करते हैं। हालांकि, व्यापारियों को अभी भी अधिक कारकों पर ध्यान देने की आवश्यकता है, ADX केवल सहायक निर्णय संकेतक में से एक है।
/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(shorttitle='DMI swings',title='DMI swings', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2021, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
[pos_dm, neg_dm, avg_dm] = dmi(14, 14)
//Entry
strategy.entry(id="long", long = true, when = avg_dm > 45 and pos_dm < neg_dm and window())
//Exit
strategy.close("long", when = avg_dm > 45 and pos_dm > neg_dm and window())