AlgoVesta › शब्दावली › Retry logic

ऑर्डर एक्ज़ीक्यूशन

Retry logic

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

यह क्यों मायने रखता है

नेटवर्क और वेन्यू ऐसे तरीकों से विफल होते हैं जो बाहर से एक जैसे दिखते हैं: टाइमआउट का मतलब यह हो सकता है कि ऑर्डर कभी पहुँचा ही नहीं, या यह कि वह स्वीकार हो गया और पुष्टि खो गई। रीड (बैलेंस, पोज़िशन, ऑर्डर स्टेटस) को दोबारा भेजना हानिरहित है; किसी अस्पष्ट विफलता के बाद ऑर्डर प्लेसमेंट को दोबारा भेजना पोज़िशन को दोगुना कर सकता है, जो एक ट्रेड छूट जाने से भी बुरा परिणाम है। रीट्राई रेट लिमिट के साथ भी टकराते हैं: किसी वेन्यू की घटना के दौरान रीट्राई का एक झोंका किसी IP या key को अस्थायी रूप से बैन करवा सकता है, जिससे उस सर्वर पर मौजूद हर दूसरा अकाउंट भी नीचे चला जाता है।

AlgoVesta इसे कैसे संभालता है

AlgoVesta रीड को राइट से अलग करता है। पोज़िशन प्राप्त करने जैसे रीड अनुरोध थोड़े इंतज़ार के बाद एक बार दोबारा भेजे जाते हैं; ऑर्डर प्लेसमेंट को टाइमआउट के बाद अंधाधुंध दोबारा नहीं भेजा जाता, क्योंकि खोई हुई पुष्टि इस बात का प्रमाण नहीं है कि ऑर्डर खो गया। इसके बजाय प्लेटफ़ॉर्म वेन्यू के मुक़ाबले मिलान करता है: एक्सचेंज की पोज़िशन और ट्रेड इतिहास की जाँच की जाती है, और अगर पता चलता है कि कोई ऑर्डर वास्तव में रखा गया था, तो उसे दोहराने के बजाय दर्ज किया जाता है। एक डुप्लिकेट गार्ड किसी छोटी विंडो के भीतर एक ही अकाउंट, सिंबल और दिशा के लिए दूसरे समान सिग्नल को अस्वीकार करता है, ताकि किसी प्रोवाइडर द्वारा मैसेज दोबारा पोस्ट करने पर दो पोज़िशन न खुलें। जब कोई वेन्यू रेट-लिमिट या बैन प्रतिक्रिया लौटाता है, तो प्रभावित key या सर्वर वेन्यू पर लगातार हमला करने के बजाय पीछे हट जाता है, और यह स्थिति डैशबोर्ड में दिखाई जाती है। बनने में विफल रहने वाले सुरक्षात्मक ऑर्डरों को दोबारा भेजा और सत्यापित किया जाता है, और फ़ॉरेक्स अकाउंट पर जिस पोज़िशन का स्टॉप पुष्ट नहीं किया जा सकता उसे डिज़ाइन के अनुसार बंद कर दिया जाता है। idempotency और exchange rate limit देखें।

उदाहरण

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

आम गलतियाँ

व्यवहार में

देखें कि AlgoVesta इसे कैसे स्वचालित करता है