मैं लंबे समय से लेख नहीं लिख रहा हूं, मैं रणनीतियों और स्टेटस मशीनों के बारे में बात करना चाहता था।
कई दोस्तों के पास अच्छी ट्रेडिंग रणनीति है, लेकिन जब इसे प्रोग्रामेटिक तरीके से लागू किया जाता है, तो अक्सर पाया जाता है कि प्रोग्रामेटिक कंट्रोल को पहले के विचार के अनुसार निष्पादित नहीं किया जा सकता है, और अधिक पदों को खोला जा सकता है, अधिक पदों को समतल किया जा सकता है, और यहां तक कि एक अनुबंध भी हो सकता है जो अनुचित रूप से कई पदों और खाली पदों को एक साथ रखता है। वास्तव में, इन घटनाओं का मूल कारण यह है कि प्रोग्रामेटिक ट्रेडिंग व्यक्तिपरक ट्रेडिंग की तरह नहीं है, जब आकस्मिक स्थिति होती है, तो समय पर प्रतिक्रिया और प्रसंस्करण किया जा सकता है। उदाहरण के लिए, मैं एक रणनीति की शर्तों को पूरा करने पर ट्रेडिंग का संचालन करता हूं, लेकिन इस शुरुआती मूल्य स्थिति पर, या उस समय के बाजार वातावरण में, लेनदेन नहीं हो सकता है, तो प्रोग्राम को निकासी का संचालन करना होगा; और निकासी के बाद, क्या अतिरिक्त स्टॉक खोला जाना चाहिए, ताकि योजनाबद्ध शुरुआती स्थिति तक पहुंच सके, और प्रोग्रामेटिक नियंत्रण की आवश्यकता है। इसलिए, ट्रेडिंग रिपोर्टिंग प्रक्रिया को रिपोर्ट करने के लिए, और ऑर्डर सिग्नल के
स्टेटस मशीन एक स्टेटस ट्रांसफर मैप है, जिसमें स्टेटस मशीन को पेश करके ऑर्डर के सभी राज्यों को अलग किया जाता है, और प्रोग्रामर सभी राज्यों में इसके तर्क को नियंत्रित करता है, यह गड़बड़ नहीं करता है।
लेन-देन के दौरान, हम ऑर्डर पर कार्रवाई करते हैंः स्टॉक की घोषणा, स्टॉक की घोषणा को हटा दें, स्टॉक की घोषणा, स्टॉक की घोषणा, स्टॉक की घोषणा को हटा दें; हमें प्राप्त ऑर्डर की स्थिति प्रतिक्रिया कार्रवाई का परिणाम हैः पूरी तरह से लेन-देन नहीं किया गया, पूरी तरह से लेन-देन किया गया, निकालने के लिए ((आंशिक रूप से लेन-देन या अप्रतिबंधित) । इसलिए, हम ऑर्डर पर कार्रवाई करने के बाद इस स्थिति को चिह्नित कर सकते हैं। उदाहरण के लिए, आदेश को वापस आने के लिए प्रतीक्षा करें।
यहाँ एक सरल उदाहरण दिया गया है, जो कि एक क्लासिक एकल अनुबंध है, पाठक के लिए संदर्भ के लिएः
इस प्रकार, एकल अनुबंध के दौरान, आदेशों को किसी भी स्थिति में सख्ती से अलग किया जा सकता है; प्रक्रियाओं को उनकी अलग-अलग स्थितियों के आधार पर भी संसाधित किया जा सकता है। उदाहरण के लिए, एक पक्की ओवरटाइम निकासी के बाद, आप अपनी रणनीति के अनुसार नियंत्रण कर सकते हैं।
बेशक, आप अपने इरादे के अनुसार स्थिति के प्रवाह को भी नियंत्रित कर सकते हैं, उदाहरण के लिए, ऊपर दिए गए उदाहरण में, यदि आप एक सफल और खुले लेनदेन के बाद स्थिति को वापस लेने के लिए प्रतिक्रिया प्राप्त करते हैं, तो स्थिति को एक सामान्य स्थिति में स्थानांतरित नहीं किया जा सकता है, लेकिन पहले के लक्ष्य स्थिति के अनुसार जारी रखने के लिए एक तरीका चुनें। शेष स्थिति के साथ व्यापार जारी रखें, और फिर स्ट्रीमिंग को स्थानांतरित करें।
यहाँ दो-अनुबंध सूट के बारे में बात की जा रही है. सूट में दो अनुबंध शामिल हैं, यानी दोनों पैरों को समतल करने का मुद्दा है. एकल अनुबंध की तुलना में, स्टेटस मशीन बहुत परेशानी होती है।
लेकिन जैसा कि पहले कहा गया है, हम ऑर्डर पर कार्रवाई करते हैं, ऑर्डर पर कार्रवाई करने के बाद कुछ प्रतिक्रियाओं के रूप में ऑर्डर रिटर्न या लेनदेन रिटर्न को संकलित करते हैं, और कार्रवाई प्रतिक्रिया के इंतजार में ऑर्डर की स्थिति सेट करते हैं। इस तरह के विचार के अनुसार, हम सभी क्रियाओं को सूचीबद्ध करते हैं, फिर दो अनुबंधों के कार्यों को जोड़ते हैं, और फिर और जोड़ते हैं।
अनुबंध पर लागू किए जाने वाले कदमः खोलना, सम करना, वापस लेना, आदि..............
तो, दोहरे अनुबंध के लिए आदेश की स्थिति नीचे दी गई तालिका में शामिल हैः
इस प्रकार, आदेश पर कार्रवाई करने के बाद प्रतिक्रिया के आधार पर, आप जिस स्थिति मशीन की आवश्यकता करते हैं, उसका निर्माण कर सकते हैं। नीचे दी गई छवि पाठक के लिए संदर्भ के लिए एक स्थिति मशीन है, जब आप एक सूट पोर्टफोलियो बनाने के लिए विचार कर रहे हैंः
फ्लैशिंग सुइट्स पोर्टफोलियो का तर्क और स्थिति प्रवाह मूल और खुले पदों के निर्माण के साथ मेल खाता है।
Ronalgao के ब्लॉग से पुनर्प्रकाशित