यह रणनीति सकारात्मक दिशात्मक संकेतक (डीआई+) और नकारात्मक दिशात्मक संकेतक (डीआई-) के क्रॉसओवर के आधार पर ट्रेडिंग सिग्नल उत्पन्न करती है। यह औसत सच्ची सीमा (एटीआर) से गणना की जाती है। यह ट्रेंड फॉलो करने वाली रणनीति से संबंधित है जो डीआई+ और डीआई- के क्रॉसओवर के माध्यम से ट्रेंड रिवर्स पॉइंट की पहचान करती है। एटीआर का उपयोग स्टॉप लॉस और लाभ स्तर निर्धारित करने के लिए किया जाता है।
एटीआर की गणना करें (ATR 14): उच्च, निम्न और बंद कीमतों का उपयोग करके पिछले 14 दिनों में औसत वास्तविक सीमा की गणना करें।
गणना DI+ और DI-:
डीआई+ = 100 * आरएमए ((मैक्स(यूपी,0),एन) / एटीएनआर
डीआई- = 100 * आरएमए ((मैक्स)) नीचे,0),एन) / एटीएनआर
जहां UP वर्तमान उच्च और पिछले बंद के बीच का अंतर है, DOWN वर्तमान निम्न और पिछले बंद के बीच का अंतर है, N पैरामीटर अवधि है, डिफ़ॉल्ट रूप से 14, और ATNR चरण 1 से गणना की गई ATR है।
प्रवेश और निकास निर्धारित करें:
जब डीआई+ डीआई- से पार होता है, तो एक खरीद संकेत उत्पन्न होता है।
जब DI+ DI- से नीचे जाता है, तो एक बिक्री संकेत उत्पन्न होता है।
स्टॉप लॉस और ले लाभ सेट करें:
लॉन्ग स्टॉप लॉस प्रवेश मूल्य घटाकर एटीआर को स्टॉप लॉस गुणक से गुणा किया जाता है
लंबी ले लाभ प्रवेश मूल्य प्लस एटीआर ले लाभ गुणक से गुणा है
शॉर्ट स्टॉप लॉस प्रवेश मूल्य और एटीआर को स्टॉप लॉस गुणक से गुणा करता है
शॉर्ट टेक प्रॉफिट प्रवेश मूल्य घटाकर एटीआर को टेक प्रॉफिट गुणक से गुणा किया जाता है।
रुझान उलटने का निर्धारण करने के लिए DI+/DI- क्रॉसओवर का उपयोग नए रुझान की दिशा के लिए समय पर संकेत प्रदान करता है।
गतिशील स्टॉप लॉस/टेक प्रॉफिट इंडिकेटर के रूप में एटीआर बाजार की अस्थिरता के आधार पर उचित स्तर निर्धारित कर सकता है।
रणनीति में कुछ पैरामीटर हैं और इसे समझना और लागू करना आसान है।
बैकटेस्ट के परिणामों से पता चलता है कि इस रणनीति में सकारात्मक लाभ कारक है और यह खरीद और रखरखाव से बेहतर प्रदर्शन करती है।
डीआई क्रॉसओवर से झूठे संकेत का जोखिम
स्टॉप लॉस/टेक प्रॉफिट बहुत करीब
सीमाबद्ध बाजार में अप्रभावी
उपयोग जोखिम
रेंज-बाउंड अवधि में झूठे संकेतों से बचने के लिए चलती औसत जैसे फ़िल्टर जोड़ें।
ड्रॉडाउन को नियंत्रित करने और लाभप्रदता बढ़ाने के लिए फिक्स्ड फ्रैक्शनल या मार्टिंगेल जैसे पद आकार को लागू करें।
विभिन्न व्यापारिक साधनों की अस्थिरता से मेल खाने के लिए एटीआर मापदंडों का अनुकूलन करना।
इष्टतम संयोजन खोजने के लिए डीआई अवधि, एटीआर अवधि, एटीआर गुणक आदि पर पैरामीटर अनुकूलन।
रणनीति को 24/7 चलाने के लिए रात भर और शुरुआती सत्र तर्क जोड़ें।
यह एक सरल और व्यावहारिक रणनीति है जो डीआई क्रॉसओवर से संकेत उत्पन्न करती है और एटीआर के साथ गतिशील स्टॉप लॉस / टेक प्रॉफिट सेट करती है। कुछ मापदंडों के साथ, इसका परीक्षण और अनुकूलन करना आसान है। लेकिन डीआई क्रॉसओवर समेकन के दौरान कम प्रभावी है। आगे बढ़ते हुए, अतिरिक्त फिल्टर को जोड़ना मुख्य सुधार क्षेत्र है। समग्र रूप से यह रणनीति अल्पकालिक दिन के व्यापार के लिए उपयुक्त स्थिर प्रदर्शन का प्रदर्शन करती है।
/*backtest start: 2022-11-06 00:00:00 end: 2023-11-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © TheHulkTrading //@version=4 strategy("DI Crossing Daily Straregy HulkTrading", overlay=true) // ATR Multiplier. Recommended values between 1..4 atr_multiplier = input(1, minval=1, title="ATR Multiplier") //Length of DI. Recommended default value = 14 length = input(14, minval=1, title="Length di") up = change(high) down = -change(low) range = rma(tr, 14) //DI+ and DI- Calculations di_plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, length) / range) di_minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, length) / range) //Long and short conditions longCond = crossover(di_plus,di_minus) shortCond = crossunder(di_plus,di_minus) //Stop levels and take profits stop_level_long = strategy.position_avg_price - atr_multiplier*atr(14) take_level_long = strategy.position_avg_price + 2*atr_multiplier*atr(14) stop_level_short = strategy.position_avg_price + atr_multiplier*atr(14) take_level_short = strategy.position_avg_price - 2*atr_multiplier*atr(14) //Entries and exits strategy.entry("Long", strategy.long, when=longCond) strategy.exit("Close Long","Long", stop=stop_level_long, limit = take_level_long) strategy.entry("Short", strategy.short, when=shortCond) strategy.exit("Close Short","Short", stop=stop_level_short, limit = take_level_short)