Saturday 20 January 2018

استراتيجيات التداول الاختبار


استراتيجيات التداول الاختبار فكرة التداول الآلي جذابة من حقيقة أن الروبوت التداول يمكن أن تعمل دون توقف لمدة 24 ساعة في اليوم، سبعة أيام في الأسبوع. الروبوت لا تتعب، من المشكوك فيه أو خائفا، انها خالية تماما من أي مشاكل نفسية. ويكفي ما يكفي لإضفاء الطابع الرسمي بوضوح القواعد التجارية وتنفيذها في الخوارزميات، والروبوت على استعداد للعمل دون كلل أو ملل. ولكن أولا، يجب عليك التأكد من أن يتم استيفاء شرطين الهامة التالية: مستشار الخبراء ينفذ عمليات التداول وفقا لقواعد النظام التجاري؛ استراتيجية التداول التي تنفذ في EA، يدل على الربح على التاريخ. القيود وظيفة في اختبار الاستراتيجية هناك قيود عملية لبعض الوظائف في استراتيجية تستر محطة العميل. طباعة () وPrintFormat () وظائف تنبيه ()، هي MessageBox ()، PlaySound ()، SendFTP، تنسخ ()، SendNotification ()، الفروع WebRequest () وظائف علامة الجيل طرق مستشار الخبراء هو برنامج، وكتب في MQL5، التي يتم تشغيلها في كل مرة ردا على بعض الأحداث الخارجية. وEA لديه وظيفة المقابلة (معالج الحدث) لكل حدث محدد مسبقا. الحدث NewTick (تغير السعر) هو الحدث الرئيسي لEA، وبالتالي نحن بحاجة إلى توليد سلسلة التجزئة لاختبار EA. هناك 3 طرق لتوليد وضع علامة تنفيذها في اختبار استراتيجية ميتاتريدر 5 محطة العميل: كل القراد 1 دقيقة (أسعار OHLC بقضبان دقيقة) OHLC أسعار الافتتاح فقط الأساسية والأكثر تفصيلا هو الوضع في كل لحظة، وغيرها من وضعين هي التبسيط من واحد أساسي، وسيتم وصفها في مقارنة لوضع كل القراد. النظر في جميع الأوضاع الثلاثة من أجل فهم الاختلافات بينهما. كل القراد يتم نقل البيانات نقلت التاريخية للأدوات المالية من خادم التداول إلى محطة العميل ميتاتريدر 5 في شكل قضبان دقيقة معبأة. يمكن الحصول على معلومات مفصلة عن وقوع الطلبات وبناء الأطر الزمنية المطلوبة من الفصل الوصول إلى البيانات المنظمة للMQL5 مرجع. العنصر الحد الأدنى من تاريخ الثمن هو شريط الدقيقة، التي يمكنك من خلالها الحصول على معلومات عن القيم أربعة من السعر: مفتوحة - السعر الذي افتتح شريط دقيقة. عالية - الحد الأقصى الذي تم تحقيقه خلال هذا الشريط دقيقة. منخفض - الحد الأدنى الذي تم تحقيقه خلال هذا الشريط دقيقة. إغلاق - سعر إغلاق شريط. لم يتم فتح شريط دقيقة الجديد في لحظة عندما تبدأ دقيقة واحدة جديدة (عدد الثواني يصبح يساوي 0)، ولكن عند حدوث القراد - تغيير سعر بفارق نقطة واحدة على الأقل. يوضح الشكل شريط الدقيقة الاولى من تعاملات الأسبوع الجديد، الذي لديه الوقت افتتاح 2011/01/10 00:00. الفجوة السعرية بين الجمعة والاثنين، والتي نرى على الرسم البياني، هو أمر شائع، لأن أسعار العملات يتقلب حتى في عطلة نهاية الأسبوع ردا على انباء واردة. لهذا الشريط، ونحن نعلم فقط أن شريط دقيقة افتتح في 10 يناير 2011 في 00 ساعة 00 دقيقة، ولكن لا نعرف شيئا عن ثواني. وكان من الممكن فتحه في 0:00:12 أو 00:00:36 (12 أو 36 ثانية بعد بدء يوم جديد) أو أي وقت آخر خلال تلك اللحظة. ولكننا نعرف أن سعر فتح من اليورو مقابل الدولار الأميركي كان في 1.28940 في الوقت افتتاح شريط دقيقة الجديد. نحن أيضا لا نعرف (دقيقة ضمن الثانية) عندما تلقينا علامة المقابلة لسعر إغلاق شريط دقيقة النظر فيها. كنا نعرف شيئا واحدا فقط - اخر سعر اغلاق شريط دقيقة. لهذا دقيقة، وكان السعر 1.28958. وقت ظهور عالية وأسعار منخفضة هو أيضا غير معروف، ولكننا نعرف أن الأسعار القصوى والدنيا كانت على مستويات 1.28958 و 1.28940، على التوالي. لاختبار استراتيجية التداول، نحن بحاجة إلى سلسلة من القراد، والتي سيتم محاكاة عمل المستشار الخبير. وهكذا، على كل شريط دقيقة، ونحن نعرف نقاط التحكم 4. حيث كان سعر بالتأكيد. إذا كان شريط لديها سوى 4 القراد، ثم وهذا هو ما يكفي من المعلومات لإجراء الاختبار، ولكن عادة ما يكون حجم علامة أكبر من 4. وبالتالي، هناك حاجة لإنشاء نقاط مراقبة إضافية لالقراد، التي وقعت بين فتح، العليا والدنيا، وإغلاق الأسعار. مبدأ كل القراد القراد يوصف وضع الجيل في لخوارزمية من القراد ؟؟ شخصية من التي عرضت الجيل داخل تستر استراتيجية من 5 محطة ميتاتريدر أدناه. عند اختبار في وضع علامة كل، سيتم استدعاء الدالة OnTick () من EA في كل نقطة مراقبة. كل نقطة السيطرة هو علامة من تسلسل ولدت. فإن EA تلقي الوقت وسعر التجزئة محاكاة، فقط لأنه عند العمل على الانترنت. هام: كل القراد وضع الاختبار هو الأكثر دقة، ولكن في الوقت نفسه، فإن معظم تستغرق وقتا طويلا. لاختبار أولي لغالبية استراتيجيات التداول، فإنه عادة ما يكون كافيا لاستخدام واحد من أخرى وسائط اختبار اثنين. 1 دقيقة OHLC وضع كل علامة هي الأكثر دقة في وسائط الثلاثة، ولكن في الوقت نفسه، هو الأبطأ. على التوالي من OnTick () معالج يحدث في كل لحظة، في حين أن حجم القراد يمكن أن تكون كبيرة جدا. للاستراتيجية، التي تتابع علامة من حركة السعر في جميع أنحاء بار، لا يهم، هناك طريقة المحاكاة عورة أسرع و - 1 دقيقة OHLC. في وضع OHLC 1 دقيقة، يتم إنشاء تسلسل علامة فقط بسبب أسعار OHLC من القضبان دقيقة. يتم تخفيض عدد نقاط المراقبة ولدت بشكل ملحوظ - وبالتالي، لذلك هو وقت الاختبار. يتم تنفيذ إطلاق وظيفة OnTick () على جميع نقاط المراقبة، والتي يتم بناؤها من قبل أسعار قضبان دقيقة OHLC. رفض لتوليد القراد وسيطة إضافية بين فتح، العليا والدنيا، وأسعار الإغلاق، يؤدي إلى ظهور الحتمية الصارمة في تطور أسعار، من اللحظة التي يتم تحديد سعر الفتح. هذا يجعل من الممكن لخلق الكأس الاختبار، مما يدل على الرسم البياني التصاعدي لطيفة في ميزان الاختبار. ويرد مثال على هذه الكأس في قاعدة القانون - GRR العال. يوضح الشكل رسم بياني جذابة للغاية من هذا الاختبار EA. كيف تم الحصول عليها؟ ونحن نعلم 4 الأسعار لشريط دقيقة، ونحن نعلم أيضا أن الأول هو سعر الفتح، والأخير هو سعر الإغلاق. لدينا أسعار عالية ومنخفضة بينهما، وتسلسل حدوثها غير معروف، ولكن من المعروف أن ارتفاع سعر أكبر من أو يساوي سعر الفتح (والسعر المنخفض أقل من أو يساوي المفتوحة السعر). فمن كافية لتحديد لحظة تلقي سعر الفتح، ومن ثم تحليل القراد المقبلة من أجل تحديد ما هو الثمن لدينا في هذه اللحظة - إما عالية أو منخفضة. إذا كان السعر أقل من سعر الفتح، ثم لدينا سعر منخفض، وشراء في هذا القراد، والقراد القادمة تتوافق مع ارتفاع سعر، حيث أننا سوف تغلق شراء وفتح للبيع. القراد التالية هي آخر واحد، وهذا هو انهيار الأسعار، ونحن إغلاق بيع على ذلك. إذا بعد السعر، ونحن الحصول على علامة مع أكبر السعر من سعر الافتتاح، ثم يتم عكس سلسلة من الصفقات. معالجة بار دقيقة في هذا الوضع الغش، والانتظار لمدة واحدة. عند اختبار هذا EA على التاريخ، كل شيء يسير بسلاسة، ولكن بمجرد أن إطلاقه على شبكة الإنترنت، وتبدأ الحقيقة للحصول على كشف - يبقى خط توازن مستقر، ولكن رؤساء أسفل. لفضح هذه الحيلة، ونحن ببساطة تحتاج إلى تشغيل EA في وضع كل القراد. ملاحظة: إذا كانت نتائج اختبار EA في وسائط اختبار الخام (1 دقيقة OHLC والأسعار المفتوحة فقط) يبدو جيدا جدا، للتأكد من اختباره في وضع كل القراد. الأسعار مفتوحة فقط يتم إنشاؤها في هذا الوضع القراد على أساس أسعار OHLC من الإطار الزمني المحدد للاختبار. تشغيل وظيفة OnTick () المستشار الخبراء فقط في بداية الشريط في سعر الفتح. ونظرا لهذه الميزة، والتوقف عن مستويات وبانتظار قد يؤدي بسعر يختلف من واحد محدد (وخاصة عند اختبار على الأطر الزمنية أعلى). بدلا من ذلك، لدينا فرصة لتشغيل بسرعة إجراء اختبار تقييم المستشار الخبير. W1 وMN1 فترات هي الاستثناءات في الأسعار المفتوحة القراد وضع الجيل فقط: لهذه الأطر الزمنية يتم إنشاء القراد لأسعار OHLC كل يوم، والأسعار لا OHLC من الأسبوع أو الشهر. لنفترض أننا اختبار مستشار الخبراء على اليورو مقابل الدولار الأميركي H1 في أسعار الافتتاح واسطة فقط. في هذه الحالة عدد من القراد (نقاط المراقبة) سوف يكون هناك أكثر من 4 * عدد من الحانات ساعة واحدة خلال الفترة التي تم اختبارها. ولكن ما يسمى OnTick () معالج فقط في افتتاح شريط مدته ساعة واحدة. الشيكات المطلوبة لاختبار الصحيح تحدث على بقية القراد (التي كانت مخبأة من EA). حساب متطلبات الهامش. واثار وقف الخسارة وجني مستويات الربح. واثار من الأوامر المعلقة. إزالة أوامر معلقة منتهية الصلاحية. إذا لم تكن هناك مراكز مفتوحة أو الأوامر المعلقة، ونحن لسنا في حاجة لإجراء هذه الفحوصات على القراد خفية، وزيادة السرعة قد تكون كبيرة جدا. هذا الوضع الوحيد أسعار المفتوحة مناسب تماما لاستراتيجيات الاختبار، والعملية التي تتعامل فقط في افتتاح شريط وعدم استخدام الأوامر المعلقة، وكذلك StopLoss وTakeProfit أوامر. لفئة من هذه الاستراتيجيات، والحفاظ على دقة اللازمة للاختبار. دعونا استخدام متوسط ​​خبير مستشار الانتقال من الحزمة القياسية كمثال من EA، والتي يمكن اختبارها في أي وضع. هو مبني على منطق هذا EA في مثل هذه الطريقة التي تتم جميع القرارات في افتتاح شريط، ويتم تنفيذ الصفقات على الفور، من دون استخدام الأوامر المعلقة. تشغيل اختبار EA على EURUSD H1 على فترة من 2010/09/01 إلى 2010/12/31، ومقارنة الرسوم البيانية. ويوضح الشكل البياني للتوازن من تقرير الاختبار لجميع وسائط الثلاثة. كما ترون، والرسوم البيانية على وسائط الاختبار المختلفة هي بالضبط الشيء نفسه بالنسبة للنقل متوسط ​​EA من صفقة قياسية. هناك بعض القيود على الأسعار المفتوحة وضع فقط: لا يمكنك استخدام طريقة إعدام عشوائية تأخير. في خبير مستشار اختبار، لا يمكنك الوصول إلى البيانات من الإطار الزمني أقل من تلك المستخدمة لاختبار / الأمثل. على سبيل المثال، إذا قمت بتشغيل اختبار / الأمثل في الفترة H1، يمكنك الوصول إلى البيانات من H2، H3، H4 الخ ولكن لا M30، M20، M10 الخ بالإضافة إلى ذلك، الأطر الزمنية العالي التي يتم الوصول إليها يجب أن تكون متعددة للاختبار الإطار الزمني. على سبيل المثال، إذا قمت بتشغيل اختبار في M20، لا يمكنك الوصول إلى البيانات من M30، ولكن من الممكن الوصول إلى H1. وترتبط هذه القيود مع استحالة الحصول على بيانات من أطر زمنية أقل أو غير متعددة من الحانات ولدت خلال اختبار / الأمثل. تنطبق القيود المفروضة على الوصول إلى البيانات من الجداول الزمنية أخرى أيضا لغيرها من الرموز التي يتم استخدامها من قبل خبير مستشار البيانات. في هذه الحالة القيد لكل رمز يعتمد على الإطار الزمني الأول الوصول إليها خلال الاختبار / الأمثل. لنفترض، أثناء اختبار على اليورو مقابل الدولار الأميركي H1، مستشار الخبراء بالوصول إلى البيانات من GBPUSD M20. في هذه الحالة سوف يكون المستشار الخبير قادرا على تعزيز استخدام البيانات من اليورو مقابل الدولار الأميركي H1، H2، وما إلى ذلك فضلا GBPUSD M20، H1، H2 الخ ملاحظة: وضع أسعار المفتوحة فقط لديه أسرع وقت الاختبار، لكنها ليست مناسبة لجميع استراتيجيات التداول. حدد وضع الاختبار المطلوب استنادا إلى خصائص النظام التجاري. لاختتام القسم على وسائط الجيل القراد، دعونا النظر في المقارنة البصرية لمختلف وسائط الجيل علامة اليورو مقابل الدولار الأميركي، لبارين M15 على فترة من 2011/1/11 21:00:00 - 2011/1/11 21:30:00. تم حفظ القراد في ملفات مختلفة باستخدام EA WriteTicksFromTester. mq5 وإنهاء هذه الملفات يتم تحديد الأسماء في filenameEveryTick، filenameOHLC وfilenameOpenPrice المدخلات والمعلمات. للحصول على ثلاثة ملفات مع ثلاثة متواليات علامة (لكل من الأوضاع التالية كل لحظة، 1 دقيقة OHLC والأسعار المفتوحة فقط)، أطلقت EA ثلاث مرات في وسائط المقابلة، في أشواط واحد. ثم تم عرض البيانات من هذه الملفات الثلاثة على الرسم البياني باستخدام مؤشر TicksFromTester. mq5. ويرد رمز مؤشر عليها هذه المقالة. افتراضيا، يتم إجراء كل العمليات الملف في اللغة MQL5 داخل رمل الملف، وخلال اختبار EA لديه حق الوصول فقط إلى رمل الملف الخاص به. من أجل المؤشر وEA للعمل مع الملفات من مجلد واحد خلال الاختبار، استخدمنا العلم FILE_COMMON. مثال من التعليمات البرمجية من EA: ملف = FileOpen (اسم الملف، FILE_WRITE | FILE_CSV | FILE_COMMON،؛)؛ // --- التعامل مع ملف الاختيار إذا (ملف == INVALID_HANDLE)

No comments:

Post a Comment