लेख की विषय-सूची
- साक्ष्य और दायरा
- चित्रण
- प्रक्रिया
- एक्सट्रीम का एक घटना समय और एक कन्फर्मेशन समय होता है
- एक स्पष्ट टाई-ब्रेक के साथ एक नियतात्मक परिभाषा
- संख्यात्मक उदाहरण और मामले जो विफल होने चाहिए
- एंकर को एक अलग ट्रेडिंग हाइपोथीसिस में बदलना
- वॉल्यूम फ़ीचर खास टाइमस्टैम्प से जुड़े होते हैं
- रिटर्न का मूल्यांकन करने से पहले इवेंट की शुद्धता सत्यापित करें
- आम गलतियाँ
- व्यावहारिक जाँच सूची
- अक्सर पूछे जाने वाले प्रश्न
- शोध स्रोत
साक्ष्य और दायरा
सोर्स लोकल-एक्सट्रीम टर्मिनोलॉजी और जानकारी को पीछे की ओर प्लॉट करने के खतरे को सपोर्ट करते हैं। टाई-ब्रेकिंग, इवेंट हैंडलिंग और नीचे दिया गया ट्रेडिंग एक्सपेरिमेंट रिसर्च प्रपोज़ल हैं। इस इम्प्लीमेंटेशन के लिए कोई प्रॉफिटेबिलिटी बैकटेस्ट नहीं चलाया गया है।
व्यावहारिक कार्यप्रवाह
- बार मान्य करेंबंद ऑब्ज़र्वेशन की पूरी विंडो स्वीकार करें।
- r बार पीछे ले जाएँकैंडिडेट i=t−r का मूल्यांकन करें।
- दोनों पक्षों की तुलना करेंसमान कीमतों वाले प्लेटो के लिए पहले दर्ज किया गया नियम लागू करें।
- पुष्टि दर्ज करेंघटना और कन्फर्मेशन को अलग-अलग सेव करें।
- रणनीति को परिणाम सौंपेंट्रेड को ट्रिगर करने के लिए सिर्फ़ बाद की जानकारी की अनुमति दें।
एक्सट्रीम का एक घटना समय और एक कन्फर्मेशन समय होता है
बार i पर, नया उच्च भाव अभी केवल एक संभावित पिवट है। r=3 की राइट-हैंड विंडो के साथ, डिटेक्टर को यह पता लगाने से पहले कि उनके हाई इसके नीचे रहे या नहीं, तीन और बार बंद होने चाहिए। occurred_at=i और confirmed_at=i+3 को स्टोर करें। एक चार्ट पढ़ने में आसानी के लिए i पर मार्कर बना सकता है, लेकिन उस इवेंट का इस्तेमाल करने वाला ऑर्डर कन्फर्मेशन और संबंधित डेटा-प्रोसेसिंग देरी से पहले मौजूद नहीं हो सकता है।
TradingView दो-तरफ़ा पिवट ज्योमेट्री [1] के बारे में बताता है और चेतावनी देता है कि पहले पिवट प्लॉट करने से यह गलत पता चल सकता है कि यह कब पता चला [2]. SciPy का find_peaks, फ़्लैट प्लैटो [3] के लिए एक अलग तरीका इस्तेमाल करता है। इसलिए, इम्प्लीमेंटेशन की तुलना करते समय फ़ाइनल पिक्चर का मिलान काफ़ी नहीं होता: उनके चुने हुए एंकर और उपलब्ध टाइमस्टैम्प अलग हो सकते हैं।
एक कन्फर्म्ड पिवट एक हिस्टोरिकल ऑब्ज़र्वेशन बना रहता है, भले ही कीमत बाद में अपना लेवल तोड़ दे। हर बाद के ब्रेकआउट को इस बात का सबूत मानना कि पुराना पिवट गलत था, लोकल एक्सट्रीम की परिभाषा को परमानेंट रेजिस्टेंस के फोरकास्ट के साथ कन्फ्यूज करता है। ऑब्ज़र्वेशन को उनके भविष्य के इस्तेमाल के बारे में हाइपोथीसिस से अलग स्टोर करें।
एक स्पष्ट टाई-ब्रेक के साथ एक नियतात्मक परिभाषा
प्रस्तावित बेसलाइन l=r=2 का इस्तेमाल करती है और बराबर हाई पॉइंट का सबसे दाहिना पॉइंट चुनती है। H[i] हर लेफ्ट-हैंड हाई से ज़्यादा या बराबर होना चाहिए और हर राइट-हैंड हाई से पक्का ज़्यादा होना चाहिए। लो के लिए इनइक्वलिटी को उलट दें। ये पैरामीटर और टाई-ब्रेकिंग नियम एक्सपेरिमेंटल सेटिंग्स हैं, न कि ऑप्टिमल वैल्यू या किसी खास लाइब्रेरी का एकदम सही रिप्रोडक्शन।
l+r+1 वैलिड बार चाहिए, जिनमें ऑर्डर किए गए, यूनिक टाइमस्टैम्प और एक पता ट्रेडिंग कैलेंडर हो। अगर विंडो में डेटा गायब है, तो कारण रिकॉर्ड करें और कन्फर्मेशन छोड़ दें। एक गायब इंटरवल को एक बनाए गए फ्लैट ट्रेडिंग बार से भरने से प्लेटो और उसके कन्फर्मेशन में देरी दोनों बदल सकते हैं। एक शेड्यूल्ड ओवरनाइट क्लोजर एक बिना वजह गायब बार से अलग होता है।
हर इवेंट को एक बार एमिट करें, जिसमें इंस्ट्रूमेंट, टाइमफ्रेम, डिटेक्टर वर्शन, घटना का टाइमस्टैम्प और टाइप वाले आइडेंटिफायर का इस्तेमाल हो। अगर किसी बाहरी बार पर हाई और लो दोनों कंडीशन हैं, तो एक अस्पष्ट ऑब्ज़र्वेशन पब्लिश करें। एक डाउनस्ट्रीम पैटर्न इंजन को यह नहीं बनाना चाहिए कि वह बार किस क्रम में अपने हाई और लो पर पहुंचा।
on_closed_bar(t):
i = t - r
if i < l or window_has_missing_bar(i-l, t): return
high_ok = H[i] >= max(H[i-l:i]) and H[i] > max(H[i+1:t+1])
low_ok = L[i] <= min(L[i-l:i]) and L[i] < min(L[i+1:t+1])
if high_ok and low_ok: emit_ambiguous(i, confirmed_at=t)
elif high_ok: emit_once('HIGH', i, H[i], confirmed_at=t)
elif low_ok: emit_once('LOW', i, L[i], confirmed_at=t)
संख्यात्मक उदाहरण और मामले जो विफल होने चाहिए
सिंथेटिक हाई 100, 102, 105, 104, 103, इंडेक्स 2 पर 105 की पहचान करते हैं। l=r=2 के साथ, इवेंट इंडेक्स 4 के बंद होने के बाद ही उपलब्ध होता है। 09:00 से 13:00 तक हर घंटे बंद होने वाले बार के लिए, अधिकतम भाव 11:00 पर आया और कन्फर्मेशन 13:00 पर हुआ। उस कन्फर्मेशन के आधार पर ऑर्डर सिर्फ़ बाद में सबमिट किया जा सकता है।
फ़ाइनल हाई को 106 से बदलें और 105 पर कैंडिडेट फ़ेल हो जाता है। किसी भी पब्लिश्ड पिवट को डिलीट करने की ज़रूरत नहीं है क्योंकि उसे कभी कन्फ़र्म नहीं किया गया था। 100, 102, 105, 105, 104, 103 में, दूसरा 105 सबसे दाहिने प्रस्तावित नियम से चुना जाता है। दोनों तरफ़ सख़्त असमानताएँ प्लेटो को रिजेक्ट कर देंगी, जिससे एक अलग डिटेक्टर बनेगा जिसका एक अलग वर्शन होना चाहिए।
H=108 और L=95 वाला एक बाहरी बार, आस-पास के हाई से ज़्यादा हो सकता है, जबकि आस-पास के लो से नीचे गिर सकता है। OHLC यह पता नहीं लगा सकता कि 108 पहले आया था या 95। दोनों फैक्ट्स या एक एम्बिगुइटी फ्लैग को बनाए रखें, लेकिन उन्हें हेड-एंड-शोल्डर्स सीक्वेंस में दो ऑर्डर किए गए स्टेप्स के तौर पर न मानें। एक उपयोगी टेस्ट उसी OHLC बार की तुलना दो संभावित इंट्राबार पाथ से करता है और चेक करता है कि बार-ओनली डिटेक्टर कभी ऐसी जानकारी का दावा नहीं करता जो उसके इनपुट से उपलब्ध नहीं है।
एंकर को एक अलग ट्रेडिंग हाइपोथीसिस में बदलना
डिटेक्टर स्वयं कोई ऑर्डर नहीं लगाता। एक प्रस्तावित प्रयोग में खरीद केवल तब होती है जब बाद का बंद भाव पुष्टि किए गए पिवट हाई और बफ़र के योग को पार करे, जहाँ buffer=max(2 ticks,0.1×ATR from before the trigger bar) है। अगले निष्पादन-योग्य उद्घाटन इवेंट पर प्रवेश और पहले से सक्रिय buy-stop अलग निष्पादन मॉडल हैं; प्रदर्शन मापने से पहले इनमें से एक चुनें।
पहले से कन्फर्म किया गया पिवट लो एक स्ट्रक्चरल स्टॉप बता सकता है, जबकि एक फिक्स्ड K-बार लाइफटाइम यह लिमिट करता है कि हाई कितने समय तक कैंडिडेट लेवल बना रहेगा। ऐसा ब्रेकआउट रिकॉर्ड न करें जो ज़रूरी एंकर मिलने से पहले हुआ हो। अगर कोई अलग डिटेक्टर या देर से मिला डेटा का मतलब है कि लेवल पहले ही पार हो चुका है, तो या तो पुराने सेटअप को रिजेक्ट कर दें या एक अलग लेट-एंट्री स्ट्रेटेजी तय करें।
रॉ पिवट स्ट्रीम को बदलने लायक न रखें। एक के बाद एक हाई-लो रिप्रेजेंटेशन एक डाउनस्ट्रीम ट्रांसफॉर्मेशन है: दो लगातार हाई को मर्ज करने या कैंडिडेट रिप्लेसमेंट की ज़रूरत हो सकती है, लेकिन उन ऑपरेशन्स को वर्जन और टाइमस्टैम्प किया जाना चाहिए। पहले पब्लिश हुआ पैटर्न बाद के डेटा से चुपचाप बेहतर एंकर नहीं ले सकता। रिप्लेसमेंट कैंडिडेट के इनवैलिडेशन, एक्सपायरी या क्रिएशन को साफ तौर पर रिकॉर्ड करें।
एग्जीक्यूशन टेस्टिंग में सिग्नल और फिल के बीच गैप, मिरर्ड स्ट्रैटेजी के लिए एक अनअवेलेबल शॉर्ट बॉरो, और अगला बार खुलने से पहले एक स्टॉप क्रॉस होना चाहिए। एक वैलिड डिटेक्टर इवेंट से कोई ट्रेड नहीं हो सकता या ट्रेड अनइकोनॉमिक हो सकता है; रिपोर्ट में उन नतीजों को अलग-अलग देखा जा सकता है।
वॉल्यूम फ़ीचर खास टाइमस्टैम्प से जुड़े होते हैं
occurred_at पर वॉल्यूम और confirmed_at पर वॉल्यूम को अलग-अलग कॉलम में रखें। पहला कॉलम एक्सट्रीम पर ट्रेडिंग एक्टिविटी बताता है; दूसरा कॉलम बाद में कन्फर्मेशन के दौरान एक्टिविटी बताता है। अगले तीन बार का इस्तेमाल करने वाला फीचर कन्फर्मेशन पर उपलब्ध होता है, न कि पिवट बार पर। इसका टाइमस्टैम्प उसके इस्तेमाल किए गए सबसे नए इनपुट के बाद आना चाहिए।
एक प्रस्तावित एब्लेशन, बाद के ट्रिगर पर RVOL के साथ सिर्फ़ प्राइस सेटअप की तुलना करता है: मौजूदा वॉल्यूम को पिछले 20 बार के मीडियन से डिवाइड किया जाता है, जिसमें 1.5 एक एक्सपेरिमेंटल थ्रेशहोल्ड के तौर पर होता है। इंट्राडे इक्विटी के लिए, सेम-टाइम-ऑफ़-सेशन बेसलाइन आमतौर पर ओपनिंग एक्टिविटी को दोपहर के बार के साथ मिलाने से बेहतर तुलना होती है। FX टिक वॉल्यूम ट्रेडेड कॉन्ट्रैक्ट को ऑटोमैटिकली दिखाने के बजाय प्रोवाइडर-स्पेसिफिक अपडेट को मापता है।
टेस्ट करें कि वॉल्यूम, तुलना करने लायक वोलैटिलिटी और टाइम-ऑफ़-डे ग्रुप में जानकारी जोड़ता है या नहीं। नहीं तो, वॉल्यूम फ़िल्टर सिर्फ़ ज़्यादा एग्ज़िक्यूशन कॉस्ट वाले चौड़े बार चुन सकता है। रिजेक्ट किए गए मौकों को भी लॉग करें: सिर्फ़ भरे हुए ट्रेड को एवैल्यूएट करने से यह छिप सकता है कि फ़िल्टर ने ज़्यादातर मौकों को हटा दिया या एक्सपोज़र को काफ़ी बदल दिया।
रिटर्न का मूल्यांकन करने से पहले इवेंट की शुद्धता सत्यापित करें
हर डेटा प्रीफ़िक्स को दोबारा चलाएं और उसके एंडपॉइंट से पहले पब्लिश हुए सभी इवेंट्स की तुलना करें। 100 बार जोड़ने से पुराने इवेंट का आइडेंटिफ़ायर, प्राइस, टाइप या कन्फ़र्मेशन टाइमस्टैम्प नहीं बदलना चाहिए। स्क्रीनशॉट के बजाय रिकॉर्ड की तुलना करें। जब इंस्ट्रूमेंट इजाज़त दे, तो प्लेटो, आउटसाइड बार, मिसिंग इंटरवल, टिक-साइज़ में बदलाव और ज़ीरो से नीचे के प्राइस के लिए फ़िक्स्चर जोड़ें।
हर 1,000 बार पर पिवट, कन्फर्मेशन डिले, एंकर के बीच की दूरी और उन डाउनस्ट्रीम पैटर्न का हिस्सा मापें जो उनके आखिरी एंकर के पता चलने तक पहले से ही इनवैलिड हो चुके हैं। ये डायग्नोस्टिक्स बताते हैं कि प्रॉफिट स्टैटिस्टिक्स शुरू होने से पहले डिटेक्टर में बदलाव कैसे अपॉर्चुनिटी सेट को बदलते हैं।
डेवलपमेंट डेटा पर l=r=2 की तुलना 3 और 5 से करें और फ़ाइनल टेस्ट से पहले सिलेक्शन को फ़्रीज़ कर दें। अलग-अलग रजिस्टर्ड कॉन्फ़िगरेशन के तौर पर एसिमेट्रिक विंडो को भी टेस्ट करें। ज़्यादा दिखने में आकर्षक एंकर ज़्यादा नेट एक्सपेक्टेंसी तय नहीं करते हैं। फ़ाइनल ट्रेडिंग इवैल्यूएशन में स्प्रेड, कमीशन, गैप, स्टॉप एग्ज़िक्यूशन, पोज़िशन साइज़िंग और कन्फ़र्मेशन में देरी की अपॉर्चुनिटी कॉस्ट शामिल होनी चाहिए।
आम गलतियाँ
ठीक पीछे से मार्क किए गए एक्सट्रीम पर एंटर करना
बैक-प्लॉटेड मार्कर का इस्तेमाल ऑर्डर टाइमस्टैम्प के तौर पर किया जाता है। प्रीफ़िक्स रीप्ले, अनुपलब्ध जानकारी दिखाता है।
लोकल पिवट को सेशन पिवट पॉइंट्स के साथ कन्फ्यूज़ करना
लोकल एक्सट्रीमा और सेशन-बेस्ड P, R और S फ़ॉर्मूला अलग-अलग इनपुट वाले अलग-अलग टूल हैं।
नतीजे देखने के बाद स्केल चुनना
हर l/r पेयर एक रिसर्च ट्रायल है। फेल हुए वेरिएंट के साथ-साथ चुने हुए कॉन्फ़िगरेशन को भी रखें।
इस विधि का उपयोग करने से पहले जाँच सूची
अपने डेटा पर सत्यापन के बाद प्रत्येक मद पर निशान लगाएँ। प्रगति इसी ब्राउज़र में सहेजी जाती है; यह रणनीति के लाभदायक होने का प्रमाणपत्र नहीं है।
अक्सर पूछे जाने वाले प्रश्न
क्या r=0 देरी को हटाता है?
यह सिर्फ़ पास्ट-ओनली एक्सट्रीम डिटेक्टर बना सकता है, लेकिन राइट-साइड रिवर्सल कन्फर्मेशन नहीं है। यह एक अलग सिग्नल है और इसे अलग से जांचने की ज़रूरत है।
क्या कीमत एक कन्फर्म पिवट को तोड़ सकती है?
हाँ। ऐतिहासिक चरम भाव की पहचान सही बनी रहती है; बाद में रेजिस्टेंस टूटने से वह अवलोकन मिट नहीं जाता।
शोध स्रोत
हर स्रोत अपने साथ दिए गए विवरण में परिभाषा या साक्ष्य का समर्थन करता है। छद्मकोड, कृत्रिम उदाहरण और प्रस्तावित पैरामीटर अलग सत्यापन माँगते हैं।
- Auto trendlinesTradingView. दोनों ओर की विंडो वाली पिवट परिभाषा पढ़ी गई; व्यावसायिक उदाहरणों को लाभप्रदता का प्रमाण नहीं माना गया। जाँच की तारीख: .
- Pine Script: RepaintingTradingView. अतीत में मार्कर बनाने और बदलते, अधूरे डेटा के बारे में अनुभाग पढ़े गए। जाँच की तारीख: .
- scipy.signal.find_peaksSciPy. समान कीमतों वाले प्लेटो और अनुपलब्ध डेटा का व्यवहार पढ़ा गया; यह API विनिर्देश है, वित्तीय प्रमाण नहीं। जाँच की तारीख: .
संबंधित विधियाँ
जोखिम संबंधी सूचना
यह सामग्री शिक्षा और शोध की योजना बनाने के लिए है, वित्तीय सलाह नहीं। Backtest ऐतिहासिक डेटा का सिमुलेशन है, भविष्य के प्रदर्शन की गारंटी नहीं देता और वास्तविक ट्रेड नहीं करता। इस संग्रह की विधियाँ अपने-आप ऐप में उपलब्ध सुविधाएँ नहीं हैं। देखें कार्यपद्धति और शिक्षण केंद्र.
वास्तविक पूँजी जोखिम में डालने से पहले नियमों का सत्यापन करें
ऐप की क्षमताओं, डेटा और प्रत्येक सिमुलेटेड ट्रेड की जाँच करें; उन्नत डिटेक्टरों के लिए अलग कार्यान्वयन की आवश्यकता हो सकती है।
App Store से Backtest डाउनलोड करें