लेख की विषय-सूची

साक्ष्य और दायरा

सोर्स चैनल फ़ॉर्मूला, डेटा शिफ़्टिंग और सिम्युलेटेड ऑर्डर टाइमिंग को सपोर्ट करते हैं। किसी भी पुराने ट्रेंड-फ़ॉलोइंग दावे को इस बात का सबूत नहीं माना जाता कि यहाँ बताई गई खास एंट्री, वॉल्यूम थ्रेशहोल्ड और एग्ज़िट फ़ायदेमंद हैं।

डेटा और बाज़ारएक तय इंस्ट्रूमेंट और सेशन का इस्तेमाल करें। फ्यूचर्स के लिए एक साफ़ कॉन्ट्रैक्ट और रोल कन्वेंशन की ज़रूरत होती है; इक्विटीज़ के लिए हाई, लो और एग्ज़िक्यूटेबल प्राइस में लगातार स्प्लिट एडजस्टमेंट की ज़रूरत होती है।
शोध के टाइमफ्रेमN=20 पर H=1 या डेली डेटा एक एक्सपेरिमेंटल कॉन्फ़िगरेशन है, यूनिवर्सल रिकमेंडेशन नहीं। सेशन की लंबाई और एग्ज़िक्यूशन कॉस्ट इसका मतलब बदल देते हैं।
कीमत 99 और 105 के बीच रहती है, फिर बढ़े हुए वॉल्यूम के साथ 105 के ऊपर बंद होती है और सिंथेटिक उदाहरण में ऊपर जाती रहती है।चित्रण को पूर्ण आकार में खोलें
ओरिजिनल सिंथेटिक प्राइस और वॉल्यूम। ये दो लेवल हर प्लॉट किए गए पॉइंट पर रीकैलकुलेट किए गए रोलिंग चैनल के बजाय एक प्री-ट्रिगर स्नैपशॉट हैं।

व्यावहारिक कार्यप्रवाह

कार्यप्रवाह: रोलिंग डोनचियन: ब्रेकआउट और रिक्लेम के लिए कारणानुकूल स्तर
पूरे चरण नीचे दिए गए हैं। हर चरण में डेटा अधूरा होने या शर्त पूरी न होने पर अस्वीकार करने का कारण दर्ज होना चाहिए।
  1. N बार एकत्रित करेंमौजूदा बार से पहले पूरे किए गए ऑब्ज़र्वेशन का इस्तेमाल करें।
  2. U और D को फ़्रीज़ करेंप्रत्येक एक्सट्रीम की कीमत और उसके बने हुए कितना समय बीता, दर्ज करें।
  3. घटना को वर्गीकृत करेंक्लोजिंग ब्रेकआउट, एक्सकर्शन और रिक्लेम से अलग होता है।
  4. वॉल्यूम लागू करेंऑर्डर सबमिट करते समय ही उपलब्ध फीचर्स का इस्तेमाल करें।
  5. निष्पादन का अनुकरण करेंरजिस्टर्ड एंट्री, स्टॉप और एक्सपायरी पॉलिसी लागू करें।

रोलिंग बाउंड्री एक कन्फर्म स्विंग नहीं है

डोनचियन N ऑब्ज़र्वेशन के एक्सट्रीम को लेता है; ट्रेडिंगव्यू ऊपरी और निचले बैंड और उनके मिडपॉइंट [1] के बारे में बताता है। दो-तरफ़ा पिवट के उलट, इसके लिए बाद में रिवर्सल की ज़रूरत नहीं होती है। जब अगला बार शुरू होता है, तो पूरी हुई पिछली विंडो पहले से ही पता होती है। एक ट्रेंड के दौरान, इसकी ऊपरी बाउंड्री बिना किसी होल्ड के रेजिस्टेंस के तौर पर काम किए ऊपर उठ सकती है।

प्रस्तावित कॉज़ल डेफ़िनिशन U[t]=max(H[t−N:t]), D[t]=min(L[t−N:t]), M[t]=(U[t]+D[t])/2 है, जिसमें स्लाइस का ऊपरी एंडपॉइंट शामिल नहीं है। इस तरह विंडो t−1 पर खत्म होती है। अगर H[t] को U[t] में शामिल किया जाता है, तो कंडीशन H[t]>U[t] कंस्ट्रक्शन से इम्पॉसिबल हो जाती है।

यह आसान सा फ़र्क पूरे एक्सपेरिमेंट पर असर डालता है। एक चार्टिंग इंडिकेटर देखने के लिए एक्टिव बार के साथ एक बैंड दिखा सकता है; स्ट्रैटेजी को अभी भी यह बताना होगा कि वह कौन सा हिस्टोरिकल स्नैपशॉट इस्तेमाल करता है। अंडरलाइंग एक्सट्रीम के टाइमस्टैम्प के साथ-साथ उसकी कीमत भी स्टोर करें ताकि बाद में डायग्नोस्टिक्स नई बाउंड्री को पुराने एक्सट्रीम से अलग कर सकें जो खत्म होने वाले हैं।

इवेंट को क्लासिफ़ाई करने से पहले रेफरेंस बनाएं

pandas में वैल्यू को शिफ्ट करने से संदर्भ विंडो मूल्यांकन वाली पंक्ति से अलग रहती है [2]। एक कार्यान्वयन high.shift(1).rolling(N).max() है। freq से इंडेक्स शिफ्ट करना, निर्णय वाली पंक्ति के सापेक्ष देखी गई वैल्यू को खिसकाने का विकल्प नहीं है। ऑब्ज़र्वेशन की संख्या चुपचाप बदलने देने के बजाय पूरी वैध विंडो आवश्यक रखें।

बेसलाइन एक बैंड के आगे पूरे हुए क्लोज को b=max(2 ticks,0.1×ATR[t−1]) के साथ क्लासिफाई करती है; N=20 और 0.1 प्रपोज़्ड रिसर्च सेटिंग्स हैं। तुरंत वन-बार क्लासिफिकेशन के लिए, हर बार एक नया प्रायर-विंडो रेफरेंस कैलकुलेट करें। मल्टी-बार स्वीप और रीक्लेम कैंडिडेट के लिए, कैंडिडेट शुरू होने पर ओरिजिनल लेवल को फ्रीज़ करें।

नहीं तो, एक्सकर्शन बार अगली रोलिंग विंडो में चला जाता है और जिस बाउंड्री को वापस लिया जा रहा है, उसे आगे बढ़ाता है। अपडेटेड बाउंड्री से नीचे लौटना, असल में तोड़े गए लेवल से नीचे लौटने से अलग हो सकता है। candidate_id, frozen_level, रेफरेंस टाइमस्टैम्प और एक्सपायरी को बनाए रखें ताकि पूरे सेटअप के दौरान ज़रूरी सवाल स्टेबल रहे।

U = max(H[t-N:t]); D = min(L[t-N:t])
b = max(2*tick, 0.1*ATR[t-1])
if no_active_setup and C[t] > U+b:
    emit('up_breakout', signal_at=t, frozen_level=U)
if no_active_setup and H[t] > U+b and C[t] < U:
    emit('upper_reclaim', signal_at=t, frozen_level=U)
# These labels represent different hypotheses.
# A close-confirmed order can be processed only after close t.

एक बाउंड्री से अलग-अलग सही नतीजे मिल सकते हैं

सिंथेटिक उदाहरण: पिछले 20 बार में U=105, D=99 और ATR=1 हैं। tick=0.01 के साथ, b=0.10। H=106 और C=105.4 वाला मौजूदा बार एक ऊपर की ओर क्लोज ब्रेकआउट बनाता है। 105.5 पर प्रस्तावित अगली-ओपन खरीद, 103.9 पर स्टॉप और 108.7 पर टारगेट में शुरुआती प्राइस रिस्क के 1.6 पॉइंट और कॉस्ट से पहले 2R टारगेट है।

फेलियर का रास्ता: 105.5 पर खुलने के बाद, कीमत 103.8 तक गिर जाती है। स्टॉप तक पहुंचा जा सकता है, भले ही ट्रिगरिंग क्लोज हर डिटेक्टर कंडीशन को पूरा करता हो। अगर इसके बजाय ओरिजिनल ट्रिगर बार में H=106 और C=104.7 होता, तो यह क्लोज ब्रेकआउट नहीं होता। यह अलग से बताई गई शॉर्ट स्ट्रैटेजी के लिए एक अपर रिक्लेम हो सकता है। नुकसान देखने के बाद लूज़िंग ब्रेकआउट को स्वीप के रूप में रीलेबल न करें।

एक और मुश्किल मामला तब होता है जब 105 का पुराना हाई N-बार विंडो से निकल जाता है और U, 104 पर गिर जाता है। 104.5 पर कीमत अब बिना कोई नया हालिया ट्रेडेड हाई बनाए चैनल को पार कर सकती है। यह एक सही रोलिंग-विंडो इवेंट है। इसे बाहर करने के लिए रेफरेंस लेवल के ओरिजिन या मूवमेंट पर एक एक्स्ट्रा रजिस्टर्ड कंडीशन की ज़रूरत होती है।

इक्वालिटी को जानबूझकर टेस्ट करें। U+b पर ठीक एक क्लोज इस बेसलाइन में स्ट्रिक्ट ग्रेटर-दैन कंडीशन से रिजेक्ट हो जाता है। ऑर्डर सबमिशन से पहले टिक राउंडिंग एक फिक्स्ड कन्वेंशन के तहत होनी चाहिए; नहीं तो फ्लोटिंग-पॉइंट नॉइज़ यह तय कर सकता है कि कोई ऑब्जर्वेशन बाउंड्री के ठीक ऊपर है या ठीक उसी पर।

ऑर्डर का समय, अमान्य होना और समाप्ति

TradingView अपने एमुलेटर [3] में क्लोज के बाद ऑर्डर क्रिएशन और अगले उपलब्ध टिक पर फिल में अंतर करता है। इसलिए, प्रस्तावित क्लोज-कन्फर्म्ड बेसलाइन के लिए बाद में एक्जीक्यूटेबल प्राइस, स्प्रेड और स्लिपेज की ज़रूरत होती है। U के ऊपर एक बाय-स्टॉप एक अलग मॉडल है: यह इंट्राबार भर सकता है और क्लोज से पहले रिवर्स हो सकता है। एक खराब क्लोज उस फिल को रेट्रोएक्टिवली मिटा नहीं सकता है।

निकास के विकल्पों में तय संरचनात्मक स्टॉप, छोटी गणना अवधि वाले निचले चैनल के साथ चलने वाला ट्रेलिंग स्टॉप या समय-आधारित निकास शामिल हैं। मूल्यांकन से पहले सरल कॉन्फ़िगरेशन चुनें। रीटेस्ट एंट्री के लिए तय करें कि कीमत कितनी लौट सकती है, कौन-सी प्रतिक्रिया पात्र है और ऑर्डर कितने बार तक वैध है। रीटेस्ट न होने पर ब्रेकआउट को छूटे अवसर के रूप में दर्ज करें; अपने आप कीमत का पीछा करके एंट्री न लें।

स्टॉप और लक्ष्य दोनों छूने वाले बार में अधिक बारीक डेटा या पहले घोषित सावधानीपूर्ण घटना-क्रम नियम चाहिए। गैप परीक्षण वास्तविक फिल प्राइस और जोखिम बदल सकते हैं, लेकिन मूल सिग्नल टाइमस्टैम्प या स्थिर संदर्भ नहीं। सबमिशन से पहले निष्पादन शर्त के कारण ऑर्डर अस्वीकार करना और फिल हुए ऑर्डर का नुकसान देना अलग परिणाम हैं।

रोलिंग ट्रेलिंग स्टॉप के लिए भी टाइमिंग रूल की ज़रूरत होती है। अगर कल का लोअर बैंड आज के क्लोज के बाद अपडेट होता है, तो नया स्टॉप पहले के इंट्राबार मूवमेंट को प्रोटेक्ट नहीं कर सकता। बार पर पीछे की ओर फाइनल ट्रेल लगाने के बजाय हर स्टॉप रिविज़न और उसके एक्टिवेशन टाइम को सेव करें।

वॉल्यूम ज़्यादा मज़बूत मूव्स और ज़्यादा महंगे फिल्स चुन सकता है

एक प्रस्तावित ब्रेकआउट फ़िल्टर के लिए मिलते-जुलते सेशन-टाइम हिस्ट्री के हिसाब से RVOL≥1.5 की ज़रूरत होती है। कम्प्लीट-क्लोज़ डिसीजन पर, ट्रिगर बार का पूरा वॉल्यूम उपलब्ध होता है। पहले सबमिट किए गए रेस्टिंग स्टॉप के लिए, सिर्फ़ सबमिशन के समय पहले से देखा गया वॉल्यूम ही यह तय कर सकता है कि ऑर्डर मौजूद है या नहीं। इसके भरने के बाद मापा गया पूरा-बार वॉल्यूम पिछली एंट्री परमिशन नहीं बन सकता।

सिर्फ़ प्राइस वाली ब्रांच, मिनिमम-लिक्विडिटी वाली ब्रांच और एबनॉर्मल-वॉल्यूम वाली ब्रांच को अलग करें। ये अलग-अलग सवालों के जवाब देते हैं: बेसिक ट्रेडेबिलिटी बनाम इंक्रीमेंटल जानकारी। एक हाई-RVOL सबसेट आगे बढ़ सकता है और साथ ही बड़े गैप और स्प्रेड का भी अनुभव कर सकता है, इसलिए ग्रॉस प्राइस रिस्पॉन्स काफ़ी नहीं है।

नेट एक्सपेक्टेंसी, एक्सपोज़र और छोड़े गए मौकों की संख्या की तुलना करें। अलग-अलग ब्रांच में रिस्क बजट मैच करें और पिछले डेटा पर बनी ग्रुप डेफिनिशन का इस्तेमाल करके लिक्विडिटी या दिन के समय के हिसाब से रिज़ल्ट रिपोर्ट करें। छोटे सब-सेट पर ज़्यादा विन रेट से पोर्टफ़ोलियो का रिटर्न या ड्रॉडाउन अपने आप बेहतर नहीं होता है।

मल्टी-बार रिक्लेम के लिए, एक्सकर्शन वॉल्यूम और रिक्लेम वॉल्यूम को अलग-अलग स्टोर करें। उनके रेश्यो की स्टडी की जा सकती है, लेकिन अलग-अलग इंटरवल लेंथ को नॉर्मलाइज़ेशन की ज़रूरत होती है। एग्रीगेट OHLCV यह पता नहीं लगा सकता कि एक्टिविटी ठीक डोनचियन लेवल पर हुई थी या किसी चौड़े बार के अंदर कहीं और।

स्ट्रेटेजी से पहले रेफरेंस कैलकुलेशन को टेस्ट करें

N=10,20,40 जैसा छोटा विकास ग्रिड दर्ज करें। हर सिग्नल पर बैंड प्राइस, एक्सट्रीम का समय और स्तर की उम्र लॉग करें; यह भी लिखें कि पुराने एक्सट्रीम के विंडो से निकलने पर स्तर बदला या नहीं। इससे आर्थिक व्यवहार और यांत्रिक विंडो प्रभाव अलग होते हैं और संवेदनशीलता समझना आसान होता है।

एक डायरेक्ट कॉज़ैलिटी टेस्ट H[t] को बदलता है, जबकि प्रीफ़िक्स फ़िक्स रहता है: U[t] को बिना बदले रहना चाहिए। H[t−1] बदलने से U[t] बदल सकता है। मिसिंग-बार, हॉलिडे, ओपनिंग-गैप और स्टेल-डेटा फ़िक्स्चर जोड़ें। बैच कैलकुलेशन की तुलना स्ट्रीमिंग इम्प्लीमेंटेशन से करें ताकि ऑफ़-बाय-वन एरर दिखने में आसान चार्ट के अंदर छिप न सकें।

उसके बाद ही टर्नओवर, फीस, एक्सपोजर, ड्रॉडाउन और फिल सेंसिटिविटी के साथ लॉक्ड आउट-ऑफ-सैंपल पीरियड को इवैल्यूएट करें। अगर स्पेशल न्यूज़, ओपनिंग या क्लोजिंग-सेशन सबसेट चुन रहे हैं, तो उन्हें रिसर्च ट्रायल के तौर पर गिनें। फेल हुए कैंडिडेट और रीटेस्ट की रिपोर्ट करें जो कभी हुए ही नहीं, सिर्फ फेवरेबल बाउंड्री से पूरे हुए ट्रेड की नहीं।

आम गलतियाँ

लेवल को एक्सकर्शन का पीछा करने देना

नए अपडेट किए गए बैंड के खिलाफ़ रिक्लेम, ओरिजिनल टूटी हुई बाउंड्री को रिक्लेम करने से अलग हो सकता है।

टच को क्रॉसिंग समझ लेना

U के बराबर होना अपने आप ब्रेकआउट नहीं है; टिक राउंडिंग और तुलना के नियम पहले तय करके स्थिर रखें।

छोटी विंडो अपनी टर्नओवर कॉस्ट को छिपाती हैं

एक छोटा N बार-बार सिग्नल बना सकता है, जिसकी एग्ज़िक्यूशन कॉस्ट उनके ग्रॉस एज पर हावी होती है।

इस विधि का उपयोग करने से पहले जाँच सूची

अपने डेटा पर सत्यापन के बाद प्रत्येक मद पर निशान लगाएँ। प्रगति इसी ब्राउज़र में सहेजी जाती है; यह रणनीति के लाभदायक होने का प्रमाणपत्र नहीं है।

0/8 मद

अक्सर पूछे जाने वाले प्रश्न

क्या अपर-बैंड टच बेचा जाना चाहिए?

कोई सामान्य निष्कर्ष नहीं है। सीमा पर उलटाव की उम्मीद से विपरीत दिशा में ट्रेड करना और ब्रेकआउट खरीदना परस्पर विरोधी परिकल्पनाएँ हैं; दोनों की अलग परिभाषा और परीक्षण चाहिए।

क्या डोन्चियन पिवट्स की जगह ले सकता है?

यह ब्रेकआउट रेफरेंस दे सकता है, लेकिन यह पिवट डिटेक्टर का राइट-साइड रिवर्सल कन्फर्मेशन या स्विंग ऑर्डरिंग नहीं देता है।

शोध स्रोत

हर स्रोत अपने साथ दिए गए विवरण में परिभाषा या साक्ष्य का समर्थन करता है। छद्मकोड, कृत्रिम उदाहरण और प्रस्तावित पैरामीटर अलग सत्यापन माँगते हैं।

  1. Donchian ChannelsTradingView. पठन का दायरा: चैनल फ़ॉर्मूले और वर्णनात्मक उपयोग। जाँच की तारीख: .
  2. pandas.Series.shiftpandas. पठन का दायरा: वैल्यू शिफ्टिंग सत्यापित करने के लिए API। जाँच की तारीख: .
  3. Pine Script: StrategiesTradingView. पठन का दायरा: ऑर्डर बनाना, अगले उपलब्ध टिक पर फिल और स्टॉप ऑर्डर का व्यवहार। जाँच की तारीख: .

संबंधित विधियाँ

जोखिम संबंधी सूचना

यह सामग्री शिक्षा और शोध की योजना बनाने के लिए है, वित्तीय सलाह नहीं। Backtest ऐतिहासिक डेटा का सिमुलेशन है, भविष्य के प्रदर्शन की गारंटी नहीं देता और वास्तविक ट्रेड नहीं करता। इस संग्रह की विधियाँ अपने-आप ऐप में उपलब्ध सुविधाएँ नहीं हैं। देखें कार्यपद्धति और शिक्षण केंद्र.

वास्तविक पूँजी जोखिम में डालने से पहले नियमों का सत्यापन करें

ऐप की क्षमताओं, डेटा और प्रत्येक सिमुलेटेड ट्रेड की जाँच करें; उन्नत डिटेक्टरों के लिए अलग कार्यान्वयन की आवश्यकता हो सकती है।

App Store से Backtest डाउनलोड करें