
التبادلات الحديثة تقنية للغاية وتجتذب انتباه متخصصي تكنولوجيا المعلومات (على سبيل المثال ، تشير المناقشات النشطة
لمقالاتي حول الموضوع إلى ذلك). يهتم الكثيرون بموضوع كتابة الروبوتات التجارية - شخص ما يريد أن يحاول كسب المال في البورصة من تلقاء نفسه ، شخص ما لا يمانع في القيام بذلك عند الطلب. اليوم سنتحدث عن كيفية التعامل مع إنشاء أول منتج من هذا القبيل - سنناقش كومة تقنية محتملة ، وخفض عتبة الدخول وطرق لتقليل الخسائر المحتملة.
إخلاء المسؤولية : وظيفة لأولئك الذين يتخيلون بالفعل تقريبًا جهاز التبادل ، ووجود المخاطر ، لديه الفرصة لتجربة ليس من أجل المال الأخير ، وبشكل عام ، لديها الحس السليم.
استكشاف كومة التكنولوجيا الممكنة
كما هو الحال في أي مشروع لتكنولوجيا المعلومات ، عند تطوير تطبيقات للتداول في البورصة ، فإن اختيار أدوات محددة يحدد الهدف النهائي. قبل البدء في تطوير روبوت تجاري ، تحتاج إلى تصميم النظام بالكامل ، وفهم الوحدات النمطية الموجودة فيه ، وكيفية تفاعلها.
هل تكتب روبوتًا عالي التردد ، يكون لكل مللي ثانية مهمة؟ في أي الأسواق من البلدان التي سوف يعمل النظام التجاري؟ هل سيكون هناك محرك تداول فقط ، أم أنه لا يزال من الضروري إضافة وحدة إدارة المخاطر؟
في كل حالة من هذه الحالات ، قد تختلف مجموعة التقنيات. تم توضيح طريقة جيدة للاختيار في مقال حول مورد ملف تعريف QuantStart (بالطبع ، باللغة الإنجليزية - من الأفضل إتقان هذه اللغة لتطوير التطبيقات المالية).
بشكل عام ، سيكون عليك على الأرجح الاختيار من بين قائمة التقنيات هذه:
- تحتوي معظم برامج الوساطة وليس فقط واجهات برمجة التطبيقات (هنا هو اختيار هذه الأدوات ) على واجهات في C ++ و / أو Java. ربما ستتمكن من العثور على وحدات جاهزة للاتصال مكتوبًا في C # و Python و R و Excel و MatLab من قبل ممثلي المجتمع / عملاء وسيط معين. لكن قد تضطر إلى كتابتها بنفسك.
- لتحليل البيانات ، غالبًا ما تستخدم مكتبات مثل uBLAS و LAPACK و NAG لـ C ++ ؛ MatLab في Python و NumPy / SciPy شائعة.
- عند تطوير روبوتات عالية التردد باستخدام GPU (FPGA) ، ستحتاج على الأرجح إلى التعرف على إطار عمل CUDA.
تعلم تفاصيل التطوير في مجال التمويل باستخدام لغات البرمجة المضمنة
إن إنشاء نظام تجاري قوي هو بشكل افتراضي مشروع واسع النطاق إلى حد ما. ومع ذلك ، إذا كان هدفك هو ، من حيث المبدأ ، التعرف على التطور في مجال التمويل ، ودراسة نقاط مختلفة عند إنشاء روبوتات تجارية ، فمن الممكن تمامًا القيام بما يسمى بلغات البرمجة المدمجة.
هناك محطات تداول لا يمكن استخدامها فقط لإجراء المعاملات في الوضع اليدوي ، ولكن أيضًا تستخدم لغات البرمجة النصية المضمنة فيها لإنشاء روبوتات بسيطة.
واحدة من المحطات الأكثر شعبية في سوق الأوراق المالية الروسية هي QUIK ، ولديها خوارزمية اللغة QPILE (واجهة برمجة QUIK والبيئة المنطقية). مع ذلك ، يمكنك أتمتة
أنظمة التداول البسيطة . أيضًا في QUIK ، يوجد مترجم للغة البرمجة النصية LUA مدمج - يطلق عليه QLUA. يمكن تنزيل البرامج النصية الموجودة عليه إلى الجهاز في شكل شفرة المصدر ، وبالفعل في شكل شفرة بايت مترجمة.
مثال لرمز QPILE:
PROGRAM FirmCode = "MC0012300000" CurrentBalance = MONEY_CURRENT_BALANCE(ROWNAME, FirmCode, "EQTV", "SUR") CurrentLimit = MONEY_CURRENT_LIMIT(ROWNAME, FirmCode, "EQTV", "SUR") Locked = MONEY_LIMIT_LOCKED(ROWNAME, FirmCode, "EQTV", "SUR") AvailableMoney = MoneyCurrentBalance + MoneyCurrentLimit – MoneyLocked If AvailableMoney > 0 Status = " " Else Status = " " SET_ROW_COLOR(ROWNAME, "RGB(255,138,138)", "DEFAULT_COLOR") End If END_PROGRAM
تحتوي كلتا اللغتين على مجتمع متطور إلى حد ما من المستخدمين ، ويمكن طرح الأسئلة في المواضيع في
المنتدى الرسمي.
بالإضافة إلى QUIK ، يمكنك التداول في البورصات الروسية من خلال محطة
SMARTx . ويستخدم لغة البرمجة النصية المضمنة TradeScript. بناء الجملة بسيط ، ولكن يمكن تشفير عدد الكلمات والمعاملات المتاحة باستراتيجيات معقدة إلى حد ما. هذا هو ما قد يبدو عليه رمز الإستراتيجية البسيطة لبرنامج TradeScript:
Buy Signals # , TREND(EMA(CLOSE, 20), 15) = UP AND TREND(MACD(13, 26, 9, SIMPLE), 5) = UP Sell Signals # , TREND(EMA(CLOSE, 20), 15) = DOWN AND TREND(MACD(13, 26, 9, SIMPLE), 5) = DOWN Exit Long Signal # , TREND(EMA(CLOSE, 20), 15) = DOWN OR TREND(MACD(13, 26, 9, SIMPLE), 5) = DOWN Exit Short Signal # , TREND(EMA(CLOSE, 20), 15) = UP OR TREND(MACD(13, 26, 9, SIMPLE), 5) = UP
أهم خطوة: اختبار وتصحيح الأخطاء
إن تطوير تطبيقات القطاع المالي ، وخاصة أدوات التداول في البورصة ، أمر معقد بسبب حقيقة أنه يتعين عليك هنا دفع المال عن الأخطاء بالمعنى الحرفي. هذا لا يكتب رمزًا لبدء تشغيل الويب التالي ، حيث يمكن أن يمر الفشل دون أن يلاحظه أحد. أي خطأ في رمز الروبوت التجاري سيؤدي إلى خسارة في المال. لذلك ، التصحيح والاختبار هي المرحلة الأكثر أهمية في إنشاء مثل هذه البرامج.
بالطبع ، يجب عليك تطبيق جميع أفضل الممارسات ، وإنشاء اختبارات ، وإجراء قبول الشفرة بشكل صحيح (حتى إذا كنت تقوم بتطوير مشروع بمفردك). والأهم من ذلك - قبل بدء الاختبارات على أموال حقيقية ، "دفع" البرنامج على تلك الافتراضية.
اليوم ، يقدم العديد من الوسطاء الروس خدمة الوصول المجاني للاختبار (على سبيل المثال ، لدى شركة SMARTx terminal developer company) عندما يقدمون لك حسابًا لا يختلف تقريبًا عن الحساب الحقيقي ، ولكن الأموال الموجودة فيه افتراضية. كقاعدة عامة ، عند التعامل مع هذا الحساب ، يمكنك التداول في الأسواق الرئيسية - الأسهم والعملات والمشتقات - والعمل مع الأسهم الرئيسية والعقود الآجلة وما إلى ذلك.
في بعض الحالات ، يمكنك حتى اختبار التداول باستخدام الأموال المقترضة (أي الرافعة المالية) - ولكن عند إنشاء أول روبوت ، يبقى السؤال هو ما إذا كان من الضروري إضافة مثل هذه الوظائف إليه.
موارد مفيدة لمطوري تطبيقات التداول في البورصة: