استراتيجيات التداول الآلي باستخدام c # و ninjatrader 7 - الجزء 3 - backtesting الاستراتيجية






+

مرحبا بكم في الجزء 3 في هذه المقدمة الموجزة لتطوير استراتيجية التداول الآلي باستخدام C # و NinjaTrader! في الجزء 1. ناقشنا أساسيات التداول الآلي، وكيفية الحصول على NainjaTrader مثبتة، والجيل السيارات من فئة الاستراتيجية. في الجزء 2. نحن حمامة إلى رمز الاستراتيجية من خلال تنفيذ استراتيجية الذهبي الصليب الأساسية في C # رمز، والآن، سنقوم شرح كيفية backtest هذه الاستراتيجية باستخدام بيانات المخزون التاريخي لنرى كيف كان يمكن أن يكون أداؤها. قبل أن نبدأ، أود أن أشير إلى أن جزء مهم جدا من backtesting والاختبار إلى الأمام، أو تنفيذ الصفقات يعيش هو الحصول على بيانات أداة جيدة للاستفادة في الاستراتيجيات الخاصة بك. مع نسخة مجانية من NinjaTrader، يوفر Kinetick خلاصة البيانات المجانية مع نهاية البيانات اليوم - وهذا يعني أننا يمكن أن backtest الحانات اليومية مجانا. يمكنك التأكد من أنك متصل إلى نهاية الحركية من العلف يوميا في القائمة NinjaTrader هو مبين أدناه: مرة واحدة تأكدنا أننا متصلا موفر البيانات لدينا، دعونا بدء دورة جديدة اختبار الاستراتيجية عن طريق اختيار الملف = & GT؛ & GT الجديدة =؛ محلل الاستراتيجية القائمة: هذا وسوف تفتح نافذة جديدة محلل استراتيجية والتي سوف تكون بمثابة رمل لbacktesting لدينا. في هذا الإطار المفتوح، سترى رأي شجرة في الجزء الأيمن مع عدد قليل من الإدخالات الافتراضية. لدينا أول endeaver لbacktesting، دعونا نحاول backtesting الاستراتيجية كروس لدينا مع البيانات أبل على مدى السنوات الماضية 2. كما قد تعلمون، يتم تداول أبل في بورصة ناسداك تحت الرمز AAPL. قم بتوسيع عقدة NASDAQ 100، حدد AAPL، انقر بزر الماوس الأيمن، وحدد "Backtest" كما هو مبين أدناه: إذا كنت تشعر adventerous بشكل خاص، بل يمكن أن اختبار استراتيجية ضد برمتها قائمة NASDAQ 100 - على الرغم من أن النتائج أصبحت أكثر قليلا من الصعب تفسير. عند تحديد هذا، ستظهر نافذة يمكن تركيبه من الجانب الأيمن من الشاشة. دبوس هذا إلى الشاشة باستخدام رمز دبوس على الجزء العلوي الأيمن، وتعيين المعلمات كما تظهر أدناه: وفيما يلي بعض أبرز معالم نحن هنا وضع: MyInput0: هذا هو الممتلكات العامة ذكرنا في الجزء 1 من هذه السلسلة. على الرغم من أن هذه القيمة لا يؤثر على استراتيجيتنا على الإطلاق، وهذا ينبغي توضيح كيف من الممكن لجعل المتغيرات المتاحة للbacktester حتى تتمكن من تجربة قيم متعددة. سلسلة البيانات: هنا حيث أنشأنا لدينا حجم بار - ومنذ نستخدمه حرة في نهاية اليوم البيانات، ونحن سوف تعيين هذا إلى يوم، 1. الإطار الزمني: هذا يحدد المدة التي سنكون backtesting. انا ذاهب الى العودة الى بداية 2011 الخروج على وثيقة: تأكد من تعيين هذا إلى "خطأ"، وإلا فإن أوامر ندخل لن يعقد على مدى ليلة. تشمل تتمتع الهيئة: في مثالنا، نحن لا بما في ذلك العمولة التي ستحمل لأداء الصفقات. هذا هو موضوع قليلا أكثر تقدما التي سيتم تغطيتها في مقال في المستقبل. بعد أن تم تعيين هذه القيم، والمضي قدما وانقر على زر "تشغيل Backtest" لركلة أمور قبالة. بعد فترة قصيرة، يجب أن تشاهد نتائج تظهر في علامة التبويب ملخص في الجزء الأوسط! كما ترون، كانت استراتيجيتنا مربحة بشكل عام خلال هذه الفترة الزمنية (انظر "إجمالي صافي الربح")، وتنفيذ الصفقات 10، 5 منها كانت مربحة! خذ هذا النجاح مع حبة الملح الرغم من ذلك، كما أن هناك العديد من العوامل التي يجب أخذها في الاعتبار عند تقييم ما إذا كانت الاستراتيجية ستكون ناجحة عند تشغيل ضد بيانات حية (بعد فوات الأوان هو 20/20، أليس كذلك؟). لمزيد من المعلومات عن البيانات التي يتم عرضها في هذه الشبكة، انظر الصفحة NinjaTrader عن الوثائق. النقر على علامة التبويب الرسم البياني، يمكننا أن نرى represnetation البصرية لكيفية أداء الصفقات الاستراتيجية على مر الزمن: وبالنقر على "الصفقات" يمكننا أن نرى تفاصيل كل التجارة التي تم تنفيذها: باستخدام هذه الأدوات، نستطيع أن نقيم بدقة جميلة مدى قد فعلت زيارتها استراتيجيتنا تم تنفيذه خلال فترة زمنية الماضية - قوية بشكل مثير للدهشة! الآن، دعونا نقول لكم تريد أن تجعل من قرص لديك استراتيجية ورؤية النتائج - يمكن أن يتم ذلك عن طريق: القفز مرة أخرى إلى محرر NinjaScript جعل التغيير المنشود إعادة تجميع مع F5 أعود إلى محلل استراتيجية انقر بزر الماوس الأيمن Backtest نأمل هذه السلسلة توفر تحريك لتلك C # المطورين الذين يرغبون في التداول الآلي، ولكن يفترض أن عقبة مرتفعة جدا - انها حقا من السهل جدا ومجانا لتبدأ! لا يزال ثمة الكثير لتغطية، بما في ذلك البصرية التصحيح ستوديو والاستراتيجية الأمثل - نأمل سأكون إضافة تلك الموضوعات وظائف في المستقبل!