2 مرفق
موضوع هام جدا عن كيفية تبادل المعلومات بين منصات الميتاتريدر
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
يعاني الكثير وخصوصا المبرمجين من صعوبة تبادل البيانات بين منصتين ميتاتريدر أو أكثر ... وهي قد تكون ضرورية لأسباب كثيرة وتطبيق لأفكار جديدة ...
ومع أنه يوجد حلول برمجية كثيرة إلا أنها صعبة ومعقدة وقد تكون بطيئة أيضا .
لذلك قمت والحمد لله ببرمجة كود بسيط وسريع جدا وبفكرة مبتكرة جدا لتنفيذ هذه المهمة الصعبة .
والكود سوف أرفقه .. بل وأشرحه لمن هو مهتم .
يمكن الآن للمبرمجين الاستفادة من هذا الكود بعدة طرق :
- نقل المعلومات من منصة لمنصة أخرى وعمل مقارنات بين الأسعار مثلا أو بين قيم المؤشرات المختلفة بين منصتين أو أكثر .
- عمل برامج ناسخة للصفقات بكل سهولة ويسر .
- يمكن لأي اكسبيرت أو مؤشر معرفة الرصيد مثلا في حساب آخر .
الأفكار لا تنتهي ولن تنتهي ... وسيجد المبرمجون الكثير من الأفكار لتطبيقها الآن مع هذا الكود ..
نأتي الآن لشرح الفكرة الأساسية لهذا الكود وطريقة عمله .
يوجد في الميتاتريدر خدمة برمجية اسمها المتحولات العامة Global Variables .
هذه المتحولات العامة يمكنك برمجيا أو يدويا إنشاء ما تريد منها ووضع القيمة التي تريد بكل متحول .
وهذه المتحولات هي عامة فقط لهذه المنصة ... أي أن لكل منصة متحولاتها العامة وليس هناك أي طريقة لقراءة متحولات عامة من منصة أخرى .
وهنا جاءت الفكرة وجاء الحل ...
فهذا الكود البسيط يقوم بمشاركة هذه المتحولات العامة بين أي عدد من المنصات وبشكل لحظي ... وأي تغير يطرأ على أي متحول ينعكس مباشرة في المنصة الأخرى .
لذلك كان الكود على شكل سكريبتين ... السكريبت الأول MASTER تقوم بوضعه على شارت في المنصة التي تريد النقل منها .
والسكريبت الثاني CLIENT تشغله على المنصة التي تريد النقل إليها .
ويمكن وضع سكريبت CLIENT على أكثر من منصة والتي تريد أن تنتقل المتحولات العامة من الماستر إليها .
بهذه الطريقة أي متحول جديد يتم إنشاءه برمجيا أو يدويا ... أو أي متحول تتغير قيمته في الماستر ... ستجد هذا المتحول وقيمته موجودة مباشرة في أي منصة يعمل عليها الكلاينت .
لذلك لو صممت مؤشر مثلا على الماستر يقوم بتسجيل أسعاره في المتحولات العامة ... وشغلته مع الماستر .
وأيضا صممت اكسبيرت يقوم بقراءة الأسعار من الماستر ويقارنها مثلا بأسعاره ... فأنت حصلت على برنامج أربيتراج سهل وسريع ...
ومن فترة طلب مني الأخ صاحب هدف برنامج يقوم بإغلاق صفقة ما بمجرد إغلاقها في منصة أخرى ..
الآن يمكن عمل ذلك بسهولة ... طالما أصبح عندنا طريقة لتبادل البيانات بين المنصات .
طبعا هذا الموضوع برمجي بحت ووضعته هنا لكي يطلع عليه أكبر عدد ومن ثم سيتم نقله يدويا :) إلى قسمه الخاص .
شرح طريقة العمل :
- ضع السكريبت الأول MASTER على أي شارت على المنصة التي تريد النقل منها .
- اسمح له باستخدام DLL .
- سيظهر لك رقم الاتصال Handle .
- اضغط زر Start .
- ضع السكريبت الثاني CLIENT على أي شارت على المنصة التي تريد النقل إليها .
- اسمح له باستخدام DLL .
- اكتب في الخاصية MasterHandle الرقم الذي ظهر على منصة الماستر وهو رقم الاتصال بين المنصتين .
- اضغط زر Start .
هذا كل شيء وسيتم تبادل المتحولات العامة من الماستر إلى الكلاينت بشكل لحظي .
في الكود طريقة مبتكرة جدا للاتصال وتبادل البيانات ... يمكن استخدامها برمجيا بشكل آخر وليس شرطا بالطريقة التي أرفقتها في هذا الموضوع .
والحقوق هي للجميع من تعديل واستفادة وتطوير .
أرجو من الله سبحانه التوفيق للجميع .