لغة خوارزمية QPILE لبرمجة روبوتات التداول لـ QUIK.
يمكن كتابة روبوتات التداول بلغة معينة ، على غرار كود البرنامج. QPILE هي واحدة منها ، ستأخذ هذه المقالة بعين الاعتبار هذه اللغة ، وتقارن بين اللغتين QPILE و
LUA ، وستقدم أيضًا أمثلة على الروبوتات بهذه اللغة.
معلومات عامة عن QPILE
QPILE هو اختصار يشير إلى واجهة QUIK القابلة للبرمجة والبيئة المنطقية.
هذه سلسلة من الأوامر يتم تفسيرها بواسطة محطة عمل QUIK. يتم استخدامه بشكل أساسي لحساب سعر محافظ الأوراق المالية. تُستخدم اللغة أيضًا في:
- إعادة الحساب الديناميكي لسعر أصول العملاء على سطح مكتب الوسيط وفي محافظهم الاستثمارية. في الحالة الأخيرة ، يتم أيضًا إعادة حساب سعرها الإجمالي ؛
- العثور على المؤشرات المفقودة باستخدام الخوارزميات والبيانات الخاصة بهم للإقراض بالهامش ؛
- تطوير استراتيجية التداول الصحيحة.
تصف اللغة هيكل الجدول: تعيين الأعمدة والصفوف والصيغ. في الأخير ، يمكن استخدام العمليات الحسابية والمتغيرات والبيانات من جداول أخرى للحساب. تتم معالجة رمز البرنامج الذي تم تحميله من خادم QUIK أو من قرص المستخدم بواسطة مترجم اللغة ، والذي يحسب القيم في الصيغ. تحتوي جداول برنامج واحد على مصدر بيانات واحد ، لكن الحسابات لا تتكرر ولا تؤثر على كفاءة النظام. عند العمل باستخدام جداول QUIK ، فإن الجداول الموجودة على QPILE لها وظائف قياسية. تم تجهيز QUIK في مكان العمل بمصحح رمز QPILE. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm ستسمح لك اللغة بوصف جداول جديدة بهيكل معين وتمييز الخلايا بقيم معينة وحساب الحقول بناءً على التعبيرات الرياضية والمنطقية. سيتلقى المستخدم إشعارات على شكل إشارة صوتية أو رسالة نصية. يمكن تحرير الجداول الموجودة على QPILE وطباعتها ونسخها وتصديرها عبر خادم ODBC و DDE. البيانات الأولية مأخوذة من جداول QUIK:
- المعاملات ، بما في ذلك الخاصة بالتنفيذ والمعاملات غير الشخصية ؛
- الأوامر ، بما في ذلك أوامر الإيقاف ، للصفقات والأوامر خارج البورصة – تقارير عن التداولات في صفقات التسوية ؛
- “محفظة العميل” ، “شراء / بيع”
- بيانات من صفقات المشاركين عن طريق المال وحسابات التداول والأداة.
لا يمكن نسخ الجداول التي تستند إلى QPILE إلى ملف نصي عبر قائمة السياق وتصديرها إلى أنظمة التحليل الفني ، ولا يمكن تطوير المخططات بناءً عليها. لا يمكن تصفية أو فرز الجداول المستندة إلى QPILE.
العمل مع طاولة
لتحميل رمز البرنامج ، تحتاج إلى تحديد قائمة الخدمات ، ثم البرامج النصية QPILE. يمكنك أيضًا استخدام التركيبة Ctrl + F11. بعد أن تحتاج إلى النقر فوق “إضافة” وتحديد الملف المطلوب. يحتوي على ملحق .qpl وسيظهر اسمه في قائمة البرامج النصية المتاحة.
- اسم الطاولة؛
- عدد الأعمدة والعملاء ؛
- قائمة المعرفات والعملاء ؛
- قائمة المعلمات والتعليمات البرمجية المصدر للملف.
يبني QPILE
أنواع البيانات
- سلسلة – خيط.
- المضاعفة هي رقم فاصلة عائمة.
- المجموعة – مجموعة.
- خريطة – مصفوفة ترابطية – سلسلة من الأزواج تسمح لك بالحصول على المعلومات عن طريق المفتاح.
التعبيرات
يتم تطبيق العمليات الحسابية للجمع والطرح والضرب والقسمة. يتم أيضًا استخدام التعبيرات المنطقية “و” ، “أو” ، تساوي ، أكثر ، أقل ، عدم المساواة ، البناء الشرطي “إذا … ثم …”.
المهام
يمكن أن توجد الوظائف في أي مكان في البرنامج ولها أسماء مختلفة. في المجموع ، تتوفر 18 مجموعة من الوظائف والوظائف الرياضية للحصول على قيم الجداول والمعلمات والمصفوفات الترابطية وقائمة الجداول والمهام الأخرى. الصف الاول:
- الدوال الرياضية التي تسمح لك بإرجاع قيمة الجيب وجيب التمام والظل والظل للوسيطة وحساب أس الوسيطة وإنشاء رقم عشوائي وما إلى ذلك.
- الأوامر العامة : NEW_GLOBAL لتهيئة متغير عام و MESSAGE لفتح الرسائل.
وظائف للعمل معها:
- مجموعات الأشياء (المجموعة) . إنها تسمح لك بإنشاء مجموعة جديدة ، وإرجاع العدد المطلوب من العناصر ، واستبدال أو إدراج القيم المطلوبة.
- المصفوفات النقابية (MAP) . تساعد في إنشاء وإدارة المصفوفة.
- الملفات – العمل مع الملفات النصية ، والحفاظ على سجل البرنامج. قد يحتوي اسم الملف على المسار إليه.
- سلاسل .
- الرسوم البيانية . دالات GET_CANDLE للوصول إلى بيانات الشمعة و GET_CANDLE EX لإرجاع مصفوفة ترابطية.
- التطبيقات . إنشاء الأوامر وإرسالها إلى نظام التداول.
- العلامات . البناء والتركيب على الرسم البياني. إضافة وحذف واحد أو كل التصنيفات ، والحصول على معلمات لتسمية معينة وتعيينها.
هناك أيضًا وظائف لـ:
- للوصول إلى صفوف جداول QUIK التعسفية وقوائم المعلمات المتاحة . الوصول إلى بيانات جدول مكان العمل. وتشمل هذه GET_ITEM لإرجاع MAP و GET_NUMBER_OF لإرجاع عدد الإدخالات.
- للعمل مع جدول قابل للبرمجة . تعمل هذه الأوامر على جدول OWN. يمكن قراءته من خلال الوظائف القياسية من الفقرة السابقة وبواسطة هذه الوظائف. تتضمن هذه المجموعة أوامر لإضافة صف مع فهرس وتعديله وحذفه ، ومسح جدول OWN بالكامل.
للحصول على القيم ، استخدم:
- جداول التداولات الحالية . الحصول على معاملات تبادل المعلومات باستخدام أوامر GET_PARAM (_EX).
- نوافذ الاقتباس . الحصول على قيم أسعار الأدوات.
- جداول المراكز بالأدوات والمال . الحصول على بيانات عن حساب عميل أو شركة أو أداة أو إيداع عن طريق الكود.
وظائف الخدمة – إعادة تاريخ جلسة التداول الحالية ، السلسلة الترابطية ، التاريخ والوقت الحاليين ، تحديد حالة الاتصال ، مقاطعة وضع الحساب.
برامج التصحيح
يتم التحكم في تشغيل البرنامج خطوة بخطوة في نافذة “التصحيح”. يتم فتحه من قائمة السياق “بدء الحساب في وضع التصحيح”. يمكن أيضًا فتحه باستخدام الأمر breakpoint () ، وسيتم تمييز سطر البرنامج باللون الأحمر. تحتوي النافذة على حقول مع رمز البرنامج والقيم المتغيرة. في الجزء السفلي من النافذة توجد أزرار “الخطوة التالية” ، “متابعة التنفيذ” ، “إيقاف الحساب”. سيؤدي الضغط على F5 إلى متابعة تنفيذ البرنامج ، وسيتوقف الجمع بين Shift + F5 عن تصحيح الأخطاء ، وسيقوم المفتاح F10 بالتوجيه إلى السطر التالي.
QPILE أم LUA؟
LUA هي لغة برمجة جديدة لإنشاء روبوتات تجارية. مثل QPILE ، يتم تنفيذه في محطة QUIK. https://articles.opexflow.com/programming/lua.htm يعرض الموقع المخصص لتطوير روبوتات التداول من أجل التداول مزايا لغة LUA على QPILE. لذلك ، يمكن أن يعمل كبرنامج نصي غير مجمع وكود ثانوي ، مزود بأدوات المطور وآليات البرمجة الموجهة للكائنات. يمكن توصيل الكائنات المكتوبة بلغات برمجة أخرى ببرامج LUA. يوفر LUA 8 أنواع بيانات ، بما في ذلك البيانات الوصفية. لغة LUA متعددة الخيوط وسريعة ، والمعاملات وأحداث المحطة غير متزامنة. تعد LUA أكثر شيوعًا من QPILE ، وقد تم كتابة العديد من الامتدادات لها.
تم الآن إهمال لغة QPILE. يوصي الخبراء في المنتديات باستخدام LUA. على الرغم من أن البرامج المفيدة والفعالة لا تزال قيد الاستخدام.
ومع ذلك ، فإن لغة QPILE بسيطة مقارنةً بـ LUA ، لذلك إذا لم تكن لديك خبرة في البرمجة ، فمن الأفضل اختيار QPILE. بهذه اللغة ، يمكنك كتابة روبوت بسيط إذا لم تكن بحاجة لإجراء حسابات معقدة.
كيف تصنع روبوت تداول على QPILE؟
لإنشاء مستشار تداول ، ستحتاج إلى البرامج التالية:
- ITS كويك.
- محرر كود Notepad ++.
- دليل QPILE.
- البرنامج المساعد XML لاكتشاف الكود في Notepad ++.
قم بتنزيل وتثبيت هذه البرامج. قم بتمكين بناء جملة اللغة بوضع userDefineLang.xml في المسار C: \ Users \ User \ AppData \ Roaming \ Notepad ++ \
يتم استكمال كتلة “إعدادات المستخدم” بمتغيرات NUMBER و INTERVAL ، والتي سيتم استخدامها في وظيفة الحصول على آخر أشرطة N. تحدد الدالة DATETIME تاريخ الخادم ووقته ، ويتم استدعاء وظيفتي التاريخ والوقت الحاليين CURDATE و CURTIME منها. يتم تحويل الوقت الحالي إلى رقم في السطر 24. يحدد السطر 26 وقت تشغيل الخوارزمية من الساعة 10:00:01 إلى 18:40:00 بالتوقيت العالمي المنسق.
روبوتات التداول على QPILE – حلول جاهزة
الروبوت المتوسط المتحرك
الروبوت التجريبي غير مناسب للتداول الحقيقي.
N. Moroshkin موقف حاسبة
برنامج لحساب مستويات الحد الأقصى المسموح به من التراجع والهدف للمراكز الطويلة والقصيرة بأسعار الطلب والعطاء الحالية. يتم حساب المستويات لقيمتين لحجم دخول المركز. يجد الروبوت حجم المركز المسموح به عند تعيين أمر إيقاف في خطوة واحدة من سعر الافتتاح مع حساب فتح مركز في الاتجاه الصعودي للشريط. يتم إدخال المستويات التي تم العثور عليها في نافذة المحطة ، والتي تنعكس لاحقًا في مخطط الأسعار. يتم إصلاح المعاملات لأداة معينة. إذا تم فتح مركز ، يبدأ الروبوت في حساب معاملاته. اعتمادًا على التغيير في المركز ، يتم تعديل الأوامر المخصصة.
مرشح الحجم
محفظة روبوت لحساب المتوسط الحسابي لحجم الشموع ومقارنتها بمتوسط المنتج بواسطة معامل X. تعمل بشكل صحيح مع الرسوم البيانية في فترة زمنية محددة.
خيارات الإغريق
حافظة لحساب وعرض خيارات “اليونانيين”. وهي تختلف عن طريقة Black-Showers.
روبوت التداول TRIX لـ QUIK
يعتمد البرنامج على مؤشر TRIX. عندما يغلق المؤشر فوق خط الصفر ، المستوى المحدد ، يأخذ الروبوت المركز الطويل. يتم إغلاق المركز عن طريق جني الأرباح أو إيقاف الخسارة أو وقف الخسارة المتحرك.
المعالج الأولي M4
برنامج للعمل مع QPILE و Lua. يتضمن أرشيفات مع ملفات قابلة للتنفيذ ووثائق وملفات DLL مع تحليل التعبير العادي. لاستخدام البرنامج ، تحتاج إلى فك ضغط الملفات القابلة للتنفيذ ووضع regexp2 في مسار C: \ Windows. دروس حول QPILE لـ QUIK: https://youtu.be/vMTXwDUujpI تثبيت برنامج نصي على QPILE في محطة Quik: https://youtu.be/0B7qL8Svh7I قسم على github يصف استخدام لغة خوارزمية QPILE المضمنة في محطة عمل نظام QUIK الموجودة على الرابط – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE هي لغة قديمة ، ولكنها بسيطة جدًا ويمكن الوصول إليها حتى للمتداولين المبتدئين. تستمر الروبوتات والبرامج التجارية التي أثبتت جدواها لفترة طويلة في العمل عليها. ومع ذلك ، من الأفضل استخدام LUA للمهام الأكثر تعقيدًا.
0к