यह रणनीति एक दोहरी रेल प्रणाली बनाने के लिए तेज और धीमी गति से चलती औसत का उपयोग करती है, जो प्रवृत्ति निर्णय के लिए प्रवृत्ति सूचकांक एडीएक्स और प्रवृत्ति दिशा निर्धारित करने के लिए डीएमआई दिशात्मक सूचकांक के साथ संयुक्त है, प्रवृत्ति स्थापित होने के बाद प्रवृत्ति को ट्रैक करने और समय में बाहर निकलने के लिए जब प्रवृत्ति उलट जाती है, तो शीर्ष का पीछा करने और नीचे बेचने से बचती है। इसमें विभिन्न समय अवधि में रणनीति की प्रभावशीलता का बैकटेस्ट करने के लिए समय सीमा परीक्षण भी शामिल है।
तेज और धीमी गति से चलने वाले औसत एक दो-रेल चैनल प्रणाली बनाते हैं। जब तेज एमए धीमी एमए के ऊपर पार करता है, तो यह लंबे समय के लिए एक स्वर्ण क्रॉस प्रवेश संकेत है। जब तेज एमए धीमी एमए के नीचे पार करता है, तो यह एक मृत्यु क्रॉस निकास संकेत है।
ADX एक प्रवृत्ति के अस्तित्व और शक्ति का न्याय करता है। जब ADX प्रमुख स्तर से ऊपर होता है, तो यह इंगित करता है कि एक प्रवृत्ति मौजूद है और मजबूत है। ट्रेडिंग सिग्नल केवल तब उत्पन्न होते हैं जब प्रवृत्ति मजबूत होती है।
डीएमआई का डीआई+ रुझान की दिशा निर्धारित करता है। जब डीआई+ सकारात्मक होता है, तो यह एक ऊपर की ओर रुझान दर्शाता है। जब डीआई+ नकारात्मक होता है, तो यह एक नीचे की ओर रुझान दर्शाता है। ट्रेडिंग सिग्नल केवल तब उत्पन्न होते हैं जब रुझान की दिशा मेल खाती है।
समय सीमा परीक्षण सत्यापन के लिए विभिन्न समय अवधि में रणनीति की प्रभावशीलता का बैकटेस्ट करता है।
दोहरी रेल प्रणाली झूठे संकेतों से बचने के लिए ब्रेकआउट को फ़िल्टर करती है।
एडीएक्स एक प्रवृत्ति की आवश्यकता के द्वारा समेकन के दौरान अत्यधिक व्यापार से बचा जाता है।
डीएमआई यह सुनिश्चित करता है कि ट्रेडें ट्रेंड की दिशा से मेल खाएं और ट्रेंड के विपरीत ट्रेडों को रोकें।
समय सीमा परीक्षण मापदंडों को सत्यापित करता है और सेटिंग्स को अनुकूलित करता है।
इन नहरों में फंदे बन सकते हैं, जिससे फंसने से बचने के लिए रुकने की आवश्यकता होती है।
एडीएक्स की देरी से शुरुआती अवसरों को खोया जा सकता है, जिसके लिए निम्न कुंजी स्तर की आवश्यकता होती है।
डीएमआई दिशा विलंब भी शुरुआती रुझानों को याद कर सकता है, कम अवधि की आवश्यकता होती है।
पैरामीटर को समय सीमा में समायोजित करने की आवश्यकता हो सकती है।
इष्टतम सेटिंग्स खोजने के लिए पैरामीटर संयोजनों का परीक्षण करें।
सिग्नल की गुणवत्ता के लिए बोलिंगर बैंड जैसे फ़िल्टर जोड़ें।
घाटे को सीमित करने के लिए स्टॉप लॉस को शामिल करें।
मशीन लर्निंग के साथ स्वचालित रूप से अनुकूलन पैरामीटर.
भावना और समाचार जैसे अधिक कारकों को शामिल करें।
इस रणनीति में चलती औसत, रुझान सूचकांक और दिशात्मक सूचकांक की ताकतों को जोड़कर रुझानों की पहचान और ट्रैक किया जाता है। पैरामीटर वैधता की पुष्टि करते हुए, परिमाणात्मक व्यापार के लिए पद्धति के बाद एक विश्वसनीय प्रवृत्ति प्रदान करता है।
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // author: codachang0726 strategy(title = "(S)MA+ADX+DI+time", shorttitle = "(S)MA+ADX+DI+time", overlay = true) // === INPUT MA LENGTHS === fastMA = input(defval = 7, title = "FastMA", minval = 1, step = 1) slowMA = input(defval = 14, title = "SlowMA", minval = 1, step = 1) // === INPUT BACKTEST RANGE === fromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", minval = 1, maxval = 31) thruYear = input(defval = 2022, title = "Thru Year", minval = 1970) // === INPUT SHOW PLOT === showDate = input(defval = true, title = "Show Date Range", type = input.bool) // === FUNCTION EXAMPLE === 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" // === MA LOGIC === crossOv = sma(close, fastMA) > sma(close, slowMA) // true when fastMA over slowMA crossUn = sma(close, fastMA) < sma(close, slowMA) // true when fastMA under slowMA // DI+ADX adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Period") keyLevel = input(20, title="Keylevel for ADX") [diplus, diminus, adx] = dmi(dilen, adxlen) di = (diplus - diminus) buy = di > 0 and crossOv and adx > keyLevel sell = di < 0 and crossUn and adx > keyLevel buy_time = buy and not buy[1] sell_time = sell and not sell[1] // === EXECUTION === strategy.entry("L", strategy.long, when = window() and buy_time) // enter long when "within window of time" AND crossover strategy.close("L", when = window() and sell_time) // exit long when "within window of time" AND crossunder // === PLOTTING === bgcolor(color = showDate and window() ? color.gray : na, transp = 90) // plot "within window of time" plot(sma(close, fastMA), title = 'FastMA', color = color.yellow, linewidth = 2, style = plot.style_line) // plot FastMA plot(sma(close, slowMA), title = 'SlowMA', color = color.aqua, linewidth = 2, style = plot.style_line) // plot SlowMA