كوانتستارت الفوركس


QuantStart.
الانضمام إلى كوانتكاديمي بوابة العضوية الخاصة التي تلبي احتياجات التجزئة المتزايد بسرعة المجتمع تاجر الكمي. سوف تجد مجموعة من ذوي الخبرة مثل التفكير من التجار الكميون على استعداد للرد على أسئلة التداول الكمي الأكثر إلحاحا.
تحقق من بلدي يبوك على التداول الكمي حيث أنا يعلمك كيفية بناء مربحة استراتيجيات التداول المنهجي مع أدوات بايثون، من الصفر.
نلقي نظرة على بلدي الكتاب الاليكتروني الجديد على استراتيجيات التداول المتقدمة باستخدام تحليل سلسلة زمنية، والتعلم الآلي والإحصاءات بايزي، مع بيثون و R.
من قبل مايكل هالز مور في 17 مارس 2018.
في اليوم دخول يوميات تداول العملات الأجنبية أريد مناقشة الخطة على المدى الطويل لنظام تداول الفوركس. بالإضافة إلى ذلك أريد أن الخطوط العريضة كيف لقد استخدمت بيثون عشري من نوع البيانات لجعل الحسابات أكثر دقة.
حتى الآن، لقد تم تجريب مع أبي الراحة أواندا من أجل معرفة كيف أنها مقارنة مع أبي التي تقدمها وسطاء التفاعلية. لقد رأينا أيضا كيفية إضافة في عنصر النسخ المتماثل محفظة الأساسية كخطوة أولى نحو نظام باكتستينغ يحركها الحدث المناسب. كما كان لدي بعض التعليقات المفيدة على كل من المقالات السابقة (رقم 1 و 2)، مما يوحي بأن الكثيرين منكم حريصون على تغيير وتوسيع الشفرة بأنفسكم.
فتح مصادر نظام تداول العملات الأجنبية.
للأسباب المذكورة أعلاه قررت أن فتح المصدر لنظام تداول العملات الأجنبية. ماذا يعني هذا؟ وهذا يعني أن جميع التعليمات البرمجية الحالية والمستقبلية سوف تكون متاحة مجانا، تحت ليبر ليبرالية رخصة مفتوحة المصدر، على جيثب نسخة التحكم الموقع على العنوان التالي: هتبس: // جيثب / مهالزمور / كسفوريكس.
لأولئك منكم الذين استخدموا جيت و جيثب من قبل، عليك أن تكون قادرا على جيت استنساخ الريبو وبدء تعديله لأغراض خاصة بك.
نظام كوانتستارت الآلي للتجارة الفوركس هو الآن مفتوح المصدر تحت رخصة ميت ليبرالية. يمكنك العثور على أحدث رمز على جيثب تحت مستودع كسفوريكس في هتبس: // جيثب / مهالزمور / كسفوريكس.
بالنسبة لأولئك منكم الذين هم جديد لمراقبة المصدر المصدر ربما كنت تريد أن تقرأ على كيفية جيت (والتحكم في الإصدار بشكل عام) يعمل مع الكتاب الاليكترونى الحرة رائعة برو جيت. ومن الجدير قضاء بعض الوقت في تعلم عن التحكم في المصدر لأنها سوف توفر لك كمية كبيرة من الصداع في المستقبل إذا كنت تنفق الكثير من برمجة الوقت وتحديث المشاريع!
و "بداية سريعة" لنظام أوبونتو هو تثبيت جيت:
ثم سوف تحتاج إلى إجراء دليل لمشروع كسفوريكس للعيش في و "استنساخ" المشروع من موقع جيثب على النحو التالي:
عند هذه النقطة سوف تحتاج إلى إنشاء بيئة افتراضية التي لتشغيل التعليمات البرمجية:
سوف تحتاج بعد ذلك إلى تثبيت المتطلبات (وهذا سوف يستغرق بعض الوقت!):
وأخيرا سوف تحتاج إلى إنشاء ارتباط رمزي في بيئة افتراضية بيثون الخاص بك للسماح لك لكتابة كسفوريكس استيراد في التعليمات البرمجية الخاصة بك (وتشغيله!):
كما ذكرت في الإدخالات السابقة سوف تحتاج إلى إنشاء المتغيرات البيئة اللازمة للحصول على بيانات اعتماد أواندا المصادقة. يرجى الاطلاع على مذكرات الإدخال رقم 2 للحصول على إرشادات حول كيفية القيام بذلك.
يرجى الانتباه إلى ريدمي المرتبطة مع الريبو، كما أنه يحتوي على تعليمات التثبيت، إخلاء المسؤولية والضمان حول استخدام التعليمات البرمجية.
منذ البرنامج في وضع "ألفا"، وهذه التعليمات تصبح أكثر وضوحا مع تقدم الوقت. على وجه الخصوص سأحاول التفاف المشروع في حزمة بايثون بحيث يمكن تركيبها بسهولة عبر نقطة.
إذا كان لديك أي أسئلة حول إجراء التثبيت، ثم الرجاء لا تتردد في الكتابة لي على مايك @ كوانتستارت.
خطة طويلة الأجل.
إن "فلسفة" نظام تداول الفوركس، كما هو الحال مع بقية موقع كوانتستارت، هو محاولة محاكاة تداول الحياة الحقيقية قدر الإمكان في باكتستينغ لدينا. وهذا يعني تضمين التفاصيل التي غالبا ما يتم استبعادها من المزيد من "المنحى البحثي" حالات باكتستينغ. سيتم تضمين كل من الكمون، وانقطاعات الخادم، والتشغيل الآلي، والرصد، وتكاليف المعاملات الواقعية ضمن النماذج لتعطينا فكرة جيدة عن مدى نجاح الإستراتيجية.
بما أننا سيكون لدينا الوصول إلى البيانات القراد (الطوابع / طلب الطوابع) ونحن سوف تكون قادرة على دمج انتشار في تكاليف المعاملات. يمكننا أيضا نموذج الانزلاق. ومن األقل تأثيرا على السوق أن يكون نموذجا لتأثير السوق، على الرغم من أن هذا األمر يقل قلقا في حجم التداول األصغر.
بالإضافة إلى تكاليف المعاملات نحن نريد أن نمذجة إدارة محفظة قوية باستخدام تراكب المخاطر وتحديد حجم الموقف.
إذن ما هو المضمون حاليا في نظام تداول الفوركس حتى الآن؟
العمارة المستندة إلى الحدث - تم تصميم نظام تداول الفوركس باعتباره نظام يحركه الحدث من الألف إلى الياء، وهذا هو كيف سيتم تنفيذ نظام التداول اللحظي في بيئة حية. السعر الجري - لدينا السعر الأساسي يتدفق الكائن. هذا يعالج حاليا الاشتراك في زوج واحد فقط، ولكن يمكننا بسهولة تعديل هذا للاشتراك في أزواج العملات متعددة. توليد الإشارة - يمكننا دمج استراتيجيات التداول (استنادا مباشرة إلى أسعار القراد السابقة والحالية) باستخدام كائن الاستراتيجية، الذي يخلق كائنات سيغناليفنت. تنفيذ النظام - لدينا نظام تنفيذ النظام ساذجة أن يرسل عمياء أوامر من محفظة لأواندا. من خلال "أعمى" أعني أنه لا توجد إدارة المخاطر أو وضع التحجيم التي يجري تنفيذها، ولا أي التنفيذ الخوارزمية التي قد تؤدي إلى انخفاض تكاليف المعاملات. غبب بيس كيرنسي - للحفاظ على الأمور بسيطة، لقد كتبت النظام فقط للعملة الجنيه الإسترليني. وربما كان هذا هو الجانب الأكثر أهمية لتعديل نظرا لكثير منكم سوف يكون حسابات الممارسة المقومة بالدولار الأمريكي واليورو والدولار الكندي والين الياباني والأسترالي والدولار النيوزلندي! غبب / أوسد التداول - اخترت "كابل" كزوج العملات لاختبار الموقف الأولي والأشياء محفظة مع. التعامل مع أزواج العملات متعددة خطوة مهمة هامة. وسيتضمن ذلك تعديلا على حسابات المركز والحافظة. التعامل مع العشرية - يجب على أي نظام تداول الإنتاج التعامل مع حسابات العملة بشكل صحيح. وعلى وجه الخصوص، لا ينبغي تخزين قيم العملات كنوع بيانات عائمة، لأن أخطاء التقريب سوف تتراكم. يرجى الاطلاع على هذه المادة رائعة على العائمة التمثيلات للحصول على مزيد من التفاصيل. تداول طويل / قصير - بين مذكرات مذكرات # 2 و # 3 أضفت القدرة على اختصار زوج العملات (بدلا من أن تكون قادرة على الذهاب لفترة طويلة). والأهم من ذلك، هو أيضا وحدة اختبارها. التعامل مع المحفظة المحلية - في رأيي إجراء اختبار باكتست أن تضخيم أداء الاستراتيجية بسبب افتراضات غير واقعية مزعج في أحسن الأحوال وغير مربحة للغاية في أسوأ الأحوال! إدخال كائن محفظة المحلية التي يكرر حسابات أواندا يعني أننا يمكن أن تحقق الحسابات الداخلية لدينا أثناء تنفيذ التداول الممارسة، مما يعطينا ثقة أكبر عندما نستخدم في وقت لاحق هذا كائن محفظة نفسه ل باكتستينغ على البيانات التاريخية. وحدة اختبارات للموقف / محفظة - في حين أنني لم أذكر ذلك مباشرة في مذكرات مذكرات # 1 و # 2، لقد كنت في الواقع كتابة بعض الاختبارات وحدة للمحفظة وموقف الأشياء. ولما كانت هذه الأمور حاسمة جدا بالنسبة لحسابات الاستراتيجية، يجب أن يكون المرء واثقا للغاية من أنها تؤدي الأداء كما هو متوقع. ومن الفوائد الإضافية لهذه الاختبارات أنها تسمح بتعديل الحساب الأساسي، بحيث إذا ما استمرت جميع الاختبارات، يمكننا أن نثق بأن النظام العام سيستمر في التصرف كما هو متوقع.
في هذه المرحلة يفتقر نظام تداول الفوركس إلى الوظائف التالية:
معالجة الانزلاق - النظام حاليا توليد الكثير من الانزلاق بسبب الطبيعة عالية التردد من البيانات القراد المقدمة من أواندا. وهذا يعني أن رصيد المحفظة المحسوب محليا لا يعكس الرصيد الذي تحسبه أواندا. حتى يتم التعامل مع الحدث الصحيح وتعديل الانزلاق، وهذا يعني أن الاختبار الخلفي لن يعكس الواقع بشكل صحيح. العملات الأساسية متعددة - نحن يقتصر حاليا على الجنيه الإسترليني. على أقل تقدير نحن بحاجة إلى إدراج العملات الرئيسية - الدولار، اليورو، الدولار الكندي، الدولار الأسترالي، الين الياباني والدولار النيوزلندي. أزواج العملات المتعددة - وبالمثل نحن بحاجة إلى دعم أزواج العملات الرئيسية وراء "كابل" (غبب / أوسد). هناك جانبان لهذا. الأول هو التعامل مع الحسابات بشكل صحيح عندما لا تكون قاعدة أو اقتباس زوج العملات مساوية لعملة حساب الحساب. الجانب الثاني هو دعم مواقف متعددة حتى نتمكن من تداول مجموعة من أزواج العملات. إدارة المخاطر - العديد من "البحوث" باكتيستس تجاهل تماما إدارة المخاطر. ولسوء الحظ فإن هذا أمر ضروري عموما للإيجاز في وصف قواعد الاستراتيجية. في الواقع نحن - استخدام - تراكب المخاطر عند التداول، وإلا فمن المرجح للغاية أننا سوف تعاني من خسارة كبيرة في مرحلة ما. هذا لا يعني أن إدارة المخاطر يمكن أن تمنع هذا تماما، ولكن بالتأكيد يجعل من أقل احتمالا! تحسين المحفظة - في إطار مؤسسي سيكون لدينا ولاية استثمارية، والتي تملي نظام إدارة محافظ قوي مع مختلف قواعد التخصيص. قد نرغب في وضع البيع بالتجزئة / الشخصي في استخدام نهج تحديد الحجم الموقف مثل معيار كيلي لتعظيم لدينا على المدى الطويل معدل النمو المركب. استراتيجيات قوية - لقد أظهرت فقط بعض الإشارات العشوائية بسيطة توليد "لعبة" استراتيجيات حتى الآن. الآن بعد أن بدأنا في إنشاء نظام تداول فوريكس موثوق به خلال اليوم، يجب أن نبدأ تنفيذ بعض الاستراتيجيات أكثر إثارة للاهتمام. سوف مذكرات المستقبل تركز على الاستراتيجيات المستمدة من خليط من "الفنية" مؤشرات / مرشحات، فضلا عن نماذج السلاسل الزمنية وتقنيات التعلم الآلي. النشر عن بعد - بما أننا من المحتمل أن تكون مهتمة في التداول 24 ساعة (على الأقل خلال الأسبوع!) نحن بحاجة إلى إعداد أكثر تطورا من تشغيل باكتستر على سطح المكتب المحلي / آلة الكمبيوتر المحمول في المنزل. ومن الحيوي أن نخلق نشر الملقم البعيد قوية من نظامنا مع التكرار المناسب والرصد. تاريخية باكتستينغ - لقد بنينا كائن محفظة للسماح لنا لأداء باكتستينغ واقعية. في هذه المرحلة نحن في عداد المفقودين نظام تخزين البيانات القراد التاريخي. في المقالات اللاحقة سوف ننظر في الحصول على بيانات القراد التاريخية وتخزينها في قاعدة بيانات مناسبة، مثل HDF5. قاعدة بيانات التجارة - في نهاية المطاف ونحن سوف ترغب في تخزين الصفقات الحية لدينا في قاعدة البيانات الخاصة بنا. وهذا سوف يسمح لنا لتنفيذ تحليلاتنا الخاصة على بيانات التداول الحية. توصية جيدة لقاعدة البيانات العلائقية ستكون بوستغريزل أو ميسكل. الرصد والتوافر العالي - نظرا لأننا ندرس نظاما لحظيا عالي التردد، يجب أن نضع رصدا شاملا وتوافر عالي التكرار في المكان. وهذا يعني الإبلاغ عن استخدام وحدة المعالجة المركزية، واستخدام القرص، شبكة I / O، الكمون والتحقق من أن يتم تعيين أي البرامج النصية الدورية للحفاظ على التوالي. وبالإضافة إلى ذلك نحن بحاجة إلى استراتيجية النسخ الاحتياطي واستعادة. اسأل نفسك عن خطط النسخ الاحتياطي التي سيكون لديك في مكانها إذا كان لديك مواقف مفتوحة كبيرة، في سوق متقلبة، وخادم الخاص بك توفي فجأة. صدقوني، يحدث ذلك! وسيط متعددة / فيكس التكامل - في هذه اللحظة نحن يقترن بقوة إلى وسيط أواندا. كما قلت هذا هو ببساطة لأنني جئت عبر أبي وجدت أنها تقدم الحديثة. هناك الكثير من السماسرة الآخرين هناك، وكثير منها دعم بروتوكول فيكس. ومن شأن إضافة قدرة فيكس أن يزيد عدد السماسرة التي يمكن استخدامها مع النظام. واجهة المستخدم الرسومية التحكم والإبلاغ - الآن النظام هو تماما وحدة / سطر الأوامر القائمة. على الأقل سوف نحتاج إلى بعض الرسوم البيانية الأساسية لعرض نتائج الاختبار الخلفي. وسيتضمن نظام أكثر تطورا إحصاءات موجزة عن الصفقات، ومقاييس الأداء على مستوى الاستراتيجية، فضلا عن الأداء العام للحافظة. يمكن تنفيذ واجهة المستخدم الرسومية هذه باستخدام نظام نوافذ عبر منصة مثل كت أو تكينتر. ويمكن أيضا أن تقدم باستخدام الواجهة الأمامية على شبكة الإنترنت، وذلك باستخدام إطار الويب مثل دجانغو.
كما يمكن أن يرى هناك الكثير من الوظائف تركت على خارطة الطريق! ومع ذلك، فإن كل مذكرات جديدة (والمساهمات المحتملة من المجتمع!) سوف تحرك المشروع إلى الأمام.
أنواع البيانات العشرية.
الآن بعد أن ناقشنا الخطة على المدى الطويل أريد أن أقدم بعض التغييرات التي أدخلتها على التعليمات البرمجية منذ مذكرات دخول # 2. على وجه الخصوص، أريد أن أصف كيف عدلت التعليمات البرمجية للتعامل مع عشري نوع البيانات بدلا من استخدام تخزين نقطة العائمة. هذا هو تغيير مهم للغاية حيث تمثل التمثيلات نقطة عائمة مصدرا كبيرا للخطأ على المدى الطويل في نظم إدارة المحافظ والنظام.
بيثون أصلا يدعم التمثيل العشري لدقة تعسفية. يتم تضمين وظيفة داخل مكتبة عشري.
على وجه الخصوص نحن بحاجة إلى تعديل - every - القيمة التي تظهر في حساب موقف لنوع بيانات عشري. ويشمل ذلك الوحدات والتعرض والنقاط والربح والنسبة المئوية للربح. هذا يضمن أننا في السيطرة الكاملة على كيفية التعامل مع القضايا التقريب عند التعامل مع تمثيلات العملة التي لديها اثنين من المنازل العشرية من الدقة. على وجه الخصوص نحن بحاجة إلى اختيار طريقة التقريب. بيثون يدعم بعض أنواع مختلفة، ولكن نحن ذاهبون للذهاب مع ROUND_HALF_DOWN، الذي يقترب إلى أقرب عدد صحيح مع العلاقات الذهاب نحو الصفر.
فيما يلي مثال لكيفية تعديل التعليمات البرمجية للتعامل مع أنواع البيانات العشرية من تمثيلها العمودي السابق. فيما يلي قائمة بالموقع. py. py:
لاحظ أننا يجب أن نقدم عشري مع وسيطة سلسلة، بدلا من وسيطة عائمة نقطة. وذلك لأن السلسلة تحدد بدقة دقة القيمة، في حين أن نوع النقطة العائمة لن يحدث.
لاحظ أيضا أنه عندما نبدأ بتخزين صفقاتنا في قاعدة بيانات علائقية (كما هو موضح أعلاه في خارطة الطريق) سنحتاج إلى التأكد من أننا نستخدم مرة أخرى نوع البيانات الصحيح. يدعم بوستغريزل و ميسكل تمثيل عشري. فمن الحيوي أن نستخدم هذه الأنواع من البيانات عندما نقوم بإنشاء مخطط قاعدة البيانات لدينا، وإلا فإننا سوف تعمل في أخطاء التقريب التي يصعب للغاية لتشخيص!
بالنسبة لأولئك الذين يرغبون في مناقشة أعمق لهذه القضايا، في الرياضيات وعلوم الكمبيوتر، وموضوع التحليل العددي يغطي العائمة قضايا التخزين نقطة، من بين العديد من المواضيع الأخرى المثيرة للاهتمام.
في إدخالات مذكرات لاحقة سنناقش كيف قمت بتطبيق اختبار وحدة على التعليمات البرمجية وكيف يمكننا توسيع البرنامج إلى أزواج العملات أكثر من خلال تعديل حسابات الموقف.
رمز بيثون كامل.
وبما أن شفرة المصدر الكاملة للمشروع هي الآن مفتوحة المصدر، بموجب ترخيص معهد ماساتشوستس للتكنولوجيا، فإنه يمكن دائما العثور عليها في هتبس: // جيثب / مهالزمور / كسفوريكس، مع الوثائق المصاحبة.
إذا كنت ترغب في قراءة الإدخالات الأخرى في هذه السلسلة، يرجى اتباع الروابط أدناه:
مجرد بدء مع التداول الكمي؟
3 أسباب الاشتراك في قائمة البريد الإلكتروني كوانتستارت:
1. دروس التداول الكمي.
سوف تحصل على إمكانية الوصول الفوري إلى دورة مجانية 10-البريد الإلكتروني معبأة مع تلميحات ونصائح لمساعدتك على البدء في التداول الكمي!
2. جميع أحدث المحتوى.
كل أسبوع سوف نرسل لك التفاف جميع الأنشطة على كوانتستارت لذلك عليك أن لا يفوتون وظيفة مرة أخرى.
ريال مدريد، وقابلة للتنفيذ نصائح التداول الكمي مع أي هراء.

QuantStart.
الانضمام إلى كوانتكاديمي بوابة العضوية الخاصة التي تلبي احتياجات التجزئة المتزايد بسرعة المجتمع تاجر الكمي. سوف تجد مجموعة من ذوي الخبرة مثل التفكير من التجار الكميون على استعداد للرد على أسئلة التداول الكمي الأكثر إلحاحا.
تحقق من بلدي يبوك على التداول الكمي حيث أنا يعلمك كيفية بناء مربحة استراتيجيات التداول المنهجي مع أدوات بايثون، من الصفر.
نلقي نظرة على بلدي الكتاب الاليكتروني الجديد على استراتيجيات التداول المتقدمة باستخدام تحليل سلسلة زمنية، والتعلم الآلي والإحصاءات بايزي، مع بيثون و R.
من قبل مايكل هالز مور في 30 يونيو، 2018.
على الرغم من أنني قد قضيت معظم هذا الشهر البحث تحليل سلسلة زمنية لسلسلة المقال القادم، لقد كنت أيضا تعمل على كسفوريكس محاولة لتحسين أبي إلى حد ما.
على وجه الخصوص لقد جعلت واجهة لبدء باكتست جديد أبسط بكثير من خلال تغليف الكثير من "نمطي" التعليمات البرمجية إلى فئة باكتست جديد. لقد عدلت أيضا النظام لتكون قابلة للعمل بشكل كامل مع أزواج العملات متعددة. في هذه المقالة سوف أصف الواجهة الجديدة وأظهر المثال المعتاد المتحرك كروس أوفر على كل من غبب / أوسد و ور / أوسد.
واجهة باكتست الجديدة.
لقد عدلت واجهة باكتست بحيث بدلا من الحاجة إلى إنشاء ملف backtest. py مخصص كما كان من قبل، يمكنك ببساطة إنشاء مثيل باكتست وتعبئة مع مكونات التداول الخاصة بك.
أفضل طريقة للبدء بالنهج الجديد هي إلقاء نظرة على الدليل / الأمثلة وفتح mac. py:
كما ترون أنها قصيرة نسبيا. أولا رمز يستورد المكونات اللازمة، وهي باكتست، سيمولاتديكسكوتيون، محفظة، موفينغافيراجكروسستراتيجي و هيستوريكسفريسيهاندلر.
ثانيا، نحن نحدد الأزواج التي سنقوم بالتداول معها ومن ثم إنشاء قاموس يعرف باسم strategic_params. يحتوي هذا بشكل أساسي على أي وسيطات للكلمات الرئيسية قد نرغب في تمريرها إلى استراتيجيتنا. في حالة المتوسط ​​المتحرك كروس أوفر نحن بحاجة لتمرير أطوال نافذة المتداول. هذه القيم هي من حيث "القراد".
وأخيرا نقوم بإنشاء مثيل باكتست وتمرير كافة الكائنات كمعلمات. ثم، ونحن تشغيل باكتست نفسها.
ضمن backtest. py الجديد نسمي هذه الطريقة:
وهي تنفذ حساب باكتست (أي تحديث محفظة كما القراد تأتي في) وكذلك الحوسبة وإخراج الأداء في arrow. csv.
كما كان من قبل لا يزال يمكننا إنتاج مؤامرة من الناتج مع باكتيست / output. py النصي. سأستخدم هذا النص البرمجي أدناه عندما نناقش تنفيذ عدة أزواج العملات.
أزواج العملات المتعددة.
نحن في النهاية عند النقطة التي يمكننا اختبار أول استراتيجية التداول غير تافهة لدينا على البيانات عالية التردد القراد عبر أزواج العملات متعددة!
لتحقيق ذلك قمت بتعديل كيف يتم التعامل مع موفينغايفيغركستراتيغي. لاستكمال لقد وضعت القائمة الكاملة أدناه:
أساسا نقوم بإنشاء سمة القاموس atr_dict أن يخزن عدد من القراءات المنقضية وما إذا كانت الاستراتيجية "في" السوق لهذا الزوج معين.
في account_signals ننتظر حتى يتم تلقي تيكيفنت ومن ثم حساب المتوسطات المتحركة البسيطة المتداول للنوافذ القصيرة والطويلة. وبمجرد أن نتجاوز النافذة القصيرة لزوج معين، فإن الاستراتيجية تذهب طويلة وتخرج بنفس الطريقة كما كانت من قبل، على الرغم من كل زوج على حدة.
لقد استخدمت 2 أشهر من البيانات لكل من غبب / أوسد و ور / أوسد و باكتست يستغرق بعض الوقت لتنفيذ! يستغرق حوالي 10-15 دقيقة على نظام بلدي، بما في ذلك حساب السحب.
ومع ذلك، بمجرد اكتمال باكتست ونحن قادرون على استخدام باكتست / output. py لإنتاج الرسم البياني الأداء التالي:
الرسم البياني أداء غبب / أوسد و ور / أوسد موفينغافيراجكروسوفر للفترة من أبريل 2018 - مايو 2018.
من الواضح أن الأداء ليس كبيرا حيث أن الاستراتيجية لا تزال كليا تقريبا "تحت الماء" مع مرور الوقت. ومع ذلك، لا ينبغي لنا أن نتوقع الكثير من مثل هذه الاستراتيجية الأساسية على بيانات القراد عالية التردد. في المستقبل سوف ننظر إلى نهج أكثر تعقيدا بكثير على التداول في هذا النطاق الزمني.
نأمل أن توفر نقطة انطلاق مفيدة لوضع استراتيجيات أكثر تطورا. وإنني أتطلع إلى رؤية ما يأتي الآخرون في المستقبل القريب!
الخطوات التالية.
في هذه المرحلة هناك قائمة من القضايا على جيثب التي تحتاج إلى عناية. سوف أعمل ببطء من خلال تلك في الشهر المقبل.
على وجه الخصوص أود أن جعل النظام أسرع بكثير، لأنه سيسمح البحث المعلمة التي يتعين القيام بها في وقت معقول. في حين بيثون هو أداة عظيمة، انها عيب واحد هو أنه بطيء نسبيا بالمقارنة مع C / C ++. ومن ثم سوف يكون تنفيذ الكثير من التنميط في محاولة لتحسين سرعة التنفيذ من كل من باكتست وحسابات الأداء.
بالإضافة إلى ذلك، كان لدي بعض التعليقات من أشخاص يوحيون بأنهم يرغبون في رؤية أنواع أكثر تنوعا من الطلبات من أمر السوق البسيط. لتنفيذ استراتيجيات هفت المناسبة ضد أواندا نحن بحاجة إلى استخدام أوامر الحد. ومن المحتمل أن يتطلب ذلك إعادة صياغة لكيفية قيام النظام حاليا بتنفيذ الصفقات، ولكنه سيسمح بتنفيذ مجموعة أكبر بكثير من استراتيجيات التداول.
يرجى الحصول على اتصال في مايك @ كوانتستارت إذا كان لديك أي اقتراحات أو تعليقات أو تقارير الشوائب. أنا دائما حريصة على سماع كيف انتهى الناس باستخدام كسفوريكس وما هي التعديلات التي تم إجراؤها.
مجرد بدء مع التداول الكمي؟
3 أسباب الاشتراك في قائمة البريد الإلكتروني كوانتستارت:
1. دروس التداول الكمي.
سوف تحصل على إمكانية الوصول الفوري إلى دورة مجانية 10-البريد الإلكتروني معبأة مع تلميحات ونصائح لمساعدتك على البدء في التداول الكمي!
2. جميع أحدث المحتوى.
كل أسبوع سوف نرسل لك التفاف جميع الأنشطة على كوانتستارت لذلك عليك أن لا يفوتون وظيفة مرة أخرى.
ريال مدريد، وقابلة للتنفيذ نصائح التداول الكمي مع أي هراء.

مايكل هالز مور مورزالمور.
تقرير أو حظر كالسمور.
اتصل بالدعم حول سلوك هذا المستخدم.
المنظمات.
مستودعات مثبتة.
كوانتستارت - البنية التحتية المتطورة للتجارة.
كوانتستارت الفوركس باكتستينغ والتجارة الحية.
مجموعة أدوات هيدرولوجية / هيدرولية تستند إلى حلول لمعادلات المياه الضحلة ثنائية الأبعاد.
555 مساهمة في العام الماضي.
نشاط المساهمة الانتقال إلى أول طلب سحب العدد الأول المستودع الأول انضم جيثب.
يناير 2018.
&نسخ؛ 2018 جيثب، Inc. شروط الخصوصية تعليمات حالة الأمان.
لا يمكنك تنفيذ هذا الإجراء في الوقت الحالي.
لقد سجلت الدخول باستخدام علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة. لقد سجلت الخروج في علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة.

كوانتستارت فوريكس
سحب الطلبات 11.
تاريخ جيثب اليوم.
جيثب هي موطن لأكثر من 20 مليون مطورين يعملون معا لاستضافة ومراجعة التعليمات البرمجية، وإدارة المشاريع، وبناء البرمجيات معا.
استنساخ مع هتبس.
استخدام جيت أو الخروج مع سفن باستخدام ورل على شبكة الإنترنت.
كسفوريكس هو منصة مفتوحة المصدر يحفزها الحدث وتداول الحية منصة لاستخدامها في أسواق العملات الأجنبية ("الفوركس")، حاليا في "ألفا" الدولة.
وقد تم إنشاؤها كجزء من سلسلة تجارة الفوركس يوميات على كوانتستارت لتوفير مجتمع التداول المنهجي مع محرك تداول قوي يسمح تنفيذ استراتيجية الفوركس الفوركس والاختبار.
يتم توفير البرنامج بموجب رخصة متيسرة "ميت" (انظر أدناه).
المصدر المفتوح - تم الإفراج عن كسفوريكس تحت رخصة متسامحة للغاية مفتوحة المصدر ميت، والذي يسمح الاستخدام الكامل في كل من البحوث والتطبيقات التجارية، دون قيود، ولكن مع أي ضمان من أي نوع على الإطلاق. مجانا - كسفوريكس هو خال تماما ولا يكلف شيئا لتحميل أو استخدام. التعاون - كما كسفوريكس هو مفتوح المصدر العديد من المطورين التعاون لتحسين البرنامج. يتم إضافة ميزات جديدة في كثير من الأحيان. يتم تحديد أي البق بسرعة وثابتة. تطوير البرمجيات - كسفوريكس هو مكتوب بلغة برمجة بايثون لدعم مباشر عبر منصة. كسفوريكس يحتوي على مجموعة من الاختبارات وحدة لغالبية رمز حسابها ويتم إضافة اختبارات جديدة باستمرار لميزات جديدة. الحدث يحركها العمارة - كسفوريكس هو تماما يحركها الحدث على حد سواء ل باكتستينغ والتجارة الحية، الأمر الذي يؤدي إلى الانتقال المباشر للاستراتيجيات من مرحلة البحث / الاختبار لتنفيذ التداول الحية. تكاليف المعاملات - يتم تضمين تكاليف الانتشار افتراضيا لجميع الاستراتيجيات باكتستد. باكتستينغ - كسفوريكس يتميز اللحظي القرار الدقة لعدة أيام متعددة العملات الزوج باكتستينغ. التداول - يدعم كسفوريكس حاليا التداول اللحظي الحي باستخدام واجهة برمجة تطبيقات أواندا للوساطة عبر محفظة من الأزواج. مقاييس الأداء - يدعم كسفوريكس حاليا قياس الأداء الأساسي والتصور الإنصاف عن طريق المكتبات التصور ماتلوتليب و سيبورن.
زيارة أواندا / وإعداد حساب للحصول على أوراق اعتماد المصادقة أبي، والتي سوف تحتاج إلى تنفيذ التداول المباشر. أشرح كيفية تنفيذ ذلك في هذه المقالة: هتبس: // كوانتستارت / أرتيكلس / فوريكس-ترادينغ-دياري-1-أوتوماتد-فوريكس-ترادينغ-ويث-أواندا-أبي.
استنساخ هذا المستودع جيت في موقع مناسب على الجهاز الخاص بك باستخدام الأمر التالي في المحطة الطرفية: جيت استنساخ هتبس: //github/mhallsmoore/qsforex. git. البديل يمكنك تحميل ملف مضغوط من الفرع الرئيسي الحالي في هتبس: //github/mhallsmoore/qsforex/archive/master. zip.
إنشاء مجموعة من المتغيرات البيئة لجميع الإعدادات الموجودة في الملف settings. py في الدليل الجذر التطبيق. بدلا من ذلك، يمكنك "التعليمات البرمجية الصلبة" الإعدادات الخاصة بك عن طريق الكتابة فوق os. environ. get (.) يدعو لكل إعداد:
سيؤدي هذا إلى إنشاء بيئة افتراضية جديدة لتثبيت الحزم في. بافتراض أنك قمت بتنزيل مستودع بوابة كسفوريكس إلى دليل مثال مثل.
/ بروجيكتس / كسفوريكس / (تغيير هذا الدليل أدناه إلى أي مكان قمت بتثبيت كسفوريكس)، ثم من أجل تثبيت الحزم ستحتاج إلى تشغيل الأوامر التالية:
وهذا سوف يستغرق بعض الوقت كما نومبي، سسيبي، الباندا، سكيكيت التعلم وماتبلوتليب يجب أن يتم تجميعها. هناك العديد من الحزم المطلوبة لهذا العمل، لذا يرجى إلقاء نظرة على هاتين المادتين لمزيد من المعلومات:
سوف تحتاج أيضا إلى إنشاء ارتباط رمزي من دليل حزم الموقع الخاص بك إلى دليل التثبيت كسفوريكس من أجل أن تكون قادرا على استدعاء كسفوريكس استيراد داخل التعليمات البرمجية. للقيام بذلك سوف تحتاج إلى أمر مشابه لما يلي:
تأكد من التغيير.
/ بروجيكتس / كسفوريكس إلى دليل التثبيت الخاص بك و.
/venv/qsforex/lib/python2.7/site-packages/ إلى دليل حزم موقع فيرتوالينف الخاص بك.
ستتمكن الآن من تشغيل الأوامر اللاحقة بشكل صحيح.
في هذه المرحلة، إذا كنت ترغب ببساطة في تنفيذ الممارسة أو التداول المباشر ثم يمكنك تشغيل بيثون التداول / trading. py، والتي سوف تستخدم استراتيجية التداول تستستراتيجي الافتراضية. هذا ببساطة يشتري أو يبيع زوج العملات كل 5 القراد. هو محض لاختبار - لا تستخدم في بيئة التداول الحية!
إذا كنت ترغب في إنشاء استراتيجية أكثر فائدة، فكل ما عليك هو إنشاء فئة جديدة تحمل اسما وصفيا، على سبيل المثال. مينريفيرزيونمولتيبايرستراتيغي والتأكد من أنه يحتوي على طريقة account_signals. سوف تحتاج إلى تمرير هذه الفئة قائمة أزواج وكذلك طابور الأحداث، كما هو الحال في التداول / trading. py.
يرجى إلقاء نظرة على إستراتيجية / stat. py للحصول على التفاصيل.
من أجل تنفيذ أي باكتستينغ فمن الضروري لتوليد بيانات الفوركس محاكاة أو تحميل البيانات القراد التاريخية. إذا كنت ترغب في مجرد محاولة البرنامج خارج، وأسرع طريقة لتوليد مثال باكتست هو توليد بعض البيانات محاكاة. تنسيق البيانات الحالي المستخدم من قبل كسفوريكس هو نفسه الذي قدمه دوكاسكوبي تغذية البيانات التاريخية في هتبس: // دوكاسكوبي / سويس / إنجليش / ماركيتواتش / هيستوريكال /.
لإنشاء بعض البيانات التاريخية، تأكد من أن إعداد CSV_DATA_DIR في settings. py يتم تعيينه على دليل تريد أن تعيش فيه البيانات التاريخية. ستحتاج بعد ذلك إلى تشغيل gener_simulated_pair. py، والذي يقع ضمن دليل النصوص البرمجية /. ويتوقع سطر الأوامر سطر الأوامر، والتي في هذه الحالة هو زوج العملات في شكل ببقق. فمثلا:
في هذه المرحلة يتم ترميز النص البرمجي لإنشاء بيانات شهر واحد لشهر يناير 2018. وهذا هو، سترى الملفات الفردية، من تنسيق BBBQQQ_YYYYMMDD. csv (على سبيل المثال، EURUSD_20180112.csv) تظهر في CSV_DATA_DIR لكافة أيام العمل في ذلك الشهر. إذا كنت ترغب في تغيير الشهر / السنة من إخراج البيانات، ببساطة تعديل الملف وإعادة تشغيل.
الآن بعد أن تم إنشاء البيانات التاريخية فمن الممكن لإجراء باكتست. يتم تخزين ملف باكتست نفسه في باكتست / backtest. py، ولكن هذا يحتوي فقط على باكتست الطبقة. لتنفيذ فعلا باكتست تحتاج إلى إنشاء هذه الفئة وتوفيرها مع الوحدات اللازمة.
وأفضل طريقة لمعرفة كيفية القيام بذلك هي الاطلاع على مثال "تنفيذ متوسط ​​كروس أوفر المتحرك" في ملف الأمثلة / mac. py واستخدام هذا النموذج كقالب. وهذا يجعل من استخدام موفينغايفيراجكروساتيغي الذي تم العثور عليه في إستراتيجية / stat. py. هذا التخلف عن التداول لكل من غبب / أوسد و ور / أوسد لإثبات استخدام زوج العملات المتعددة. ويستخدم البيانات الموجودة في CSV_DATA_DIR.
لتنفيذ مثال باكتست، ببساطة تشغيل ما يلي:
سيستغرق ذلك بعض الوقت. على نظام سطح المكتب الخاص بي أوبونتو في المنزل، مع البيانات التاريخية التي تم إنشاؤها عبر gener_simulated_pair. py، يستغرق حوالي 5-10 دقائق لتشغيل. يحدث جزء كبير من هذا الحساب في نهاية باكتست الفعلي، عندما يتم حساب السحب، لذا يرجى تذكر أن التعليمات البرمجية لم تعلق! يرجى ترك الأمر حتى الانتهاء.
إذا كنت ترغب في عرض أداء باكتست يمكنك ببساطة استخدام output. py لعرض منحنى الأسهم، وعوائد الفترة (أي علامات القراد إلى القراد) ومنحنى السحب:
وهذا كل شيء! في هذه المرحلة كنت على استعداد للبدء في إنشاء باكتيستس الخاصة بك عن طريق تعديل أو إلحاق الاستراتيجيات في استراتيجية / ستراتيجيك / استخدام البيانات الحقيقية التي تم تحميلها من دوكاسكوبي (هتبس: // دوكاسكوبي / سويس / إنجليش / ماركيتواتش / التاريخية /).
إذا كان لديك أي أسئلة حول التثبيت ثم لا تتردد في الكتابة لي في مايك @ كوانتستارت.
إذا كان لديك أي البق أو غيرها من القضايا التي تعتقد أنها قد تكون بسبب كودباس على وجه التحديد، لا تتردد في فتح قضية جيثب هنا: هتبس: // جيثب / مهالزمور / كسفوريكس / القضايا.
حقوق الطبع والنشر (ج) 2018 مايكل هالز مور.
يتم منح الإذن، مجانا، لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به ("البرنامج")، للتعامل في البرنامج دون قيود، بما في ذلك سبيل المثال لا الحصر حقوق استخدام ونسخ وتعديل ودمج أو نشر أو توزيع أو ترخيص و / أو بيع نسخ من البرنامج، والسماح للأشخاص الذين يتم توفير البرامج لهم بذلك، مع مراعاة الشروط التالية:
يجب تضمين إشعار حقوق الطبع والنشر المذكور أعلاه وإشعار الإذن هذا في جميع النسخ أو أجزاء كبيرة من البرنامج.
يتم توفير البرنامج "كما هو"، دون أي ضمانات من أي نوع، صريحة أو ضمنية، بما في ذلك على سبيل المثال لا الحصر ضمانات قابلية التسويق والملاءمة لغرض معين وعدم الانتهاك. في أي حال من الأحوال المؤلفون أو أصحاب حقوق الطبع والنشر تكون مسؤولة عن أي مطالبة أو أضرار أو مسؤولية أخرى، سواء في أي إجراء من العقود أو الضرر أو غير ذلك، الناشئة عن، أو خارج أو فيما يتعلق بالبرنامج أو استخدام أو غيرها من المعاملات في البرمجيات.
تداول العملات الأجنبية على الهامش يحمل درجة عالية من المخاطر، وقد لا تكون مناسبة لجميع المستثمرين. الأداء السابق لا یشیر إلی النتائج المستقبلیة. درجة عالية من الرافعة المالية يمكن أن تعمل ضدك وكذلك بالنسبة لك. قبل اتخاذ قرار الاستثمار في النقد الأجنبي يجب عليك أن تنظر بعناية أهدافك الاستثمارية، ومستوى الخبرة، والقدرة على المخاطرة. هناك احتمال أن تتمكن من الحفاظ على فقدان بعض أو كل من الاستثمار الأولي الخاص بك، وبالتالي يجب أن لا تستثمر المال الذي لا يمكن أن تخسره. يجب أن تكون على علم بجميع المخاطر المرتبطة بتداول العملات الأجنبية، وطلب المشورة من مستشار مالي مستقل إذا كان لديك أي شكوك.
&نسخ؛ 2018 جيثب، Inc. شروط الخصوصية تعليمات حالة الأمان.
لا يمكنك تنفيذ هذا الإجراء في الوقت الحالي.
لقد سجلت الدخول باستخدام علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة. لقد سجلت الخروج في علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة.

QuantStart.
الانضمام إلى كوانتكاديمي بوابة العضوية الخاصة التي تلبي احتياجات التجزئة المتزايد بسرعة المجتمع تاجر الكمي. سوف تجد مجموعة من ذوي الخبرة مثل التفكير من التجار الكميون على استعداد للرد على أسئلة التداول الكمي الأكثر إلحاحا.
تحقق من بلدي يبوك على التداول الكمي حيث أنا يعلمك كيفية بناء مربحة استراتيجيات التداول المنهجي مع أدوات بايثون، من الصفر.
نلقي نظرة على بلدي الكتاب الاليكتروني الجديد على استراتيجيات التداول المتقدمة باستخدام تحليل سلسلة زمنية، والتعلم الآلي والإحصاءات بايزي، مع بيثون و R.
من قبل مايكل هالز مور في 21 يناير، 2018.
لقد ذكرت سابقا في كوانتستارت: 2018 في مقالة مراجعة أنني سوف تنفق بعض عام 2018 الكتابة عن تداول العملات الأجنبية الآلي.
وبالنظر إلى أنني نفسي عادة إجراء البحوث في الأسهم والأسواق الآجلة، وأعتقد أنه سيكون من المرح (والتعليمية!) لكتابة عن تجربتي من دخول سوق الفوركس في اسلوب مذكرات. كل "مذكرات الدخول" سيحاول البناء على كل من قبل، ولكن ينبغي أيضا أن تكون مكتفية ذاتيا نسبيا.
في هذا الإدخال الأول من مذكرات سأصف كيفية إعداد حساب الوساطة ممارسة جديدة مع أواندا وكذلك كيفية إنشاء محرك التداول يحركها الحدث متعددة الخيوط الأساسية التي يمكن أن تنفذ تلقائيا الصفقات في كل من الممارسة والعيش الإعداد.
في العام الماضي قضينا الكثير من الوقت في النظر في باكتستر يحركها الحدث، في المقام الأول للأسهم وصناديق الاستثمار المتداولة. واحد الذي قدم أدناه موجهة نحو النقد الأجنبي، ويمكن استخدامها إما تداول الورق أو التداول المباشر.
لقد كتبت جميع التعليمات التالية ل أوبونتو 14.04، ولكن يجب أن تترجم بسهولة إلى ويندوز أو ماك أوس X، وذلك باستخدام توزيع بايثون مثل أناكوندا. مكتبة إضافية الوحيدة المستخدمة لمحرك التداول بيثون هي مكتبة الطلبات، وهو أمر ضروري للاتصال هتب إلى أبي أواندا.
وبما أن هذه هي أول وظيفة مباشرة عن تداول العملات الأجنبية، ويمكن أن تتكيف التعليمات البرمجية المعروضة أدناه بشكل مباشر مع بيئة التداول الحية، وأود أن تقديم إخلاء المسؤولية التالية:
تنويه: تداول العملات الأجنبية على الهامش يحمل درجة عالية من المخاطر، وقد لا تكون مناسبة لجميع المستثمرين. الأداء السابق لا یشیر إلی النتائج المستقبلیة. درجة عالية من الرافعة المالية يمكن أن تعمل ضدك وكذلك بالنسبة لك. قبل اتخاذ قرار الاستثمار في النقد الأجنبي يجب عليك أن تنظر بعناية أهدافك الاستثمارية، ومستوى الخبرة، والقدرة على المخاطرة. هناك احتمال أن تتمكن من الحفاظ على فقدان بعض أو كل من الاستثمار الأولي الخاص بك، وبالتالي يجب أن لا تستثمر المال الذي لا يمكن أن تخسره. يجب أن تكون على علم بجميع المخاطر المرتبطة بتداول العملات الأجنبية، وطلب المشورة من مستشار مالي مستقل إذا كان لديك أي شكوك.
يتم توفير هذا البرنامج "كما هو" وأية ضمانات صريحة أو ضمنية، بما في ذلك، ولكن لا تقتصر على، الضمانات الضمنية للرواج والصلاحية لغرض معين يتم إخلاء المسؤولية. ولا يتحمل الوصيون أو المساهمون بأي حال من الأحوال المسؤولية عن أي أضرار مباشرة أو غير مباشرة أو عرضية أو خاصة أو نموذجية أو تبعية (بما في ذلك، على سبيل المثال لا الحصر، شراء السلع أو الخدمات البديلة؛ أو فقدان الاستخدام أو البيانات أو الأرباح؛ انقطاع الأعمال) مهما كان سببها وعلى أي نظرية المسؤولية، سواء في العقد، المسؤولية الصارمة، أو الضرر (بما في ذلك الإهمال أو خلاف ذلك) الناشئة في أي من استخدام هذا البرنامج، حتى لو نصح من احتمال حدوث مثل هذا الضرر.
إعداد حساب مع أواندا.
السؤال الأول الذي يتبادر إلى الذهن هو "لماذا تختار أواندا؟". ببساطة، بعد قليل من غوغلينغ حول وسطاء الفوركس الذين لديهم واجهات برمجة التطبيقات، رأيت أن أواندا قد صدر مؤخرا أبي ريست المناسبة التي يمكن بسهولة التواصل مع من أي لغة تقريبا بطريقة مباشرة للغاية. بعد القراءة من خلال وثائق أبي المطور، قررت أن تعطي لهم المحاولة، على الأقل مع حساب الممارسة.
أن تكون واضحة - ليس لدي أي علاقة سابقة أو قائمة مع أواندا وأنا فقط تقديم هذه التوصية على أساس تجربتي محدودة اللعب حولها مع أبي الممارسة وبعض الاستخدامات الموجزة (لتنزيل بيانات السوق) أثناء توظيفهم في صندوق سابقا. إذا كان أي شخص قد تأتي عبر أي وسطاء الفوركس الأخرى التي لديها أيضا أبي الحديثة مماثلة ثم سأكون سعيدا لإعطائهم نظرة كذلك.
قبل استخدام أبي فمن الضروري الاشتراك للحصول على حساب الممارسة. لإجراء ذلك، توجه إلى رابط الاشتراك. سترى الشاشة التالية:
ستتمكن بعد ذلك من تسجيل الدخول باستخدام بيانات اعتماد تسجيل الدخول. تأكد من تحديد علامة التبويب "فسترادبراكتيس" من شاشة تسجيل الدخول:
مرة واحدة في سوف تحتاج إلى تقديم مذكرة من معرف الحساب الخاص بك. يتم إدراجها أسفل رأس "صناديقي" السوداء بجوار "أساسي". الألغام هو عدد 7 أرقام. وبالإضافة إلى ذلك سوف تحتاج أيضا إلى إنشاء رمز أبي الشخصية. لإجراء ذلك، انقر على "إدارة الدخول إلى واجهة برمجة التطبيقات" أسفل علامة التبويب "إجراءات أخرى" في الجزء السفلي الأيمن:
في هذه المرحلة سوف تكون قادرة على توليد رمز أبي المميز. سوف تحتاج إلى مفتاح لاستخدامها في وقت لاحق، لذلك تأكد من كتابته أيضا.
سوف تحتاج الآن إلى إطلاق تطبيق فكتريد الممارسة، والتي سوف تسمح لنا أن نرى أوامر تنفيذها و (ورقة!) الربح & أمب؛ خسارة.
إذا كنت تقوم بتشغيل نظام أوبونتو سوف تحتاج إلى تثبيت إصدار مختلف قليلا من جافا. على وجه الخصوص، إصدار أوراكل من جافا 8. إذا كنت لا تفعل ذلك ثم محاكاة الممارسة لن يتم تحميل من المتصفح. ركضت هذه الأوامر على نظامي:
سوف تكون الآن قادرة على إطلاق بيئة التداول الممارسة. العودة إلى لوحة القيادة أواندا وانقر على الضوء الأخضر "إطلاق فكتراد الممارسة" الارتباط. فإنه سيتم طرح حوار جافا يسألك عما إذا كنت تريد تشغيله. انقر فوق "تشغيل" وسيتم تحميل أداة فكتريد الممارسة. توقفت الألغام إلى الرسم البياني الشمعة 15 دقيقة من ور / أوسد مع لوحة اقتباس على اليسار:
أواندا شاشة فكستريد الممارسة.
في هذه المرحلة ونحن على استعداد للبدء في تصميم وترميز نظام التداول الآلي النقد الاجنبى ضد أواندا أوبي.
نظرة عامة على تجارة العمارة.
إذا كنت قد اتبعت سلسلة باكتستر التي يحركها الحدث للأسهم وصناديق الاستثمار المتداولة التي قمت بإنشائها في العام الماضي، عليك أن تكون على بينة من كيفية عمل مثل هذا النظام التجاري يحركها الحدث. بالنسبة لأولئك منكم الذين هم جديد لبرامج يحركها الحدث، وأود أن أقترح بشدة القراءة من خلال هذه المادة من أجل الحصول على بعض التبصر في كيفية عملهم.
في جوهرها، يتم تنفيذ البرنامج بأكمله في إنفينت في حين حلقة أن ينتهي فقط عندما يتم إيقاف نظام التداول. يتم إعطاء آلية الاتصال المركزية للبرنامج عن طريق طابور يحتوي على الأحداث.
يتم الاستعلام باستمرار عن قائمة الانتظار للتحقق من الأحداث الجديدة. مرة واحدة وقد تم اتخاذ الحدث قبالة الجزء العلوي من قائمة الانتظار يجب التعامل معها من قبل عنصر مناسب من البرنامج. وبالتالي فإن خلاصة بيانات السوق قد تخلق تيكيفنت s التي يتم وضعها على قائمة الانتظار عندما يصل سعر السوق الجديد. كائن استراتيجية توليد إشارة قد إنشاء أوردريفنت s التي يتم إرسالها إلى الوساطة.
وتعطى فائدة مثل هذا النظام من حقيقة أنه لا يهم ما هو ترتيب أو أنواع من الأحداث يتم وضعها على قائمة الانتظار، لأنها سوف تكون دائما على نحو صحيح التعامل معها من قبل العنصر الصحيح داخل البرنامج.
وبالإضافة إلى ذلك يمكن تشغيل أجزاء مختلفة من البرنامج في المواضيع منفصلة، ​​وهذا يعني أنه لا يوجد أبدا أي انتظار لأي مكون معين قبل معالجة أي عنصر آخر. هذا مفيد للغاية في حالات التداول الحسابية حيث معالجات تغذية بيانات السوق ومولدات إشارة الاستراتيجية لها خصائص أداء مختلفة إلى حد كبير.
وتعطى حلقة التداول الرئيسية من قبل بيثون رمز شبه التالية:
كما ذكرنا أعلاه رمز يعمل في حلقة لانهائية. أولا، يتم استطلاع قائمة الانتظار لاسترداد حدث جديد. إذا كانت قائمة الانتظار فارغة، ثم حلقة ببساطة إعادة تشغيل بعد فترة قصيرة من النوم تعرف باسم "ضربات القلب". إذا تم العثور على حدث يتم تقييم نوعه ومن ثم يتم استدعاء وحدة ذات الصلة (إما استراتيجية أو معالج التنفيذ) للتعامل مع الحدث، وربما تولد الجديدة التي تعود إلى قائمة الانتظار.
المكونات الأساسية التي سنقوم بإنشاء نظام التداول لدينا تشمل ما يلي:
معالج أسعار الجري - هذا سيحافظ على اتصال طويل المدى مفتوح لخوادم أوانداس ويرسل بيانات القراد (أي عرض / طلب) عبر الاتصال بأي أدوات نهتم بها. مولد إشارات الإستراتيجية - سيأخذ هذا الأمر سلسلة من القراد الأحداث واستخدامها لتوليد أوامر التداول التي سيتم تنفيذها من قبل معالج التنفيذ. ؛ إيكسكوتيون هاندلر - يأخذ مجموعة من أحداث النظام ثم ينفذها بشكل أعمى مع أواندا. الأحداث - هذه الكائنات تشكل "الرسائل" التي يتم تمريرها حول أحداث قائمة الانتظار. نحن فقط تتطلب اثنين لهذا التنفيذ، وهما تيكيفنت و أوردريفنت. نقطة الدخول الرئيسية - تتضمن نقطة الدخول الرئيسية أيضا حلقة "التجارة" التي تقوم باستمرار باستطلاع قائمة انتظار الرسائل وترسل الرسائل إلى المكون الصحيح. وغالبا ما يعرف هذا باسم "حلقة الحدث" أو "معالج الأحداث".
وسوف نناقش الآن تنفيذ المدونة بالتفصيل. في الجزء السفلي من هذه المادة هو قائمة كاملة من كافة ملفات التعليمات البرمجية المصدر. إذا قمت بوضعها في نفس الدليل وتشغيل بيثون trading. py سوف تبدأ في توليد أوامر، على افتراض كنت قد شغلت في معرف حسابك ورمز المصادقة من أواندا.
بيثون التنفيذ.
ومن الممارسات السيئة لتخزين كلمات السر أو مفاتيح المصادقة داخل كودباس كما يمكنك أبدا التنبؤ من الذي سيسمح في نهاية المطاف الوصول إلى المشروع. في نظام الإنتاج سوف نقوم بتخزين بيانات الاعتماد هذه كمتغيرات بيئة مع النظام ومن ثم الاستعلام عن هذه "إنفارس" في كل مرة يتم فيها إعادة نشر التعليمات البرمجية. وهذا يضمن عدم تخزين كلمات المرور والرموز المميزة في نظام تحكم الإصدار.
ومع ذلك، لأننا مهتمون فقط في بناء "لعبة" نظام التداول، ولا يهتمون تفاصيل الإنتاج في هذه المقالة، ونحن بدلا من ذلك فصل هذه الرموز المصادقة في ملف الإعدادات.
في إعدادات التكوين settings. py التالية لدينا قاموس يسمى إنفيرونمنتس الذي يخزن نقاط النهاية أبي لكل من أواندا السعر تدفق أبي و أبي التداول. يحتوي كل قاموس فرعي ثلاث نقاط نهاية منفصلة أبي: الحقيقي والممارسة ورمل.
أبي رمل هو محض لاختبار رمز وللتحقق من عدم وجود أخطاء أو أخطاء. ليس لديها ضمانات وقت التشغيل من واجهات برمجة التطبيقات الحقيقية أو الممارسة. أبي الممارسة، في جوهرها، يوفر القدرة على تجارة الورق. وهذا هو، فإنه يوفر كل من الميزات أبي الحقيقي على حساب الممارسة محاكاة. أبي الحقيقي هو مجرد ذلك - هو التداول المباشر! إذا كنت تستخدم نقطة النهاية هذه في شفرتك، فسيتم تداولها مقابل رصيد حسابك المباشر. كن حذرا للغاية!
هام: عند التداول ضد أبي الممارسة تذكر أن تكلفة المعاملات الهامة، أن من تأثير السوق، لا يعتبر. وبما أنه لا توجد بالفعل صفقات في البيئة يجب أن يتم حساب هذه التكلفة بطريقة أخرى في مكان آخر باستخدام نموذج تأثير السوق إذا كنت ترغب في تقييم الأداء بشكل واقعي.
في ما يلي نستخدم حساب الممارسة كما هو محدد في إعداد دومين. نحن بحاجة إلى اثنين من القواميس منفصلة للنطاقات، واحد لكل من مكونات أبي تدفق والتجارة. وأخيرا لدينا ACCESS_TOKEN و ACCOUNT_ID. لقد ملأت اثنين أدناه مع معرفات وهمية لذلك سوف تحتاج إلى استخدام الخاصة بك، والتي يمكن الوصول إليها من صفحة حساب أواندا:
الخطوة التالية هي تحديد الأحداث التي سوف تستخدم قائمة الانتظار لمساعدة جميع المكونات الفردية التواصل. نحن بحاجة إلى اثنين: تيكيفنت و أوردريفنت. أول مخازن المعلومات حول بيانات السوق أداة مثل (أفضل) محاولة / طلب والوقت التجارة. والثاني يستخدم لنقل الأوامر إلى معالج التنفيذ، وبالتالي يحتوي على الصك، وعدد الوحدات التجارية، ونوع الطلب ("السوق" أو "الحد") و "الجانب" (أي "شراء" و "بيع" ).
لفي المستقبل برهان الأحداث لدينا رمز نحن ذاهبون إلى إنشاء فئة قاعدة تسمى الحدث ويكون كل الأحداث ترث من هذا. يتم توفير الشفرة أدناه في events. py:
والطبقة التالية ونحن على وشك إنشاء سوف التعامل مع استراتيجية التداول. في هذا العرض نحن نذهب لخلق استراتيجية لا معنى له بدلا من ذلك ببساطة يتلقى كل من القراد السوق وعلى كل 5 القراد يشتري عشوائيا أو يبيع 10،000 وحدة من ور / أوسد.
ومن الواضح أن هذا هو "استراتيجية" سخيفة! ومع ذلك، فإنه أمر رائع لأغراض الاختبار لأنه هو واضح لرمز وفهم. في مذكرات المستقبل مذكرات سنقوم استبدال هذا مع شيء أكثر إثارة بكثير من شأنها أن (نأمل) تتحول أرباحا!
يمكن العثور على ملف policy. py أدناه. دعونا نعمل من خلال ذلك ونرى ما يجري. أولا نستورد مكتبة عشوائية وكائن أوردريفنت من events. py. نحن بحاجة إلى ليب عشوائي من أجل اختيار شراء عشوائي أو بيع النظام. نحتاج أوردريفنت لأن هذه هي الطريقة التي سوف ترسل كائن الاستراتيجية أوامر إلى قائمة الانتظار الأحداث، والتي سيتم تنفيذها في وقت لاحق من قبل معالج التنفيذ.
فئة تستراندومستراتيغي ببساطة يأخذ الصك (في هذه الحالة ور / أوسد)، وعدد من الوحدات والأحداث طابور كمجموعة من المعلمات. ثم يخلق عداد القراد الذي يستخدم لمعرفة عدد حالات تيكيفنت التي شهدتها.
يحدث معظم العمل في أسلوب account_signals، الذي يأخذ ببساطة حدثا، ويحدد ما إذا كان تيكيفنت (خلاف ذلك تجاهل) ويزيد عداد القراد. ثم يتحقق لمعرفة ما إذا كان العد قابل للقسمة بنسبة 5 ثم يشتري عشوائيا أو يبيع، مع نظام السوق، وعدد محدد من الوحدات. انها بالتأكيد ليست أكبر استراتيجية التداول في العالم، ولكن سيكون أكثر من مناسبة لدينا أواندا الوساطة أغراض اختبار أبي!
العنصر التالي هو معالج التنفيذ. ويكلف هذا الفصل مع التمثيل على حالات أوردريفنت وتقديم طلبات للوسيط (في هذه الحالة أواندا) بطريقة "البكم". وهذا هو، لا يوجد إدارة المخاطر أو تراكب البناء بوتفوليو. سوف معالج التنفيذ تنفيذ ببساطة أي أمر أنه قد أعطيت.
يجب علينا تمرير كافة معلومات المصادقة إلى فئة التنفيذ، بما في ذلك "المجال" (الممارسة، الحقيقي أو رمل)، رمز الوصول ورقم تعريف الحساب. ثم نقوم بإنشاء اتصال آمن مع هتبليب، واحدة من بيثونس بنيت في المكتبات.
معظم العمل يحدث في execute_order. تتطلب الطريقة حدث كمعلمة. ثم يبني القواميس اثنين - الرؤوس والمعلمات. ثم سيتم تشفير هذه القواميس بشكل صحيح (جزئيا بواسطة أورليب، مكتبة بيثون أخرى) ليتم إرسالها كطلب هتب بوست إلى أونداس أبي.
نمر معلمات نوع المحتوى والتخويل، والتي تتضمن معلومات المصادقة. وبالإضافة إلى ذلك نحن ترميز المعلمات، والتي تشمل أداة (ور / أوسد)، وحدات ونوع النظام والجانب (شراء / بيع). وأخيرا، نقوم بإجراء الطلب وحفظ الرد:
العنصر الأكثر تعقيدا من نظام التداول هو الكائن سترامينغفوريكسريسز، الذي يعالج تحديثات سعر السوق من أواندا. هناك طريقتان: connect_to_stream و stream_to_queue.
الأسلوب الأول يستخدم مكتبة طلبات بيثون للاتصال بمقبس تدفق مع الرؤوس والمعلمات المناسبة. وتشمل المعلمات معرف الحساب وقائمة الأدوات اللازمة التي ينبغي أن يستمع إلى للحصول على التحديثات (في هذه الحالة هو فقط ور / أوسد). لاحظ السطر التالي:
هذا يروي اتصال أن يتم بثها، وبالتالي تبقى مفتوحة بطريقة طويلة المدى.
الطريقة الثانية، stream_to_queue، في الواقع تحاول الاتصال بالتيار. إذا لم تكن الاستجابة ناجحة (بمعنى أن رمز الاستجابة ليس هتب 200)، فإننا نعود ونخرج ببساطة. إذا كان ناجحا نحن نحاول تحميل حزمة جسون عاد إلى قاموس بايثون. وأخيرا، فإننا تحويل القاموس بايثون مع الصك، محاولة / طلب والطابع الزمني في تيكيفنت التي يتم إرسالها إلى قائمة انتظار الأحداث:
ولدينا الآن جميع العناصر الرئيسية. والخطوة الأخيرة هي إنهاء كل ما كتبناه حتى الآن في برنامج "رئيسي". الهدف من هذا الملف، المعروف باسم trading. py، هو إنشاء موضوعين منفصلين، أحدهما يعمل معالج التسعير والآخر الذي يدير معالج التداول.
لماذا نحتاج إلى موضوعين منفصلين؟ ببساطة، نقوم بتنفيذ جزئين "منفصلين" من التعليمات البرمجية، وكلاهما يعمل بشكل مستمر. إذا أردنا إنشاء برنامج غير مترابطة، فإن المقبس المتدفق المستخدم لتحديثات الأسعار لن يقوم أبدا "بالإفراج" مرة أخرى إلى مسار التعليمات البرمجية الرئيسي، وبالتالي فإننا لن ننفذ فعليا أي تداول. وبالمثل، إذا ركضنا حلقة التجارة (انظر أدناه)، فإننا لن نعود في الواقع مسار التدفق إلى مقبس تدفق السعر. وبالتالي نحن بحاجة إلى مواضيع متعددة، واحد لكل مكون، بحيث يمكن القيام بها بشكل مستقل. وسوف يقوم كلاهما بالتواصل مع بعضهما البعض من خلال قائمة انتظار الأحداث.
دعونا ندرس هذا أكثر قليلا. نخلق اثنين من المواضيع منفصلة مع الأسطر التالية:
نقوم بتمرير اسم الوظيفة أو الأسلوب إلى وسيطة الكلمة الرئيسية المستهدفة ثم قم بتمرير تكرارية (مثل قائمة أو تلميح) إلى وسيطة الكلمة الرئيسية الأرجل، والتي تمرر تلك الوسيطات إلى الأسلوب / الدالة الفعلية.
وأخيرا نبدأ كلا الموضوعين بالخطوط التالية:
وبالتالي نحن قادرون على تشغيل اثنين، حلقات لانهائية بشكل فعال، قطاعات رمز بشكل مستقل، والتي على حد سواء التواصل من خلال قائمة انتظار الأحداث. لاحظ أن مكتبة خيوط بيثون لا تنتج بيئة متعددة النواة متعددة مؤشرات حقيقية بسبب تنفيذ كبيثون من بايثون وقفل المترجم العالمي (جيل). إذا كنت ترغب في قراءة المزيد عن الترابط المتعدد على بيثون، يرجى إلقاء نظرة على هذه المقالة.
دعونا ندرس بقية التعليمات البرمجية بالتفصيل. أولا نحن استيراد كل من المكتبات اللازمة بما في ذلك قائمة الانتظار، خيوط والوقت. ثم نقوم باستيراد كافة ملفات التعليمات البرمجية المذكورة أعلاه. أنا شخصيا أفضل للاستفادة من أي إعدادات التكوين، وهي العادة التقطت من العمل مع جانغو!
بعد ذلك نحدد وظيفة التجارة، والتي تم شرحها في بيثون-بسيودوكود أعلاه. يتم تنفيذ لانهائية في حين حلقة (في حين صحيح:) أن استطلاعات مستمرة من قائمة انتظار الأحداث وتخطي فقط حلقة إذا وجدت فارغة. إذا تم العثور على حدث ثم هو إما تيكيفنت أو أوردريفنت ثم يسمى المكون المناسب لتنفيذها. في هذه الحالة هو إما استراتيجية أو معالج التنفيذ. حلقة ثم ينام ببساطة ل "ضربات القلب" ثانية (في هذه الحالة 0.5 ثانية) ويستمر.
وأخيرا، فإننا نحدد نقطة الدخول الرئيسية للشفرة في الدالة __main__. تم التعليق عليه بشكل جيد أدناه، ولكن سألخص هنا. في جوهر نحن مثيل الأحداث قائمة الانتظار وتحديد الصكوك / وحدات. ثم نقوم بإنشاء فئة تدفق السعر سترامينغفوريكسريسز ثم ثم معالج تنفيذ التنفيذ. كلاهما الحصول على تفاصيل المصادقة الضرورية التي تعطى من قبل أواندا عند إنشاء حساب.
ثم نقوم بإنشاء المثال تيستراندومستراتيغي. وأخيرا نحدد موضوعي الترابط ثم نبدأهما:
لتشغيل التعليمات البرمجية تحتاج ببساطة لوضع كافة الملفات في نفس الدليل واستدعاء ما يلي في المحطة:
لاحظ أن إيقاف التعليمات البرمجية في هذه المرحلة يتطلب قتل الصعب لعملية بايثون، عن طريق "كترل-Z" أو ما يعادلها! لم أضف موضوع ترابط إضافي للتعامل مع البحث عن sys. exit () التي ستكون هناك حاجة لوقف التعليمات البرمجية بأمان. وهناك طريقة محتملة لوقف التعليمات البرمجية على جهاز أوبونتو / لينوكس هو كتابة:
ومن ثم تمرير إخراج هذا (رقم العملية) إلى ما يلي:
حيث يجب استبدال PROCESS_ID بإخراج بريب. لاحظ أن هذه ليست ممارسة جيدة بشكل خاص!
في مقالات لاحقة سنقوم بإنشاء آلية توقف / بدء أكثر تطورا التي تجعل من استخدام عملية أوبونتو الإشراف من أجل أن يكون نظام التداول يعمل 24/7.
ويعطى الناتج بعد 30 ثانية أو نحو ذلك، اعتمادا على الوقت من اليوم بالنسبة لساعات التداول الرئيسية لليورو مقابل الدولار الأمريكي، للرمز أعلاه، فيما يلي:
تظهر الخطوط الخمسة الأولى البيانات القراد جسون عاد من أواندا مع أسعار العطاءات / أسك. في وقت لاحق يمكنك ان ترى ترتيب التنفيذ! الناتج وكذلك استجابة جسون عادت من أواندا مما يؤكد افتتاح تجارة شراء ل 10،000 وحدة من ور / أوسد والسعر الذي تحقق في.
سيبقى هذا قيد التشغيل إلى أجل غير مسمى حتى تقتل البرنامج بأمر "كترل-Z" أو ما شابه ذلك.
ماذا بعد؟
في مقالات لاحقة سنقوم بتنفيذ بعض التحسينات التي تمس الحاجة إليها، بما في ذلك:
استراتيجيات حقيقية - استراتيجيات الفوركس المناسبة التي تولد إشارات مربحة. البنية التحتية للإنتاج - تنفيذ الملقم البعيد و 24/7 مراقبة نظام التداول، مع القدرة على وقف / بدء. إدارة المحفظة والمخاطر - تراكب الحافظة والمخاطر لجميع الطلبات المقترحة من الاستراتيجية. استراتيجيات متعددة - إنشاء مجموعة من الاستراتيجيات التي تدمج في تراكب إدارة المخاطر.
كما هو الحال مع الأسهم باكيتستر يحركها الحدث، ونحن بحاجة أيضا إلى إنشاء وحدة النقد الاجنبى باكتستينغ حدة. وهذا سيتيح لنا إجراء بحوث سريعة وتسهيل نشر الاستراتيجيات.
settings. py (تذكر تغيير ACCOUNT_ID و ACCESS_TOKEN!):
مجرد بدء مع التداول الكمي؟
3 أسباب الاشتراك في قائمة البريد الإلكتروني كوانتستارت:
1. دروس التداول الكمي.
سوف تحصل على إمكانية الوصول الفوري إلى دورة مجانية 10-البريد الإلكتروني معبأة مع تلميحات ونصائح لمساعدتك على البدء في التداول الكمي!
2. جميع أحدث المحتوى.
كل أسبوع سوف نرسل لك التفاف جميع الأنشطة على كوانتستارت لذلك عليك أن لا يفوتون وظيفة مرة أخرى.
ريال مدريد، وقابلة للتنفيذ نصائح التداول الكمي مع أي هراء.

Comments

Popular posts from this blog

سقف نظام الدرابزين

استراتيجية والتكتيكات ww2 النسخة الكاملة

تجسس نظام التداول اليوم