एक यांत्रिक व्यापार प्रणाली भाग 3 डीडीई का उपयोग वास्तविक समय बोलियां प्राप्त बनाना







+

डीडीई का उपयोग कर पाने के वास्तविक समय उद्धरण: एक यांत्रिक व्यापार प्रणाली भाग 3 बनाना परिचय इस श्रृंखला में तीसरी लेख है: डीडीई का उपयोग कर पाने के वास्तविक समय उद्धरण: एक यांत्रिक व्यापार प्रणाली भाग 3 बनाना इस श्रृंखला में पहला लेख सी # भाषा का प्रयोग मंच के लिए यांत्रिक व्यापार प्रणाली रोबोट कोड के लिए एक परियोजना की शुरुआत की। दूसरा लेख कीमत कार्रवाई को देखने और खरीदने या बेचने के निर्णय करना होगा कि एक व्यापार प्रणाली कोड के लिए पेश किया। यह लेख डीडीई प्रोटोकॉल और मेटाट्रेडर 4 ट्रेडिंग टर्मिनल का उपयोग कर कई मुद्रा जोड़े के लिए वास्तविक समय विदेशी मुद्रा उद्धरण प्राप्त करने के तरीके से पता चलता है। इसे लागू करने के लिए किसी भी अंतर्निहित मंच पर निर्भर नहीं करता है कि एक प्रोग्राम लिखने के लिए इस परियोजना का उद्देश्य है, बल्कि एक दलाल से सीधे कीमत डेटा प्राप्त करता है और एक एपीआई के माध्यम से आदेश देता है। यहां दिए गए कोड को एक backtesting मंच बनाने के लिए एक बड़ी परियोजना है और एक स्वचालित विदेशी मुद्रा ट्रेडिंग रोबोट का हिस्सा है। इस परियोजना के लिए स्रोत कोड / 4xlab पर उपलब्ध है पृष्ठभूमि डीडीई (गतिशील डाटा एक्सचेंज) में एक ही डाटा साझा करने के लिए दो आवेदन सक्षम बनाता है एक इंटरप्रोसेस संचार प्रणाली है। इस तंत्र में इस तरह के OLE या कॉम के रूप में अन्य विकल्प के पक्ष में पदावनत है। वित्तीय अनुप्रयोगों में, यह लोकप्रिय है और डीडीई सक्षम अनुप्रयोगों अभी भी बनाया जा रहा है। एक बोली प्रदाता और एक ग्राहक के बीच बातचीत वास्तविक समय उद्धरण प्राप्त करने के लिए आम तौर पर सीमित है। डीडीई ऐतिहासिक डेटा प्राप्त या ट्रेडों में प्रवेश करने के लिए नहीं किया जाता है। एक डीडीई संवाद के लिए होते हैं, दो आवेदन, सर्वर, या डेटा का प्रदाता है, और ग्राहक, या उपभोक्ता चलना चाहिए। सर्वर अनुप्रयोग नहीं चल रहा है, क्लाइंट कनेक्शन प्रयास विफल हो जाएगा। इस उदाहरण में, सर्वर मेटाट्रेडर टर्मिनल 4.0 हो जाएगा, और ग्राहकों माइक्रोसॉफ्ट एक्सेल और 4X डीडीई ग्राहक हो जाएगा। एक्सेल का उपयोग 4 MetaTrader को कनेक्ट: मेटाट्रेडर के तयशुदा संस्थापन डीडीई सर्वर सक्षम नहीं है। यह मैन्युअल एक बार सक्षम होना चाहिए। ऐसा करने के लिए उपकरण पर क्लिक करें - & gt; (डिफ़ॉल्ट रूप से चयनित) सर्वर टैब, 'डीडीई सर्वर सक्षम करें' विकल्प चुना जाता है सुनिश्चित पर विकल्प अपने विकल्पों को सहेजने के लिए ठीक क्लिक करें। मेटाट्रेडर चल रहा है, एक बार एक सर्वर से जुड़ा हुआ है, और इसकी डीडीई सर्वर लांच एक्सेल, सक्रिय किया गया है। ! पूछ EURUSD | एक सेल = MT4 में कनेक्शन, प्रकार का परीक्षण करने के लिए। इस आदेश MT4 के डीडीई सर्वर का उपयोग यूरो डालर जोड़ी के लिए पूछना बोली प्राप्त करता है। सेल सामग्री आखिरी जोड़ी के लिए कीमत पूछने के लिए और सब कुछ ठीक से काम कर रहा है, तो स्वचालित रूप से वास्तविक समय में इस मान अद्यतन प्रदर्शित करना चाहिए। मेटाट्रेडर नहीं चल रहा है, या डीडीई सर्वर सक्षम नहीं है, तो Excel यह विफल रहता है और #VALUE होगा जो गैर मौजूदा MT4.exe फ़ाइल नाम, का उपयोग शुरू करने की कोशिश करेंगे! या #REF! जीना डेटा का उपयोग कोशिकाओं में प्रदर्शित किया जाएगा। एक्सेल का उपयोग करने के लिए बेहद आसान है और डिबगिंग में मदद करता है कि एक वाक्य रचना के साथ एक डीडीई ग्राहक लागू करता है। संवाद करने के लिए, ग्राहक डीडीई अनुप्रयोग का नाम, डीडीई विषय है, और डीडीई मद में पता करने की जरूरत है। इस प्रकार के रूप अनुरोध करने के लिए, वाक्य रचना है: = DDEAppName | DDETopic DDEItem मेटाट्रेडर 4 के साथ संवाद करने के लिए, DDEAppName MT4 है, DDETopic नीचे सूचीबद्ध आदेशों में से एक है और DDEItem आप में रुचि रखते हैं, मुद्रा जोड़ी है। MT4 के डीडीई विषय आइटम: मुद्रा जोड़ी उदाहरण: = MT4 | बोली USDCHF नमूना आउटपुट: 1.2472 जोड़ी के लिए बोली या बिक्री मूल्य रिटर्न आइटम: मुद्रा जोड़ी उदाहरण:! MT4 = | पूछें GBPUSD नमूना आउटपुट: 1.8656