إستراتيجية النقد الأجنبي للشبكة العصبية
استراتيجية النقد الأجنبي للشبكة العصبية
الهجين الشبكة العصبية وقف واستراتيجيات عكس فوركس.
مايكل R. براينت.
وقد استخدمت الشبكات العصبية في أنظمة التداول لسنوات عديدة بدرجات متفاوتة من النجاح. جاذبيتها الأساسية هي أن هيكلها غير الخطية هو أكثر قدرة على التقاط تعقيدات حركة السعر من قواعد التداول القياسية القائمة على المؤشرات. وكان أحد الانتقادات أن استراتيجيات التداول القائمة على الشبكة العصبية تميل إلى أن تكون أكثر ملاءمة وبالتالي لا تؤدي بشكل جيد على البيانات الجديدة. والحل الممكن لهذه المشكلة هو الجمع بين الشبكات العصبية والمنطق الاستراتيجي القائم على القواعد لخلق نوع هجين من الاستراتيجية. هذه المقالة سوف تظهر كيف يمكن القيام بذلك باستخدام أدابتريد بيلدر.
وعلى وجه الخصوص، ستوضح هذه المادة ما يلي:
الجمع بين الشبكة العصبية والمنطق القائم على القواعد لإدخالات التجارة.
استهداف منصات متعددة في وقت واحد (ميتاترادر 4 و ترادستاتيون)
وضع استراتيجية ذات منطق متوقف وغير متناظر.
استخدام بيانات الفوركس خلال اليوم.
وسيستخدم نهج بيانات من ثلاثة قطاعات، مع استخدام الجزء الثالث للتحقق من صحة الاستراتيجيات النهائية. سيتم عرض رمز الاستراتيجية الناتج لكل من ميتاتريدر 4 و ترادستاتيون، وسيتم إثبات أن نتائج التحقق هي إيجابية لكل منصة.
الشبكات العصبية كما مرشحات دخول التجارة.
رياضيا، الشبكة العصبية هي مزيج غير خطية من واحد أو أكثر من المدخلات المرجحة التي تولد واحد أو أكثر من قيم الإخراج. بالنسبة للتداول، يتم استخدام الشبكة العصبية بشكل عام بطريقتين: (1) كتنبؤ بحركة السعر المستقبلية، أو (2) كمؤشر أو عامل تصفية للتداول. هنا، سيتم النظر في استخدامه كمؤشر أو مرشح التجارة.
كمؤشر، الشبكة العصبية تعمل كشرط إضافي أو مرشح يجب أن يكون راضيا قبل التجارة يمكن إدخالها. المدخلات إلى الشبكة هي عادة مؤشرات فنية أخرى، مثل الزخم، ستوشاستيك، أدكس، المتوسطات المتحركة، وهلم جرا، فضلا عن الأسعار ومجموعات من السابقة. يتم تحجيم المدخلات وتم تصميم الشبكة العصبية بحيث يكون الناتج قيمة بين -1 و +1. ويتمثل أحد النهج في السماح بدخول طويل إذا كان الناتج أكبر من أو يساوي قيمة عتبة، مثل 0.5، ودخول قصير إذا كان المخرج أقل من أو يساوي السالب للعتبة؛ على سبيل المثال، -0.5. هذا الشرط سيكون بالإضافة إلى أي شروط دخول موجودة. على سبيل المثال، إذا كان هناك شرط دخول طويل، فإنه يجب أن يكون صحيحا، ويجب أن يكون خرج الشبكة العصبية مساويا على الأقل لقيمة العتبة للدخول الطويل.
عند إنشاء شبكة عصبية، يكون المتداول عادة مسؤولا عن اختيار المدخلات وطبولوجيا الشبكة و & كوت؛ التدريب & كوت؛ الشبكة التي تحدد قيم الأوزان المثلى. كما سيظهر أدناه، يقوم أدابتريد بيلدر بتنفيذ هذه الخطوات تلقائيا كجزء من عملية بناء التطور التي يقوم البرنامج على أساسها. استخدام الشبكة العصبية كمرشح تجاري يسمح لها أن تكون جنبا إلى جنب بسهولة مع قواعد أخرى لخلق استراتيجية التداول الهجين، واحد الذي يجمع بين أفضل ميزات النهج التقليدية القائمة على قواعد مع مزايا الشبكات العصبية. وكمثال بسيط، قد يجمع بيلدر قاعدة كروس أوفر المتوسطة مع شبكة عصبية بحيث يتم اتخاذ موقف طويل عندما يعبر المتوسط المتحرك السريع فوق المتوسط المتحرك البطيء ويكون خرج الشبكة العصبية عند أو فوق عتبة.
استراتيجيات وقف وإيقاف التداول.
إن إستراتيجية التداول المتوقفة والعكسية هي دائما في السوق سواء كانت طويلة أو قصيرة. بالمعنى الدقيق للكلمة، & كوت؛ الإيقاف والعكس & كوت؛ يعني أنك عكس التجارة عندما يتم ضرب طلبك وقف. ومع ذلك، يمكنني استخدامه بمثابة اختصار لأي استراتيجية التداول الذي ينعكس من طويلة إلى قصيرة إلى طويلة وهلم جرا، بحيث كنت دائما في السوق. من خلال هذا التعريف، ليس من الضروري أن أوامر أوامر وقف. هل يمكن أن تدخل وعكس باستخدام أوامر السوق أو الحد كذلك. كما أنه ليس من الضروري أن يستخدم كل جانب نفس المنطق أو حتى نفس نوع الطلب. على سبيل المثال، يمكنك إدخال فترة طويلة (والخروج قصيرة) على أمر إيقاف وإدخال قصيرة (والخروج طويلة) على أمر السوق، وذلك باستخدام قواعد وشروط مختلفة لكل دخول / خروج. ومن شأن ذلك أن يكون مثالا على استراتيجية غير متناظرة للتوقف والعكس.
الميزة الرئيسية لاستراتيجية وقف والعكس هو أنه من خلال يجري دائما في السوق، وأنت لا تفوت أي خطوات كبيرة. ميزة أخرى هي البساطة. عندما يكون هناك قواعد وشروط منفصلة للدخول والخروج من الصفقات، وهناك أكثر تعقيدا وأكثر من ذلك يمكن أن تسوء. الجمع بين الإدخالات والمخارج يعني اتخاذ قرارات توقيت أقل، والتي يمكن أن تعني أخطاء أقل.
ومن ناحية أخرى، يمكن القول بأن أفضل الظروف للخروج من التجارة نادرا ما تكون مماثلة لتلك التي تدخل في الاتجاه المعاكس؛ أن الدخول إلى الصفقات والخروج منها هي قرارات منفصلة بطبيعتها ينبغي أن توظف بالتالي قواعد ومنطقا منفصلين. هناك عيب محتمل آخر يتمثل دائما في السوق في أن الاستراتيجية سوف تتداول من خلال كل فجوة فتح. فجوة فتح كبيرة ضد الموقف يمكن أن تعني خسارة كبيرة قبل استراتيجية قادرة على عكس. الاستراتيجيات التي تدخل وتخرج بشكل أكثر انتقائية أو الخروج من نهاية اليوم يمكن أن تقلل من تأثير فتح الثغرات.
وبما أن الهدف هو بناء استراتيجية الفوركس، فإن ميتاترادر 4 (MT4) هو خيار واضح لمنصة التداول نظرا لأن ميتاترادر 4 مصمم بشكل أساسي لفوركس ويستخدم على نطاق واسع لتداول تلك الأسواق (انظر على سبيل المثال ميتاترادر مقابل ترادستاتيون : مقارنة اللغة). ومع ذلك، في السنوات الأخيرة، وقد استهدف ترادستاتيون أسواق الفوركس أكثر من ذلك بكثير بقوة. اعتمادا على حجم التداول الخاص بك و / أو مستوى الحساب، فمن الممكن للتجارة في أسواق الفوركس من خلال ترادستاتيون دون تكبد أي رسوم منصة أو دفع أي عمولات. وتفيد التقارير بأن فروق أسعار الفائدة محدودة مع وجود سيولة جيدة على أزواج العملات الأجنبية الرئيسية. ولهذه الأسباب، تم استهداف كلا المنبرين لهذا المشروع.
تنشأ العديد من القضايا عند استهداف منصات متعددة في وقت واحد. أولا، قد تكون البيانات مختلفة على منصات مختلفة، مع الاختلافات في المناطق الزمنية، ونقلت الأسعار لبعض الحانات، وحجم، ونطاقات التاريخ المتاحة. وللتغلب على هذه الاختلافات، تم الحصول على البيانات من كلا المنصتين، وتم بناء الاستراتيجيات على كل من سلسلة البيانات في وقت واحد. ولذلك كانت أفضل الاستراتيجيات هي تلك التي عملت بشكل جيد على كل من سلسلة البيانات على الرغم من أي اختلافات في البيانات.
وفيما يلي إعدادات البيانات المستخدمة في بيلدر في الشكل 1. وكما يمكن الاستدلال من جدول بيانات السوق في الشكل، تم استهداف سوق العملات الأجنبية باليورو مقابل الدولار (وروس) مع حجم شريط يبلغ 4 ساعات (240 دقيقة). أحجام شريط أخرى أو الأسواق قد خدمت كذلك. كنت فقط قادرا على الحصول على أكبر قدر من البيانات من خلال منصة MT4 كما هو موضح في نطاق التاريخ هو مبين في الشكل 1 (سلسلة البيانات # 2)، لذلك تم استخدام نفس النطاق الزمني في الحصول على سلسلة البيانات المكافئة من ترادستاتيون (سلسلة البيانات # 1). تم استخدام 80٪ من البيانات للبناء (مجتمعة في العينة و & كوت؛ خارج العينة & كوت؛)، مع تخصيص 20٪ (6/20/14 إلى 2/10/15) للتحقق من صحتها. تم تعيين 80٪ من الأصل 80٪ إلى & كوت؛ في العينة & كوت؛ مع تعيين 20٪ على & كوت؛ خارج العينة، & كوت؛ كما هو مبين في الشكل 1. وقد تم تحديد انتشار العطاء / الطلب إلى 5 نقاط، وتم افتراض تكاليف تداول قدرها 6 نقاط أو 60 دولارا لكل وحدة كاملة الحجم (100.000 سهم) في الجولة الواحدة. تم تضمين كل من سلسلة البيانات في البناء، كما هو موضح في علامات الاختيار في العمود الأيمن من جدول بيانات السوق.
الشكل 1. إعدادات بيانات السوق لبناء استراتيجية الفوركس ل ميتاترادر 4 و ترادستاتيون.
هناك مشكلة محتملة أخرى عند استهداف الأنظمة الأساسية المتعددة هي أن بيلدر تم تصميمه لتكرار الطريقة التي يحسب بها كل نظام أساسي معتمد مؤشراته، مما قد يعني أن قيم المؤشرات ستكون مختلفة بناء على النظام الأساسي المحدد. ولتجنب هذا المصدر المحتمل للتناقض، يجب إزالة أي مؤشرات تقيم بشكل مختلف في ميتاتريدر 4 من ترادستاتيون من البناء، مما يعني أنه ينبغي تجنب المؤشرات التالية:
بطيء D العشوائية.
سريع D عشوائي.
وتحسب جميع المؤشرات الأخرى المتاحة لكل من المنصات بنفس الطريقة في كلا المنابر. يتضمن ترادستاتيون جميع المؤشرات المتوفرة في بيلدر، في حين أن ميتاترادر 4 لا. لذلك، لتضمين المؤشرات المتوفرة في كلا النظامين فقط، يجب اختيار منصة ميتاترادر 4 كنوع الرمز في بيلدر. سيؤدي ذلك تلقائيا إلى إزالة أي مؤشرات من مجموعة الإنشاء غير المتوفرة ل MT4، مما سيترك المؤشرات المتوفرة في كلا النظامين الأساسيين. بالإضافة إلى ذلك، منذ لاحظت الاختلافات في حجم البيانات التي تم الحصول عليها من كل منصة، وأنا إزالة كافة المؤشرات تعتمد على وحدة التخزين من مجموعة البناء. وأخيرا، تمت إزالة مؤشر الوقت من اليوم بسبب الاختلافات في المناطق الزمنية بين ملفات البيانات.
في الشكل 2 أدناه، يتم عرض قائمة المؤشرات المستخدمة في مجموعة البناء مرتبة حسب ما إذا كان المؤشر قد تم النظر فيه من خلال عملية الإنشاء (& كوت؛ النظر في & كوت؛ العمود). وترد المؤشرات التي أزيلت من الدراسة للأسباب التي نوقشت أعلاه في أعلى القائمة. وكانت المؤشرات المتبقية، بدءا من & كوت؛ سيمبل موف أفي & كوت؛، كلها جزء من مجموعة الإنشاء.
الشكل 2. تحديدات مؤشر في البناء، والتي تبين المؤشرات إزالتها من مجموعة البناء.
وترد خيارات التقييم المستخدمة في عملية البناء في الشكل 3. كما تم مناقشته، تم اختيار ميتاترادر 4 كخيار إخراج الشفرة. بعد أن يتم بناء الاستراتيجيات في بيلدر، يمكن تغيير أي من الخيارات في علامة التبويب خيارات التقييم، بما في ذلك نوع التعليمات البرمجية، وإعادة تقييم الاستراتيجيات، والتي سوف أيضا إعادة كتابة التعليمات البرمجية في أي لغة يتم تحديدها. تم استخدام هذه الميزة للحصول على رمز ترادستاتيون للاستراتيجية النهائية بعد أن تم بناء الاستراتيجيات ل ميتاترادر 4.
الشكل 3. خيارات التقييم في بيلدر لاستراتيجية الفوركس يوروس.
لإنشاء إستراتيجيات الإيقاف والعكس، تمت إزالة جميع أنواع الخروج من مجموعة الإنشاء، كما هو موضح أدناه في الشكل 4. تم ترك جميع الأنواع الثلاثة من أوامر الدخول - السوق، والتوقف، والحد - كما & كوت؛ تنظر & كوت؛ ، مما يعني أن عملية البناء يمكن أن تنظر في أي منها أثناء عملية البناء.
الشكل 4. أنواع الأوامر المحددة في بيلدر لإنشاء إستراتيجية الإيقاف والعكس.
يقوم برنامج بيلدر تلقائيا بإنشاء شروط منطقية تستند إلى قواعد للدخول و / أو الخروج. لإضافة شبكة عصبية إلى الاستراتيجية، فمن الضروري فقط لتحديد الخيار & كوت؛ تضمين الشبكة العصبية في شروط الدخول & كوت؛ في علامة التبويب خيارات الاستراتيجية، كما هو مبين أدناه في الشكل 5. تركت إعدادات الشبكة العصبية في افتراضاتها. كجزء من منطق التوقف والعكس، تم تعيين الخيار "خيارات السوق" على لونغ / شورت، والخيار ل & كوت؛ انتظر للخروج قبل الدخول إلى علامة تجارية جديدة & كوت؛ لم يسبق له مثيل. هذا الأخير ضروري لتمكين أمر الدخول للخروج من الوضع الحالي على عكس. تم ترك جميع الإعدادات الأخرى في الإعدادات الافتراضية.
الشكل 5. الخيارات الاستراتيجية المختارة في منشئ لإنشاء استراتيجية هجينة باستخدام كل من القواعد المستندة إلى القواعد وشبكة الشبكة العصبية.
وتسترشد الطبيعة التطورية لعملية البناء في بيلدر باللياقة البدنية، والتي يتم حسابها من الأهداف والشروط المحددة في علامة التبويب المقاييس، كما هو مبين أدناه في الشكل 6. وأبقت أهداف البناء بسيطة: تعظيم صافي الربح مع التقليل إلى أدنى حد التعقيد، الذي أعطى وزن صغير بالنسبة إلى صافي الربح. وقد تم التركيز بشكل أكبر على ظروف البناء، والتي تضمنت معامل الارتباط وأهميته بالنسبة لجودة الإستراتيجية العامة، وكذلك متوسط القضبان في الصفقات وعدد الصفقات.
في البداية، لم يتم تضمين سوى متوسط القضبان في الصفقات كشرط للبناء. ومع ذلك، في بعض المباني المبكرة، كان صافي الربح يفضل على طول التجارة، وبالتالي تم إضافة عدد من المتري. ويعادل المدى المحدد لعدد الصفقات (بين 209 و 418) متوسط أطوال التجارة بين 15 و 30 بارا استنادا إلى عدد الحانات في فترة الإنشاء. ونتيجة لذلك، أضافت إضافة هذا المقياس مزيدا من التركيز على هدف طول التجارة، مما أدى إلى زيادة عدد السكان من السكان مع المدى المطلوب من أطوال التجارة.
الشكل 6. تحديد الأهداف والشروط المحددة في علامة التبويب المقاييس تحدد كيفية حساب اللياقة البدنية.
إن & كوت؛ شروط تحديد أهم الاستراتيجيات & كوت؛ تكرار ظروف الإنشاء إلا أن يتم تقييم شروط الاستراتجيات العليا على كامل نطاق البيانات (وليس بما في ذلك مقطع التحقق من الصحة، الذي يكون منفصلا)، بدلا من مجرد فترة الإنشاء، كما هو الحال بالنسبة لظروف الإنشاء. ويستخدم البرنامج أهم استراتيجيات الاستراتيجيات لتخصيص أي استراتيجيات تستوفي جميع الشروط في مجتمع منفصل.
يتم إجراء الإعدادات النهائية على علامة التبويب خيارات البناء، كما هو موضح أدناه في الشكل 7. أهم الخيارات هنا هي حجم عدد السكان، وعدد الأجيال، وخيار إعادة تعيين استنادا إلى & كوت؛ خارج العينة & كوت؛ أداء. تم اختيار حجم السكان ليكون كبيرا بما فيه الكفاية للحصول على تنوع جيد في السكان في حين لا تزال صغيرة بما فيه الكفاية لبناء في فترة معقولة من الزمن. واستند عدد الأجيال إلى المدة التي استغرقها عدد قليل من البنيات الأولية لكي تبدأ النتائج في التقارب.
الشكل 7. تشمل خيارات الإنشاء حجم السكان وعدد الأجيال وخيارات إعادة تعيين السكان استنادا إلى & كوت؛ خارج العينة & كوت؛ أداء.
خيار & كوت؛ إعادة تعيين الأداء خارج النطاق (أوس) & كوت؛ يبدأ عملية البناء على بعد عدد محدد من الأجيال إذا تم استيفاء الشرط المحدد؛ في هذه الحالة، سيتم إعادة تعيين السكان إذا كانت & كوت؛ خارج العينة & كوت؛ صافي الربح هو أقل من 20،000 $. تم اختيار هذه القيمة على أساس الاختبارات الأولية لتكون قيمة عالية بما فيه الكفاية أنه ربما لن يتم التوصل إليها. ونتيجة لذلك، تم تكرار عملية البناء كل 30 أجيال حتى توقف يدويا. هذا هو وسيلة للسماح للبرنامج بتحديد الاستراتيجيات على أساس أفضل الاستراتيجيات الشروط على مدى فترة طويلة من الزمن. بشكل دوري، يمكن التحقق من السكان أعلى الاستراتيجيات وإلغاء عملية البناء عند العثور على استراتيجيات مناسبة.
لاحظ أن أضع & كوت؛ خارج العينة & كوت؛ في اقتباسات. عند & كوت؛ خارج العينة & كوت؛ يتم استخدام الفترة لإعادة تعيين السكان بهذه الطريقة، و & كوت؛ خارج العينة & كوت؛ الفترة لم تعد حقا خارج العينة. وبما أن هذه الفترة تستخدم الآن لتوجيه عملية البناء، فإنها تشكل جزءا فعالا من فترة العينة. لهذا السبب من المستحسن أن نضع جانبا شريحة ثالثة للتحقق من صحة، كما نوقش أعلاه.
بعد عدة ساعات من المعالجة وعدد من إعادة البناء التلقائي، تم العثور على استراتيجية مناسبة في السكان الاستراتيجيات العليا. ويظهر منحنى الأسهم التجارية المغلق أدناه في الشكل 8. ويبين منحنى الأسهم أداء ثابت في كل من قطاعات البيانات مع عدد كاف من الصفقات والنتائج نفسها أساسا على كل من سلسلة البيانات.
الشكل 8: منحنى الأسهم التجارية المغلقة لاستراتيجية وقف اليورو مقابل الدولار الأمريكي والعكس.
ولتحقق من الاستراتیجیة خلال فترة التحقق، تم تغییر ضوابط التاریخ علی علامة تبویب الأسواق (انظر الشکل 1) إلی تاریخ نھایة البیانات (2/11/2018)، وتم إعادة تقییم الاستراتیجیة عن طریق تحدید تقییم الأمر من قائمة ستراتيغي في بيلدر. وتظهر النتائج أدناه في الشكل 9. وتبين نتائج التحقق من صحة في المربع الأحمر أن الاستراتيجية التي عقدت على البيانات التي لم تستخدم أثناء عملية البناء.
الشكل 9: منحنى رأس المال المقفل من أجل إستراتيجية الإيقاف والعكس لليورو مقابل الدولار الأميركي، بما في ذلك فترة التحقق.
الفحص النهائي هو معرفة كيفية تنفيذ الاستراتيجية على كل سلسلة بيانات بشكل منفصل باستخدام خيار إخراج الشفرة لهذا النظام الأساسي. وهذا ضروري لأنه، كما هو موضح أعلاه، قد تكون هناك اختلافات في النتائج اعتمادا على (1) نوع التعليمات البرمجية، و (2) سلسلة البيانات. نحن بحاجة للتحقق من أن الإعدادات المختارة تقلل من هذه الاختلافات، كما هو مقصود. لاختبار استراتيجية ميتاترادر 4، تم إلغاء تحديد سلسلة البيانات من ترادستاتيون على علامة التبويب الأسواق، وتم إعادة تقييم الاستراتيجية. وترد النتائج أدناه في الشكل 10، الذي يكرر المنحنى السفلي في الشكل 9.
الشكل 10: منحنى الأسهم التجارية المغلقة لاستراتيجية الإيقاف والعكس مقابل اليورو مقابل الدولار الأميركي، بما في ذلك فترة التحقق، بالنسبة إلى ميتاترادر 4.
وأخيرا، لاختبار استراتيجية ترادستاتيون، تم اختيار سلسلة البيانات من ترادستاتيون وتم إلغاء تحديد سلسلة ميتاتريدر 4 في علامة التبويب "الأسواق"، تم تغيير إخراج التعليمات البرمجية إلى & كوت؛ ترادستاتيون & كوت؛ وتم إعادة تقييم الاستراتيجية. وتظهر النتائج أدناه في الشكل 11 وتبدو مشابهة جدا للمنحنى المتوسط في الشكل 9، كما هو متوقع.
الشكل 11. منحنى الأسهم التجارية المغلقة لاستراتيجية وقف و عكس اليورو مقابل الدولار الأميركي، بما في ذلك فترة التحقق، ل ترادستاتيون.
يتم توفير التعليمات البرمجية لكلا النظامين أدناه في الشكل 12. انقر فوق الصورة لفتح ملف التعليمات البرمجية لمنصة المقابلة. فحص التعليمات البرمجية يكشف أن الجزء القائم على القاعدة من الاستراتيجية يستخدم مختلف الظروف المتعلقة بالتقلب للجانبين الطويل والقصير. تتكون مدخلات الشبكة العصبية من مجموعة متنوعة من المؤشرات، بما في ذلك يوم من أيام الأسبوع، الاتجاه (زلترند)، ارتفاع خلال اليوم، مؤشرات التذبذب (إنفشيريسيكل، إنفشيرسي)، البولنجر باند، والانحراف المعياري.
يمكن رؤية الطبيعة الهجينة للاستراتيجية مباشرة في بيان الكود (من رمز ترادستاتيون):
إذا إنتكوندل و ننوتبوت & غ؛ = 0.5 ثم تبدأ.
شراء (& كوت؛ إنمارك-L & كوت؛) سهم نشارس شريط المقبل في السوق.
المتغير & كوت؛ إنتكوندل & كوت؛ تمثل شروط الدخول المستندة إلى القواعد، و & كوت؛ ننوبوت & كوت؛ هو إخراج الشبكة العصبية. يجب أن يكون كلا الشرطين صحيحا لوضع أمر الدخول الطويل. يعمل شرط الدخول القصير بنفس الطريقة.
الشكل 12. رمز إستراتيجية التداول لاستراتيجية الإيقاف والعكس مقابل اليورو مقابل الدولار الأميركي (يسار، ميتاتريدر 4، رايت، ترادستاتيون). انقر فوق الشكل لفتح ملف التعليمات البرمجية المطابق.
بحثت هذه المقالة في عملية بناء استراتيجية هجينة قائمة على القاعدة / الشبكة العصبية لليورو مقابل الدولار الأميركي باستخدام نهج وقف والعكس (دائما في السوق) مع أدابتريد بيلدر. وقد تبين كيف يمكن إنشاء رمز الاستراتيجية لمنصات متعددة عن طريق اختيار مجموعة فرعية مشتركة من المؤشرات التي تعمل بنفس الطريقة في كل منصة. تم وصف الإعدادات اللازمة لتوليد استراتيجيات عكس من طويلة إلى قصيرة وظهر، وقد ثبت أن الاستراتيجية الناتجة يؤدي إيجابيا على جزء منفصل، التحقق من صحة البيانات. كما تم التحقق من أن الاستراتيجية ولدت نتائج مماثلة مع البيانات وخيار التعليمات البرمجية لكل منصة.
كما نوقش أعلاه، نهج وقف والعكس لديها العديد من السلبيات وربما لا نداء الى الجميع. ومع ذلك، قد يكون النهج دائما في السوق أكثر جاذبية مع بيانات الفوركس لأن أسواق الفوركس التجارة على مدار الساعة. ونتيجة لذلك، لا توجد فجوات افتتاح الجلسة، وأوامر التداول هي دائما نشطة ومتاحة لعكس التجارة عندما يتغير السوق. وأتاح استخدام البيانات اللحظية (القضبان التي تستغرق 4 ساعات) مزيدا من الحانات من البيانات لاستخدامها في عملية البناء ولكنه كان تعسفيا إلى حد ما لأن الطابع الدائم للاستراتيجية يعني أن الصفقات تتم بين عشية وضحاها.
وقد سمح لعملية البناء بتطوير ظروف مختلفة للدخول طويلة وقصيرة، مما أدى إلى استراتيجية غير متناظرة وقف والعكس. على الرغم من الاسم، فإن الاستراتيجية الناتجة تدخل كل من الصفقات الطويلة والقصيرة على أوامر السوق، على الرغم من أن السوق، ووقف، وأوامر الحد كلها النظر فيها من قبل عملية البناء بشكل مستقل لكل جانب. ومن الناحية العملية، فإن الانعكاس من فترة طويلة إلى قصيرة يعني بيع ضعف عدد الأسهم في السوق بما أن الاستراتيجية كانت طويلة في الوقت الراهن؛ على سبيل المثال، إذا كان الوضع الحالي الحالي هو 100.000 سهم، فسوف تبيع 200،000 سهم قصير في السوق. وبالمثل، إذا كان الوضع القصير الحالي 100،000 سهم، يمكنك شراء 200،000 سهم في السوق لعكس من قصيرة إلى طويلة.
تم استخدام تاريخ أقصر للسعر من شأنه أن يكون مثاليا. ومع ذلك، كانت النتائج إيجابية على قطاع التحقق من الصحة، مما يشير إلى أن الاستراتيجية لم تكن مناسبة. وهذا يدعم فكرة أن الشبكة العصبية يمكن استخدامها في استراتيجية التداول دون بالضرورة الإفراط في تركيب الاستراتيجية للسوق.
الاستراتيجية المعروضة هنا ليست مخصصة للتجارة الفعلية ولم يتم اختبارها في الوقت الحقيقي تتبع أو التداول. ومع ذلك، يمكن استخدام هذه المقالة كقالب لوضع استراتيجيات مماثلة ل يوروس أو الأسواق الأخرى. كما هو الحال دائما، يجب اختبار أي استراتيجية التداول التي تقوم بتطويرها بدقة في تتبع الوقت الحقيقي أو على بيانات منفصلة للتحقق من صحة النتائج والتعرف على خصائص التداول للاستراتيجية قبل التداول المباشر.
ظهرت هذه المقالة في عدد فبراير 2018 من النشرة الإخبارية أدابتريد سوفتوار.
نتائج الأداء البدني أو المحاكاة لها بعض القيود المتراكمة. لا سجل الأداء الفعلي، النتائج المحاكاة لا تمثل التداول الفعلي. أيضا، وبما أن التجارة لم تكن قد تم تنفيذها بشكل فعلي، فقد تكون النتائج قد تم تعويضها أو تعويضها بشكل أكبر عن التأثيرات، إن وجدت، لبعض عوامل السوق، مثل عدم وجود السيولة. برامج التداول المحاكاة بشكل عام هي أيضا تخضع لحقيقة أنها تم تصميمها مع الاستفادة من الأذهان. لا يتم تمثيل أي حساب أو سيكون من المرجح تحقيق الأرباح أو الخسائر مماثلة لتلك التي تظهر.
إذا كنت ترغب في أن تكون على علم بالتطورات الجديدة، والأخبار، والعروض الخاصة من أدابتريد البرمجيات، يرجى الانضمام إلى قائمة البريد الإلكتروني لدينا. شكرا لكم.
حقوق الطبع والنشر © 2004-2018 أدابتريد البرمجيات. كل الحقوق محفوظة.
الشبكات العصبية تعلم استراتيجيات التداول الفوركس.
آخر ضجة في عالم الفوركس هو الشبكات العصبية، وهو مصطلح مأخوذ من مجتمع الذكاء الاصطناعي. من الناحية التقنية، الشبكات العصبية هي طرق تحليل البيانات التي تتكون من عدد كبير من وحدات المعالجة التي ترتبط معا من خلال الاحتمالات المرجحة. بعبارات أكثر بساطة، الشبكات العصبية هي نموذج يشبه بشكل فضفاض الطريقة التي يعمل بها الدماغ البشري ويتعلم. على مدى عقود عديدة الآن، استخدم أولئك في مجتمع الذكاء الاصطناعي نموذج الشبكة العصبية في خلق أجهزة الكمبيوتر التي ' و & # 39؛ تعلم & # 39؛ استنادا إلى نتائج أفعالهم.
وخلافا لبنية البيانات التقليدية، تأخذ الشبكات العصبية في تيارات متعددة من البيانات والإخراج نتيجة واحدة. إذا كانت هناك طريقة لتحديد البيانات، فهناك طريقة لإضافتها إلى العوامل التي يتم أخذها في الاعتبار عند وضع التنبؤ. أنها غالبا ما تستخدم في الفوركس البرمجيات التنبؤ السوق لأنه يمكن تدريب الشبكة لتفسير البيانات واستخلاص استنتاج منه.
قبل أن يكون من أي استخدام في جعل التنبؤات الفوركس، الشبكات العصبية يجب أن يكون & # 39؛ تدريب & # 39؛ التعرف على الأنماط التي تنشأ بين المدخلات والمخرجات وتعديلها. قد يكون التدريب والاختبار مضيعة للوقت، ولكن ما يعطي الشبكات العصبية قدرتها على التنبؤ بالنتائج المستقبلية استنادا إلى البيانات السابقة. والفكرة الأساسية هي أنه عند تقديم أمثلة لأزواج من بيانات المدخلات والمخرجات، يمكن للشبكة أن تتعلم & # 39؛ التبعيات، وتطبيق تلك التبعيات عند تقديم مع بيانات جديدة. من هناك، يمكن للشبكة مقارنة الانتاج الخاصة بها لمعرفة مدى قرب تصحيح التنبؤ كان، والعودة وضبط الوزن من تبعيات مختلفة حتى تصل إلى الإجابة الصحيحة.
ويتطلب ذلك تدريب الشبكة على مجموعتي بيانات منفصلتين & مداش؛ والتدريب ومجموعة الاختبار. واحدة من نقاط القوة للشبكات العصبية هو أنه يمكن أن تستمر في التعلم من خلال مقارنة التنبؤات الخاصة بها مع البيانات التي يتم تغذية باستمرار له. الشبكات العصبية هي أيضا جيدة جدا في الجمع بين كل من البيانات التقنية والأساسية، مما يجعل أفضل من سيناريو العالمين. وتتيح لهم قوتهم جدا العثور على أنماط قد لا تكون قد أخذت في الاعتبار، وتطبيق تلك الأنماط على التنبؤ من أجل التوصل إلى نتائج دقيقة بشكل غير دقيق.
للأسف، هذه القوة يمكن أيضا أن يكون ضعف في استخدام الشبكات العصبية للتداول التنبؤات. في نهاية المطاف، والناتج هو فقط جيدة مثل المدخلات. أنها جيدة جدا في ربط البيانات حتى عندما كنت إطعامهم كميات هائلة منه. أنها جيدة جدا في استخراج أنماط من أنواع متباينة على نطاق واسع من المعلومات و [مدش]؛ حتى عندما لا يوجد نمط أو علاقة. لها قوة رئيسية أخرى و [مدش]؛ القدرة على تطبيق الاستخبارات دون العاطفة و [مدش]؛ بعد كل شيء، جهاز الكمبيوتر ليس لديه الأنا و [مدش]؛ يمكن أن تصبح أيضا نقطة ضعف عند التعامل مع سوق متقلبة. عندما يتم إدخال عامل غير معروف، الشبكة العصبية الاصطناعية ليس لديها طريقة لتعيين الوزن العاطفي لهذا العامل.
هناك حاليا العشرات من منصات التداول الفوركس في السوق التي تتضمن نظرية الشبكة العصبية والتكنولوجيا ل & # 39؛ التعليم & # 39؛ شبكة النظام الخاص بك والسماح لها جعل التوقعات وتوليد أوامر شراء / بيع على أساس ذلك. الشيء المهم أن نأخذ في الاعتبار هو أن القاعدة الأساسية للتجارة الفوركس ينطبق عندما كنت وضعت لبناء الشبكة العصبية الخاصة بك و [مدش]؛ وتثقيف نفسك ومعرفة ما تفعله. سواء كنت تتعامل مع التحليل الفني، والأساسيات، والشبكات العصبية أو المشاعر الخاصة بك، والشيء الوحيد الأكثر أهمية يمكنك القيام به لضمان نجاحك في تجارة الفوركس هو تعلم كل ما تستطيع.
الشبكات العصبية: توقعات التنبؤ.
والشبكات العصبية هي خوارزميات متطورة يمكن أن تحاكي جوانب رئيسية معينة في عمل الدماغ البشري. وهذا يعطيهم قدرة فريدة على التدريب الذاتي، والقدرة على إضفاء الطابع الرسمي على المعلومات غير المصنفة، والأهم من ذلك، القدرة على جعل التنبؤات استنادا إلى المعلومات التاريخية لديهم تحت تصرفهم.
وقد استخدمت الشبكات العصبية بشكل متزايد في مجموعة متنوعة من التطبيقات التجارية، بما في ذلك التنبؤ وتسويق حلول البحث. في بعض المناطق، مثل الكشف عن الاحتيال أو تقييم المخاطر، هم قادة لا جدال فيه. المجالات الرئيسية التي وجدت الشبكات العصبية التطبيق هي العمليات المالية، وتخطيط المشاريع، والتجارة، وتحليلات الأعمال وصيانة المنتجات. الشبكات العصبية يمكن تطبيقها بكفاءة من قبل جميع أنواع التجار، لذلك إذا كنت تاجر ولم تكن قد أدخلت بعد إلى الشبكات العصبية، ونحن سوف يأخذك من خلال هذا الأسلوب من التحليل الفني وتظهر لك كيفية تطبيقه على نمط التداول الخاص بك.
استخدام الشبكات العصبية للكشف عن الفرص.
تماما مثل أي نوع من منتج كبير أو التكنولوجيا، بدأت الشبكات العصبية جذب كل أولئك الذين يبحثون عن سوق في مهدها. وقد أغرقت السيول من الإعلانات حول برنامج الجيل التالي من السوق - الإعلانات تحتفل أقوى من جميع خوارزميات الشبكة العصبية التي تم إنشاؤها من أي وقت مضى. حتى في تلك الحالات النادرة عندما تشبه الدعاوى الإعلانية الحقيقة، ضع في اعتبارك أن زيادة الكفاءة بنسبة 10٪ هي على الأرجح أكثر ما يمكن أن تحصل عليه من الشبكة العصبية. وبعبارة أخرى، فإنه لا ينتج عوائد خارقة وبغض النظر عن مدى نجاحه في حالة معينة، وسوف يكون هناك بعض مجموعات البيانات وفئات المهام التي الخوارزميات المستخدمة سابقا لا تزال متفوقة. تذكر هذا: انها ليست الخوارزمية التي لا خدعة. وتعد معلومات المدخلات المعدة جيدا عن المؤشر المستهدف أهم عنصر في نجاحك مع الشبكات العصبية.
هل أسرع التقارب أفضل؟
العديد من أولئك الذين يستخدمون بالفعل الشبكات العصبية يعتقدون خطأ أن أسرع صافي نتائجها، كان ذلك أفضل. ومع ذلك، هذا هو الوهم. لا يتم تحديد شبكة جيدة بالمعدل الذي ينتج عنه النتائج ويجب على المستخدمين معرفة كيفية إيجاد أفضل توازن بين السرعة التي تدرب فيها الشبكة وجودة النتائج التي تنتجها.
التطبيق الصحيح للشبكات العصبية.
العديد من التجار تطبيق الشبكات العصبية بشكل غير صحيح لأنها تضع الكثير من الثقة في البرنامج الذي يستخدمونه جميعا دون أن يتم تزويدهم بتعليمات مناسبة حول كيفية استخدامه بشكل صحيح. لاستخدام الشبكة العصبية بالطريقة الصحيحة، وبالتالي، مكسب، تاجر يجب أن تولي اهتماما لجميع مراحل دورة إعداد الشبكة. إنه التاجر وليس شبكته المسؤولة عن ابتكار فكرة وإضفاء الطابع الرسمي على هذه الفكرة واختبارها وتحسينها وأخيرا اختيار اللحظة المناسبة للتخلص منها عندما لا تعود مفيدة. فلننظر في مراحل هذه العملية الحاسمة بمزيد من التفصيل:
1. إيجاد فكرة التداول وإضفاء الطابع الرسمي عليها.
2. تحسين معلمات النموذج الخاص بك.
3. التخلص من النموذج عندما يصبح عفا عليها الزمن.
كل نموذج الشبكة العصبية على أساس العمر الافتراضي، ولا يمكن استخدامها إلى أجل غير مسمى. ويعتمد طول العمر الافتراضي لنموذج ما على حالة السوق وعلى مدى استمرار ترابط الأسواق في هذا المجال. ومع ذلك، عاجلا أو آجلا يصبح أي نموذج عفا عليها الزمن. عند حدوث ذلك، يمكنك إما إعادة تدريب النموذج باستخدام بيانات جديدة تماما (أي استبدال جميع البيانات التي تم استخدامها)، وإضافة بعض البيانات الجديدة إلى مجموعة البيانات الحالية وتدريب النموذج مرة أخرى، أو ببساطة سحب النموذج تماما.
العديد من التجار يجعلون خطأ اتباع أبسط مسار - أنها تعتمد بشكل كبير على واستخدام النهج الذي برامجها يوفر وظيفة سهلة الاستخدام والأكثر سهولة. هذا أبسط النهج هو التنبؤ سعر بعض الحانات المقبلة واستنادا نظام التداول الخاص بك على هذه التوقعات. ويتوقع المتداولون الآخرون تغير الأسعار أو النسبة المئوية لتغير الأسعار. نادرا ما ينتج عن هذا النهج نتائج أفضل من التنبؤ بالسعر مباشرة. ويخفق النهجان التبسيطان في الكشف عن معظم الترابطات الهامة الطويلة الأجل واستغلالها بأكبر قدر من الأرباح، ونتيجة لذلك يصبح النموذج عفا عليه الزمن بسرعة مع تغير القوى الدافعة العالمية.
أفضل نهج شامل لاستخدام الشبكات العصبية.
SnowCron.
مجانا E - فئات البريد.
في هذه المقالة: مثال على استخدام برامج الشبكات العصبية لدينا لإنشاء نظام التداول الشبكي العصبي الكامل.
يستخدم هذا المثال لغة البرمجة المضمنة في اللحاء، لذا يرجى قراءة دليل لغة البرمجة النصية أولا.
استخدام الشبكات العصبية لخلق استراتيجية تداول الفوركس.
في هذا البرنامج التعليمي على الانترنت مجانا سوف تجد "دورة كاملة" من استخدام الشبكات العصبية (اللحاء الشبكات الشبكات العصبية) لتداول العملات الأجنبية (أو تداول سوق الأسهم، والفكرة هي نفسها).
سوف تتعلم كيفية اختيار المدخلات للشبكات العصبية الاصطناعية، وكيفية اتخاذ قرار ما لاستخدامها كما الإخراج.
سوف تجد مثالا للنص البرمجي جاهز للاستخدام الذي يسمح لأداء الشبكات العصبية الأمثل لكل من بنية الشبكة العصبية (عدد من الخلايا العصبية) ونظام تداول العملات الأجنبية (وقف الخسارة الخ)
وأخيرا (الجزء الذي ليس موجودا في معظم الدروس)، وسوف تتعلم ما يجب القيام به بعد ذلك. بعد كل شيء، اللحاء الشبكات العصبية البرمجيات لا تستطيع أن تفعل التداول في الوقت الحقيقي، تحتاج إلى استخدام شيء مثل محطة التجارة، ميتاكوتس أو ميتاترادر. كيفية منفذ نظام التداول الفوركس من اللحاء إلى منصة التداول المفضلة لديك؟ هل لديك للتعامل مع دلز، عناصر تحكم أكتيفكس والبرمجة على مستوى منخفض؟ الجواب هو لا.
كورتيكس نيورال نيتوركس نتووركس يأتي مع ميزة سهلة الاستخدام التي تسمح لك بسهولة الميناء الناتج (المدربين) الشبكة العصبية إلى لغة البرمجة من منصة التداول الخاصة بك. لا دلز، ددي، أكتيفكس أو أي حلول أخرى منخفضة المستوى - كل شيء سهل وبسيط.
ملاحظة هامة: هذه ليست "كيفية التجارة" البرنامج التعليمي. بدلا من ذلك، فإنه يخبرك كيفية استخدام اللحاء الشبكات الشبكات العصبية البرمجيات، ولكن لا تزال تحتاج إلى اختراع نظام التداول الخاص بك. واحد الذي نستخدمه هنا هو بالكاد نقطة انطلاق، ولا ينبغي أن تستخدم كاستراتيجية تداول العملات الأجنبية "كما هي". فكرة هذا النص هو أن يعلمك لإنشاء أنظمة التداول القائمة على ن ومنفذها إلى منصة التداول من اختيارك. على سبيل المثال، هو أوفيسيمبليفيد المثال، ويمكن أن تستخدم إلا كرسم توضيحي للمبادئ التجارية. وبنفس الطريقة، فإن نظام التداول ماسد، الذي يمكن العثور عليه في العديد من الدروس، لا يعمل بشكل جيد بعد الآن (كما تغيرت الأسواق)، ولكن لا يزال مثالا جيدا على استخدام مؤشرات للتجارة الميكانيكية.
في كلمتين: القيام بالتحليل الخاص بك.
ملاحظة هامة أخرى: البرنامج التعليمي يستخدم أمثلة، والكثير منهم. لجعل حياتك أسهل، لقد شملت كل منهم، وليس فقط شظايا. ومع ذلك فإنه يجعل النص أطول من ذلك بكثير. أيضا، أنا ذاهب من أول، الخرقاء، نظام تداول العملات الأجنبية، إلى أكثر تقدما، في كل مرة شرح ما تم تحسينه ولماذا. التحلي بالصبر، أو القفز مباشرة إلى القسم الذي تحتاجه.
ملاحظة هامة النهائية: رمز ليست شيئا منحوتة في الحجر، فإنه يمكن أن تتغير في حين أن هذا النص مكتوب. يتم تضمين الإصدارات النهائية من الملفات النصية في أرشيف اللحاء.
مضايقات الفوركس شراء / بيع إشارات: ما هو الخطأ مع أمثلة "بسيطة"؟
في دليل المستخدم كورتيكس الشبكات العصبية البرمجيات استخدمنا مثال بسيط من الشبكة العصبية أفتيفيسيال، والتنبؤ سعر الأسهم جينز. لمعرفة ما هو الخطأ في هذا النهج، دعونا نفعل نفس المثال "بسيط"، باستخدام MSFT. TXT، بدلا من GENZ. TXT (استخدام 800 سجل في مجموعة التعلم، كما MSFT. TXT هو أقصر قليلا، ثم GENZ. TXT).
انها فقط لن تعمل! لماذا ا؟
وسوف يصبح السبب واضحا، إذا سألت نفسك: "ما هو السبب في التنبؤ الشبكة العصبية للقيم المستقبلية يمكن أن يتم في المقام الأول؟"
الجواب هو: أنها تعلم أن تفعل ما يسمى الشبكات العصبية الاعتراف نمط، للتعرف على أنماط، وإذا كان هناك منطق مخفي في هذه الأنماط، ثم حتى نمط جديد (مع نفس المنطق) سيتم الاعتراف.
هذا هو خدعة - "مع نفس المنطق". ليس هناك حتى واحد، ولكن ثلاث مشاكل هنا.
أولا وقبل كل شيء، إذا نظرتم إلى سعر سهم ميكروسوفت، ستلاحظون أنه كان يتراجع في جزء "التعلم" من بياناتنا، وعلى جانبي - في الجزء "اختبار". لذلك فمن الممكن، أن المنطق قد تغير.
ثانيا، والأهم من ذلك - ما هو النمط؟ ترى، إذا علمنا الشبكة العصبية في نطاق 10 - 100، ومن ثم قدمته مع شيء في مجموعة 1 إلى 3 - فهي أنماط مختلفة! 10، 20، 30 و 1، 2، 3 تبدو مماثلة للإنسان لأنه - لأن لدينا هذه القدرة على تقسيم عشرة، عندما قدمت مع الأرقام تنتهي مع الصفر. وهو ما يسمى تجهيز مسبق للبيانات، وبشكل افتراضي، فإن ن لا يمكن أن تفعل ذلك.
هل يمكننا تعليمه؟ بالتاكيد. ما هو بالضبط نحن بحاجة إلى تعليمه؟
هذا هو الثالث، والأكثر أهمية. نحن لسنا بحاجة إلى التنبؤ السعر! نحن لا نهتم! ما نحتاج إليه هو شراء الفوركس إشارات البيع.
الآن، انتظر لحظة! نحن بحاجة إلى) أن يكون لدينا مدخلات (التعلم والاختبار) في نفس النطاق، ونحن بحاجة ب) لتكون قادرة على اتخاذ القرارات التجارية على أساس ذلك؟ أليس هذا ما نسميه مؤشرا؟ البنغو؟
لذلك، هذا ما سنقوم به - سنقوم ببناء مؤشر، لإطعامه إلى ن كمساهمة، وسنحاول الحصول على التنبؤ بقيمة المؤشر، وليس سعر السهم لا قيمة لها!
في المثال الأول، سنقوم بتحميل أسعار الأسهم من القرص، وفتح ملف الشبكة العصبية وبدء التعلم - كل ذلك في وضع الآلي.
إنشاء ملف نصي جديد (أو فتح واحد الذي يأتي مع كورتيكس الشبكات العصبية برامج أرشيف) وندعو إليها stock_nn. tsc.
أولا وقبل كل شيء، نحن بحاجة إلى تحميل قيم الأسعار من ملف MSFT. TXT. سنقوم باستخدام مؤشر كلف (انظر أدناه)، ولكن لحساب ذلك، نحن بحاجة إلى قيم مقسمة إلى تقسيم للارتفاع والمنخفض، وليس فقط للإغلاق. هنا هو كيفية الحصول عليها.
stock_nn. tsc، بارت 1.
السطر الأول بتعيين المسار إلى متغير ستروستباث، بطبيعة الحال، سيكون لديك لتعديله، إذا كان ملف البيانات موجود في الدليل مختلفة.
في السطر الثاني نحدد، أن هذا المسار غير نسبي ("النسبية" إلى موقع ملف Cortex. exe).
يتلقى TABLE_LOADER المسار، السلسلة الفارغة ل "ستارت لين"، 1 - لتخطي السطر الأول (أسماء الأعمدة)، جزء من خط تذييل الملف (السطر الأخير في MSFT. TXT لا يحتوي على بيانات)، فهو أيضا تعليمات لتحميل العمود رقم 0 (وندعوه أرتديت)، 2 (أرهي)، 3 (ارلو)، 4 (أرك) و 6 (أكلوس).
للحصول على وصف كامل ل TABLE_LOADER، راجع دليل مرجع سلانغ.
ثم نقوم بحساب الانقسام، عن طريق قسمة إغلاق إغلاق عن طريق إغلاق، واستخدام هذه القيمة لضبط منخفض وعالي.
يحتوي الملف MSFT. TXT على أحدث البيانات فيرست، بينما نريد لهم لاست.
بعد ذلك، نحن بحاجة إلى إنشاء مؤشر. لنفترض أنه سيكون مؤشر قيمة موقع إغلاق، على الرغم من أنه في "الحياة الحقيقية" ربما استخدم أكثر من مؤشر واحد كمدخل ن.
يتم حساب مؤشر قيمة الموقع القريب مثل.
كلف = ((كلوز - لو) - (هاي-كلوز)) / (هاي-لو)، حيث كلوز، لو أند هاي هي للفاصل الزمني، وليس بالضرورة لشريط واحد. ملاحظة، أننا نريد ذلك في نطاق 0 - 1، لجعله أسهل لتطبيع إلى نطاق ن لدينا (وهو، مرة أخرى، 0-1).
stock_nn. tsc، بارت 3.
بعد ذلك، نحن بحاجة إلى إنشاء ملف تأخر. دعونا نستخدم التأخر يساوي 1، 2. 9 (للحصول على تفاصيل حول وظائف الملف، راجع الدليل المرجعي سلانغ). لاحظ أن الحوار ن اللحاء يمكن أن تنتج تأخر بسيط تلقائيا (يمكنك استخدام زر "توليد تأخر"). ولكن في وقت لاحق من هذا النص، سنعمل مع تأخيرات معقدة (مما يعني أنها ليست 1، 2، 3. ولكن 1، 3، 64. أيا كان)، لذلك نحن بحاجة إلى إنشاء التعليمات البرمجية التي يمكن التعامل مع هذه المهمة في طريقة أكثر مرونة.
stock_nn. tsc، الجزء 4.
وجود ملف تأخر، ونحن مستعدون لإنشاء أول شبكة العصبية لدينا. هذه الوظيفة تأخذ الكثير من المعلمات، لذلك تكون متأن. ومع ذلك، فإن رمز بسيط حقا.
بالمناسبة، يمكن إزالة معظم هذه التعليمات البرمجية، إذا كنت تعتقد أنك يمكن التعامل مع الأرقام، بدلا من أسماء معنى في التعليمات البرمجية الخاصة بك، ومع ذلك، من شأنها أن تكون ممارسة الترميز سيئة للغاية.
stock_nn. tsc، الجزء 5.
الآن، بعد أن يكون لدينا شبكة العصبية والملف متخلفة مع البيانات، ونحن بحاجة لتعليم الشبكة. ملف التأخر (msft_ind. lgg) لديه 1074 السجلات، لذلك فمن المعقول أن استخدام 800 كمجموعة التعلم، و 274 المتبقية كمجموعة اختبار.
يمكنك، بطبيعة الحال، فتح ملف شبكة وانقر فوق زر "تشغيل" في علامة التبويب "التعلم". ولكن لأن هذا هو مقدمة إلى المتقدمة اللحاء الشبكات العصبية برامج البرمجة، دعونا استخدام سلانغ المدمج في لغة البرمجة بدلا من ذلك.
الرمز التالي إحضار الحوار مشروط مع إعدادات آن ن. ملاحظة، أنه إذا كنت تريد أن يكون لها امتياز النقر على زر "تشغيل"، تحتاج إلى تغيير.
stock_nn. tsc، الجزء 6.
و بستارتلارنينغ يمكن أن يكون 0، في هذه الحالة الحوار سوف تنتظر المدخلات الخاصة بك، أو 1، ثم سوف تبدأ التعلم أيتوماتيكالي.
سوف بريسومسكريبت، إذا يساوي 1، استئناف السيناريو، إذا قمت بإغلاق الحوار عن طريق النقر فوق الزر موافق.
يتم استخدام بريسيت لإعادة الشبكة قبل بدء التعلم.
تشغيل البرنامج النصي، والانتظار حتى العداد العصر لتجاوز 1000، ثم انقر فوق "إيقاف". انتقل إلى علامة التبويب "تطبيق"، وانقر على "تطبيق". سيقوم هذا بتشغيل مجموعة البيانات بأكملها (التعلم والاختبار) من خلال ن، وإنشاء ملف. APL، الذي يحتوي على كل من المدخلات والمخرجات الأصلية، والتنبؤ الذي تم إنشاؤه ن، وبهذه الطريقة يمكنك بسهولة رسم لهم ومقارنة ضد بعضها البعض .
انتقل إلى علامة التبويب "الإخراج"، وحدد ملف msft_ind. apl، ثم انقر فوق "استعراض الملف"، "حدد الحقول"، ثم حدد "لا" في مربع القائمة اليسرى، و (بالضغط باستمرار على المفتاح كترل أثناء التحديد بالماوس ) كلف و ن: كلف في مربع القائمة اليمنى. انقر على "مخطط" لمعرفة مدى جودة توقعاتنا. حسنا. إنه جيد نوعا ما، مما يمكننا أن نقوله من خلال النظر إليه. ومع ذلك، لا شيء غير عادي.
وكان هذا مجرد مثال على ما يمكنك القيام به مع البرمجة النصية سلانغ، وكيفية أتمتة المهام الروتينية اللحاء. ومع ذلك، حتى الآن، لم نفعل شيئا كنت لا تستطيع أن تفعل "باليد". حسنا. لا شيء تقريبا، لأنه إذا كنت ترغب في إنشاء ملف تأخر مخصص، مع القول، كلف-100، كلف-50، كلف-25. الأعمدة، ثم سيكون لديك لاستخدام سلانغ (أو إكسيل.)، لأنك لا تستطيع أن تفعل في اللحاء دون البرمجة.
الفوركس استراتيجية التداول: ما لتحسين؟
هنا هي مشكلتنا التالية. هل نحن بحاجة إلى تنبؤ جيد المظهر، أم أننا بحاجة إلى واحد يمكننا استخدامه للتجارة مع الربح؟ يبدو السؤال غريبا، ولكن مجرد التفكير في ذلك للحظة. دعونا نقول لدينا توقعات جيدة جدا 1 ساعة. 95٪ دقيقة. ومع ذلك، إلى أي مدى يمكن أن يذهب السعر في ساعة واحدة؟ ليس بعيدا جدا، وأخشى. قارن ذلك إلى الوضع، عندما يكون لديك غير دقيقة بدلا من 10 ساعة التنبؤ. سوف يكون أفضل؟
للإجابة على هذا السؤال، نحن بحاجة إلى التجارة في الواقع، مقارنة بسيطة من الأخطاء المتوسطة التي تنتجها اثنين من ننس لن تساعد.
الجزء الثاني (من نفس المشكلة) هو في الطريقة التي نحدد "التنبؤ الجيد". لنفترض أن لدينا شبكة، والتي تنتج التنبؤ، وهو 75٪ دقيقة. مقارنة ذلك إلى ن، التي تنتج 100٪ التنبؤ الدقيق. آخر واحد هو أفضل. الآن، تقسيم الإخراج (التنبؤ) من 100٪ دقيقة ن من قبل 10. سيكون لدينا شبكة غير دقيقة للغاية، كما إشارة لها في أي مكان بالقرب من إشارة استخدمنا ك "الإخراج المطلوب". ومع ذلك، فإنه يمكن أن تستخدم نفس الطريقة استخدمنا 100٪ دقيقة ن، كل ما علينا القيام به هو مضاعفة إلى 10!
انظر، يتم إنشاء ن، من خلال ضبط متوسط الخطأ التربيعي، وليس الارتباط، لذلك، على الأقل من الناحية النظرية، يمكن أن ن أفضل تظهر نتائج سيئة، عند استخدامها لتداول الأسهم / الفوركس الفعلي.
لحل هذه المشكلة، نحن بحاجة لاختبار لدينا ن باستخدام التداول، واستخدام نتائج هذا التداول (الربح والانسحاب) لاتخاذ قرار، إذا كان هذا ن أفضل من الآخر.
دعنا نقوم به. دعونا إنشاء برنامج، التي يمكن استخدامها لضبط ن، وهذه المرة، عن طريق صقل، ونحن سوف يعني نتائج التداول.
تجارة الشبكة العصبية: بعض الملاحظات القصيرة.
أولا وقبل كل شيء، في مثالنا أعلاه، والتعلم "التلقائي" لن تتوقف أبدا، لأننا لم تحدد أي معايير التوقف. في مربع الحوار، أو في وظيفة CREATE_NN، يمكنك توفير دقيقة. خطأ (عند وصول ن إلى ذلك، فإنه يتوقف، وإذا تم تعيين بريسومسكريبت إلى 1، سيتم إغلاق الحوار وسوف السيناريو استئناف). أيضا يو يمكن أن توفر الحد الأقصى لعدد من الحقائب، أو كليهما. أنا لا تستخدمه في المثال أدناه، على الأقل ليس دائما، لأنني أخطط لمشاهدة التعلم وانقر فوق إيقاف عندما أعتقد أن ن جاهزة. إذا كنت تريد أن تفعل ذلك في وضع تلقائي بالكامل، والانتباه إلى هذه المعلمات.
ثانيا. واحدة من الطرق لجعل شبكة أصغر وأسرع وأكثر دقة، هو أن تبدأ مع الشبكة الصغيرة، وزيادة حجمه، والخلايا العصبية عن طريق الخلايا العصبية. وبسرعة، يتم تحديد عدد الخلايا العصبية المدخلات من خلال عدد من أعمدة بيانات المدخلات (ولكن يمكننا أن نختلفها أيضا)، وينبغي أن يكون عدد الخلايا العصبية الإخراج مساويا لعدد أعمدة بيانات الإخراج (عادة واحدة، ولكن ليس بالضرورة ). وهذا يعني أننا بحاجة إلى تحسين عدد الخلايا العصبية في طبقة (طبقات) خفية.
أيضا، كما ذكرت، ونحن لا نعرف حقا البيانات التي تستخدم. سوف كلف-15 (15 يوما تأخير) زيادة دقة التنبؤ لدينا؟ هل نحن بحاجة إلى كلف-256؟ هل سيكون من الأفضل استخدام كل منهما في نفس ن، أو ستضيف كلف-256 تدمر أدائنا؟
باستخدام دورات متداخلة لتجربة معلمات إدخال مختلفة، يمكنك:
إنشاء ن، بنفس الطريقة فعلنا ذلك لبيانات الأسهم (اسمحوا لي أن أكرر، ل ن، لا يوجد فرق بين الأسهم و فوريكس، حدث فقط أن لدي زوجين من ملفات البيانات عالية الجودة ل فوريكس أن أريد أن معالجة ، أثناء كتابة هذا النص). محاولة مجموعات مختلفة من التأخر. محاولة عدد مختلف من الخلايا العصبية في طبقة خفية. . ومجموعات مختلفة من المؤشرات المختلفة. . وما إلى ذلك وهلم جرا.
ومع ذلك، إذا حاولت كل تركيبات الممكنة من جميع المعلمات الممكنة، فلن تحصل على النتائج الخاصة بك، بغض النظر عن مدى سرعة جهاز الكمبيوتر الخاص بك. أدناه، سوف نستخدم زوجين من الحيل لتقليل الحسابات إلى الحد الأدنى.
بالمناسبة، قد يبدو، أنه إذا كنت تبدأ من الخلايا العصبية الخفية واحدة، ثم زيادة إلى 2، 3 وهلم جرا، وعند نقطة ما الخطأ (جودة التنبؤ) أو الربح (إذا كنت اختبار ن من قبل التداول باستخدامه) سوف تبدأ في النزول، ثم لديك الفائز الخاص بك. لسوء الحظ، لا أستطيع أن يثبت، أنه بعد أول "ذروة الأداء" لا يمكن أن يكون هناك ثانية واحدة. وهذا يعني، أن الخطأ قد تذهب مثل 100، 30، 20، 40، 50 (كان فقط في الحد الأدنى، أليس كذلك؟) ثم 30، 20، 10، 15،. (الحد الأدنى الثاني). لدينا فقط لاختبار جميع الأرقام المعقولة.
الثالث. التحسين هو سيف ذو حدين. إذا قمت بتحسين شفرتك بشكل مفرط، فقد لا تعمل خارج البيانات التي استخدمتها لضبطها. وسوف أبذل قصارى جهدي لتجنب هذا الخلاف. إذا كنت ترغب في إجراء تحسينات إضافية على التعليمات البرمجية الخاصة بك أو ن، أنصحك لإجراء بحث في الإنترنت، لمعرفة المزيد عن المشاكل المخفية من هذا النهج. ألسو، أنا ذاهب لدفع بعض الانتباه إلى نعومة منحنى الربح. الربح الذي يبدو وكأنه 0، -500، 1000، -100، 10000 قد يكون كبيرا، ولكن الربح 0، 100، 200، 300، 400. هو أفضل، لأنه أقل خطورة. قد نتحدث عن ذلك لاحقا.
وأخيرا، في هذا المثال سنستخدم الفوركس، بدلا من أسعار الأسهم. من وجهة نظر ن لا يوجد فرق، ومن وجهة نظري - الفوركس هو أكثر متعة للتجارة. إذا كنت تفضل الأسهم، يمكن بسهولة تعديل التعليمات البرمجية.
استراتيجية تداول الفوركس للعب مع.
أولا وقبل كل شيء، دعونا خلق نموذج من التعليمات البرمجية لدينا، واحدة التي يمكن بسهولة أن يكون الأمثل في المستقبل. وسوف يكون نظام التداول، والذي يستخدم شبكة العصبية للتجارة وتنتج الرسم البياني (الربح ضد عدد التجارة). وسوف يحسب أيضا السحب، كمقياس متانة نظام التداول لدينا.
forex_nn_01.tsc، بارت 1.
الفرق الرئيسي هنا هو أننا نستخدم وظائف، بدلا من وضع كافة التعليمات البرمجية في الكتلة الرئيسية للبرنامج. بهذه الطريقة فإنه من الأسهل بكثير لإدارة.
ثانيا، لدينا وظيفة تستنيت. أنا باستخدام خوارزمية بسيطة جدا من التداول. ويقتصر المؤشر كلف على 0-1 الفاصل الزمني (لدينا نسخة من كلف هو)، لذلك عندما مؤشر يعبر عن دبويليفيل (انظر التعليمات البرمجية أعلاه)، وأنا شراء، عندما هو عبور أسفل دسلليفيل، وأنا أبيع.
من الواضح، أنها ليست أفضل استراتيجية التداول، لكنها لن تفعل لغرضنا (فقط في الوقت الراهن). إذا كنت ترغب في تحسينه، وهنا بعض المؤشرات. أولا، قد ترغب في الحصول على نظام، وهذا ليس دائما في السوق. ثانيا، قد ترغب في استخدام أكثر من مؤشر واحد كمدخلات، وربما أكثر من واحد ن، بحيث يتم اتخاذ قرار التداول على أساس المؤشرات القليلة المتوقعة. سنضيف بعض التحسينات على خوارزمية التداول لاحقا.
نحن نستخدم بعض الافتراضات القياسية للتداول الفوركس: انتشار هو 5 نقاط، ليفيراد هو 100، دقيقة. الكثير هو $ 100 (مصغرة-- فوريكس).
دعونا نلقي نظرة على نظامنا "التداول". مرة أخرى، هو واحد مفرط التبسيط. ملاحظة هامة: تستن () تسمى آخر، ولها حق الوصول إلى كافة المتغيرات التي تم إنشاؤها إلى تلك النقطة. حتى إذا كنت ترى متغير أن أستخدمه، دون تهيئة ذلك، فإنه ربما يعني أنه تم التهيئة في نيون ()، تيتشن () أو بعض الدالة الأخرى التي كانت تسمى قبل تستن ().
لتسهيل الأمور، يتم وضع التعليقات في الشفرة.
forex_nn_01.tsc، بارت 2.
بضع كلمات حول الانسحاب. هناك طرق قليلة لحسابه، ونحن نستخدم ما أعتبره أكثر "صادق". ويعد السحب التدريجي مقياسا لعدم استقرار نظامنا. ما هي فرصة، وأنه سوف تفقد المال؟ دعونا نقول المبلغ الأولي هو 1000 $. إذا كان الربح يذهب 100، 200، 300، 400. السحب هو 0. إذا كان يذهب 100، 200، 100. ثم السحب هو 0.1 (10٪)، ونحن قد فقدت للتو مبلغا، أي ما يعادل 1/10 من الإيداع الأولي (من 1200 إلى 1100).
وأود أن أشير بقوة ضد استخدام أنظمة التداول مع سحب كبيرة.
أيضا، هنا يمكنني استخدام السحب، وهذا هو أن تستخدم مع حجم متغير الكثير. ومع ذلك، في العينات الفعلية، التي تأتي مع الكتاب الاليكترونى، سترى نسخة أخرى:
كما ترون، وهنا نحن دائما استخدام 1000 (المبلغ الأولي) لحساب السحب. والسبب بسيط: نحن دائما استخدام نفس حجم الكثير (أي إدارة الأموال حتى الآن)، لذلك ليس هناك فرق، كم من المال لدينا تراكمت بالفعل على حسابنا، يجب أن يكون متوسط الربح ثابت. السيناريو الأسوأ المحتمل في هذه الحالة يشبه هذا: من البداية (1000 $ على حساب) نحن نفقد المال. إذا كنا نستخدم 1000 $ لحساب السحب، وسوف نحصل على السحب أسوأ. وهذا سوف يساعدنا على عدم خداع أنفسنا. على سبيل المثال، لنفترض أنه تم تداولنا لبعض الوقت، ولدينا حساب بقيمة 10000 دولار أمريكي (أو ما يعادله بالعملة المحلية) على حسابنا. ثم نحن تفقد بعض المال، ونحن الآن لدينا $ 8،000. ثم تعافينا، وحصلنا على 12،000 دولار. نظام تداول جيد؟ على الاغلب لا.
دعونا نكرر المنطق مرة أخرى، كما هو مهم جدا (وسوف تصبح أكثر أهمية، عندما نبدأ في إدارة المال). نحن التجارة باستخدام حجم ثابت الكثير. لذلك، إحصائيا، لا يوجد ضمان، أن الخسارة القصوى لن يحدث في البداية، عندما يكون لدينا فقط 1000 $. وإذا حدث ذلك، سيكون لدينا -1000 $ (10،000 - 8،000)، وبالتالي فإن نظام التداول هو على الأرجح محفوف بالمخاطر.
عندما نتحدث عن إدارة الأموال (ربما، وليس في هذا النص)، سيكون لدينا لاستخدام نهج مختلف لحساب السحب.
ملاحظة، أنه في هذا النظام التجاري، وأنا باستخدام السيناريو الأسوأ ممكن: أنا شراء باستخدام عالية وبيع، وذلك باستخدام منخفضة. العديد من المختبرين لا تتبع هذه القواعد، وخلق أنظمة التداول، التي تعمل بشكل جيد على البيانات التاريخية. ولكن في الحياة الحقيقية، هذه الأنظمة التجارية لديها أداء ضعيف للغاية. لماذا ا؟
نلقي نظرة على شريط الأسعار. انها مفتوحة، عالية، منخفضة وإغلاق. هل تعرف، كيف كان السعر يتحرك داخل شريط؟ لا، لذا، لنفترض أن نظام التداول الخاص بك قد ولد إشارة "شراء"، في أسفل شريط الأسعار (إذا كان منخفضا.
لاحظ أن أستخدم دلوتسيزي يساوي 0.1 لوت (100 دولار). من الواضح، في التداول "الحقيقي"، سوف تستفيد كثيرا، إذا تم احتساب حجم الكثير اعتمادا على المال لديك، شيء من هذا القبيل:
forex_nn_01.tsc، بارت 3.
ومع ذلك، نحن نفعل الاختبار هنا، وليس التداول. وللاختبار، نحن بحاجة، من بين أمور أخرى، لنرى كيف سلاسة منحنى الربح هو. هذا هو أسهل بكثير إذا كان حجم الكثير هو نفسه (في الوضع المثالي، ل دلوتسيزي = 100 سوف نحصل على خط مستقيم، مع بعض الميل الإيجابي، في حين في حالة من حجم الكثير قابل للتعديل سوف نحصل على الأس، وهذا هو أصعب بكثير لتحليل).
في وقت لاحق من هذا النص، سنطبق قواعد إدارة الأموال على نظام التداول لدينا، ولكن ليس بعد.
بعد أن يتم ذلك مع الجزء الأخير من وظيفة الاختبار لدينا، دعونا المشي من خلال بقية التعليمات البرمجية.
تقوم الدالة التالية بإنشاء مؤشر كلف. فإنه يأخذ الفاصل الزمني كمعلمة، مما يعني أننا يمكن أن نسميها عدة مرات، خلال التحسين، ويمر أرقام مختلفة.
لاحظ أن أنا باستخدام ن الذي يعمل في الفترة 0-1. يمكن تطبيع البيانات، بطبيعة الحال، ولكن اخترت لتقسيم المؤشر بنسبة 2 وإضافة 0.5، بحيث يكون في 0-1 النطاق.
forex_nn_01.tsc، بارت 4.
لجعل ملف تأخر، يمكننا استخدام الدالة CREATE_LAG_FILE. بدلا من ذلك، يمكننا أن نفعل ذلك من خلال توفير صراحة كل التعليمات البرمجية اللازمة. في هذه الحالة، لدينا المزيد من السيطرة، ونحن بحاجة إلى ذلك، إذا بدأنا عدد متفاوت من الأعمدة المتخلفة وهلم جرا.
forex_nn_01.tsc، بارت 5.
المعلمة نريموفيرست مهم. العديد من الوظائف، مثل المؤشرات، والمتوسطات المتحركة، والمولدات المتخلفة، لهذه المسألة، لا تعمل بشكل جيد في السجلات القليلة الأولى من مجموعة البيانات. لنفترض أن لدينا ما (14) - ما الذي سيضع في السجلات 1 - 13؟ لذلك نختار ببساطة إزالة السجلات القليلة الأولى (غير موثوقة).
ل نيون، وكذلك لجميع وظائف هذا البرنامج، ونحن بحاجة لتمرير كمعلمات فقط ما يمكن تغييره خلال عملية التحسين. على سبيل المثال، ليست هناك حاجة لتمرير "تخطي قبل" المعلمة، كما هو دائما نفسه.
forex_nn_01.tsc، بارت 6.
وظيفة تيتشن ببساطة جلب الحوار ن.
forex_nn_01.tsc، الجزء 7.
وأخيرا، نحن بحاجة إلى وظيفة رسم. أنها ليست إلزامية، ولكن من الجيد دائما أن نرى ما يبدو خط الربح لدينا. تستخدم التعليمات البرمجية التالية شمل لإنشاء مخطط، لذلك فمن الجيد قراءة البرنامج التعليمي. بدلا من ذلك، يمكنك رسم المخطط، بدلا من حفظه في ملف. للقيام بذلك، استخدم واحدة من العينات، التي هي في عينات / دليل البرامج النصية. وأخيرا، يمكنك تعديل التعليمات البرمجية، لإنتاج هتمل، بدلا من شمل. هتمل هو أسهل للتعلم، ولكن الرمز نفسه سيكون أقل قليلا للقراءة.
forex_nn_01.tsc، بارت 8.
ترجمة وتشغيل البرنامج النصي.
حسنا. كما هو متوقع، باستخدام 7 ساعات كفاصل زمني ل كلف نتائج سيئة للغاية:
استراتيجيات التداول الفوركس والتحسين.
والسبب في النتائج الضعيفة واضح تماما: استخدمنا الفاصل الزمني، وقف الخسارة، وشراء وبيع المستويات وغيرها من المعالم، التي كانت عشوائية بحتة - اخترنا فقط أولا أن جاء في الاعتبار! ماذا لو حاولنا مجموعات قليلة؟
الفوركس إشارات التداول: ما لتحسين؟
أولا وقبل كل شيء، من خلال أوفيروتيميزينغ مستويات شراء وبيع، ونحن يمكن أن تدمر أدائنا في المستقبل. ومع ذلك ما زلنا يمكن ضبط لهم، وخاصة، إذا كان أداء قريب لقيم وثيقة من حدود البيع والبيع. على سبيل المثال، إذا كان لدينا -10٪ الربح عند حد الشراء يساوي 0.3، و + 1000٪ الربح عندما يساوي 0.35، ثم هناك ربما من قبيل الصدفة محظوظا، ونحن يجب أن لا تستخدم 0.35 لنظام التداول لدينا، كما في المستقبل سوف ربما لا يحدث مرة أخرى. إذا، بدلا من ذلك، لدينا -10٪ و + 10٪ (بدلا من + 1000٪)، قد يكون أكثر أمانا للاستخدام.
عموما، يجب أن يبنى نظام التداول لدينا لسيناريو ممكن ممكن، كما لو كان خلال التداول "الحقيقي" الأداء سيكون أفضل، ثم خلال الاختبار، ونحن سوف البقاء على قيد الحياة، ولكن ليس العكس.
يمكننا أن نختلف قيمة الفاصل الزمني للمؤشر، شريطة أن يكون لدينا ما يكفي من الصفقات، حتى نتمكن من أن نكون واثقين، من حيث الإحصاءات، في أداء نظام.
نحن بالتأكيد يمكن أن تختلف عدد الخلايا العصبية، وأنا لا أعتقد أنه يمكن أوفيروبتيميزد بسهولة.
يمكننا أن نختلف عدد المدخلات والتخلف عن المدخلات. فمن الممكن أن يفرط في تحقيق ذلك، ولكن ليس من المرجح جدا أن يحدث.
وبطبيعة الحال، يمكننا أن نحاول مؤشرات مختلفة.
إشارات فوريكس دقيقة: كيفية تحسين؟
وكما سبق ذكره، إذا بدأنا في محاولة جميع التوليفات الممكنة، فإنه سيستغرق إلى الأبد. لذلك نحن ذاهبون للغش. سنقوم بإنشاء مجموعات محددة مسبقا من المعلمات، التي نعتقد أنها معقولة، وتمريرها إلى البرنامج.
لجعل عدد قليل من الحسابات ممكن، لاحظ أن كلف-1 و كلف-2 هي، ربما، مهمة، ولكن ماذا عن كلف-128؟ و - إذا كان لدينا بالفعل كلف-128، هل نحن بحاجة كلف-129؟ على الاغلب لا. لذلك نحن ذاهبون لدينا شيء مثل كلف-1، كلف-2، كلف-4، كلف-8،. كلف-128 مع عدد قليل من الاختلافات، الأمر الذي سيجعل لدينا حساب الوقت آلاف مرات أقصر.
فوريكس نظام التداول المهني: هل يمكن أن تعمل على الإطلاق؟
ما هو بالضبط ما نريد التنبؤ به؟ حتى هذه النقطة استخدمنا الرسم البياني لكل ساعة ل يوروس، وكنا نتوقع كلف الشريط التالي. هل سيكون كلف + 2 أفضل؟ ماذا عن كلف + 3؟
أيضا، خاصة بالنظر إلى ضعف أداء نظام التداول الأول، سيكون من الجميل أن نعرف أنه - على الأقل في العالم "المثالي"، يمكن تحقيق الهدف (التداول المربح).
للإجابة على هذه الأسئلة، دعونا نخلق برنامج اختبار بسيط. نحن نفترض، أن التنبؤ لدينا هو 100٪ دقيقة، وبناء على هذا الافتراض، وسوف نستخدم كلف + N، وليس ن توقع واحد. هذا صحيح - نحن نذهب إلى أخذ البيانات من المستقبل، واستخدامها بدلا من التنبؤ ن. هذا النهج لن يعمل في الحياة الحقيقية، بطبيعة الحال، ولكن في الدرجات، وسوف تعطينا بعض الأفكار من ما يمكن توقعه.
عند النظر إلى النتائج، يرجى أن نضع في اعتبارنا، أننا لا تستخدم أي إدارة الأموال المتقدمة، يتم تعيين حجم الكثير لدينا إلى الحد الأدنى 100 $. إذا كنت تستخدم أحجام متغيرة الكثير، فإن النتائج ستكون مختلفة بشكل كبير. ولكن حتى في حجم الكثير تعيين إلى 0.1 يمكننا أن نرى (أدناه) أن الحصول على المعلومات من المستقبل هو المتداول النهائي "هولي غراال".
forex_nn_02.tsc، بارت 1.
كنت بالفعل على دراية هذا الرمز، تم استخدامه في FOREX_NN_01.TSC. فإنه يتعامل مع تحميل البيانات. والفرق الوحيد هو في الجزء الذي يحصل على قائمة الملفات في "الصور" الدليل وحذف كافة الملفات مع. PNG إكستنتيون. والسبب في هذا الرمز بسيط: خلال الاختبارات لدينا ونحن في طريقنا لخلق العديد - قد يكون، الآلاف - ملفات الصور. نحن لا نريد لهم أن يعلقوا بعد أن يتم ذلك. حتى في بداية البرنامج النصي نحن حذف الصور، التي تم إنشاؤها بواسطة البرامج النصية الأخرى.
forex_nn_02.tsc، بارت 2.
فقط بعض التعليقات. نحن لا نريد أن نحاول كل القيم الممكنة ل، على سبيل المثال، كلف الفاصل الزمني. بدلا من ذلك، يمكننا إنشاء مصفوفة تحتوي على القيم التي نريد اختبارها فقط. ثم (انظر أدناه) ونحن سوف يمشي من خلال هذه المصفوفة.
وقف الخسائر هي جزء مهم من أي استراتيجية التداول، لذلك قررت أن تختلف لهم كذلك. ولكنها فكرة خطرة، حيث أنه من السهل الإفراط في تحسين النظام.
أنا أخطط لاختبار قيم مختلفة لشراء وبيع المستويات، ولكن سيتم ذلك في دورة، دون استخدام المصفوفات.
على عكس المثال السابق، نريد أن يكون لدينا ملف شمل كبير، يحتوي على العديد من الصور. للقيام بذلك، لقد قمت بتحريك التعليمات البرمجية التي تقوم بتشكيل رأس وتذييل شمل خارج الدالة مخطط. اقرأ أحد برامج شمل التعليمية عبر الإنترنت للحصول على التفاصيل.
لاحظ أن أنا باستخدام 0 كما تأخر الأول، مما يعني، أن الأول أنا اختبار المؤشر (كلف) التي لم "تحول" من المستقبل. فقط للحصول على فكرة، كيف جيدة من "نظام التداول" سيكون دون ن (الرهيبة، هو الكلمة الصحيحة، ويفقد كل المال).
يستخدم اللحاء عنصر تحكم إنترنيت إكسبلورر لعرض صفحات شمل. عندما تنمو الصفحات كبيرة، فإنه يأخذ الكثير من الذاكرة. إذا كان جهاز الكمبيوتر الخاص بك لا يمكن التعامل معها، والنظر في إنشاء صفحات شمل أو هتمل متعددة، بدلا من ذلك. في حالة forex_nn_02، يجب ألا تكون مشكلة، حيث أن الصفحة قصيرة نسبيا. بدلا من ذلك (وهذا ما أقوم به في النصوص في وقت لاحق في هذا النص)، إنشاء ملف شمل، ولكن لا تفتحه من اللحاء. فتحها باستخدام إنترنيت إكسبلورر بدلا من ذلك - على عكس التحكم إي، لا يوجد إنترنيت إكسبلورر مشكلة الذاكرة.
الآن التعليمات البرمجية التي تحاول مجموعات مختلفة من المعلمات.
forex_nn_02.tsc، بارت 3.
هنا، نحن نستخدم دورات متداخلة. في كل دورة، نحن أسيدنينغ بعض المتغير (على سبيل المثال، نينتيرفال للدورة الخارجية). وبهذه الطريقة تعين الدورة قيم جميع عناصر صفيف مطابق، واحدة في كل مرة. ثم داخل ذلك، يتم استخدام الدورة الداخلية، وهلم جرا، بحيث يتم اختبار جميع مجموعات من جميع عناصر مجموعة.
في دورة أعمق، وأنا استدعاء الدالة اختبار ()، إلى "اختبار التجارة"، و الرسم البياني () لإضافة صورة جديدة إلى قائمة الصور المحفوظة على القرص. لاحظ أن هذا المخطط () لا يظهر أي صور، حتى يتم الانتهاء من جميع الدورات.
تكون الدالة تيست () و كريتكلف () هي نفسها تقريبا كما في المثال السابق. الفرق الحقيقي الوحيد يرجع إلى حقيقة أنه يسمى أكثر مرة واحدة. للقيام بذلك، وأنا استدعاء ARRAY_REMOVE لتنظيف المصفوفات.
أيضا، لاحظ، أننا خلق فقط المخططات لمجموعات من المعلمات، التي تنتج نظام التداول مع ربح إيجابي. وإلا، فإننا نسمي "متابعة"، لتخطي الدالة تشارت ().
وأخيرا، لدينا جني الأرباح الآن، لذلك نظام التداول لدينا يمكن أن يكون قليلا أكثر مرونة.
forex_nn_02.tsc، بارت 4.
تم تقسيم وظيفة المخطط () إلى قطعتين. يجب كتابة الرأس والتذييل إلى ملف شمل مرة واحدة فقط، لذا تم نقلهما إلى الجزء الرئيسي من البرنامج.
أيضا، أنا باستخدام العداد، لحفظ الملفات تحت أسماء مختلفة. The information about parameters is written to the header of an image, so we can easily see which one it is. Finally, images are only saved for winning configurations, meaning the balance at the end should be more, then at the beginning.
forex_nn_02.tsc, part 5.
Run the program (it will take some time to complete). You will end up with a large XML page with images, one for each winning configuration.
Some of the results are great, however, as we used data "from the future", this system will not work in the real life. Actually, if you look at the Test() function, you will notice, that the cycle stops before we reach the last element of arrClose:
for(nBar = nRemoveFirst + 1; nBar.
THIS IS C++, just an example.
As you can see, the code is really simple. Now lets do the same using the SLANG script. As in examples before, we will keep the overall structure of the code, so that this example looks familiar. The only difference is that instead of using the built-in APPLY_NN function, we call the function of our own. The code that we do not use (such as cycles) is commented, but not removed.
Note, that the logic behind it was discussed in Neural Networks and Stock / Forex Trading article already. Briefly, the output of this script is formated to be compatible with the MQL, MetaTrader's scripting engine. MetaTrader is a trading platform we use, if you want something different, like TradeStation, for example, you will have to alter the code to comply to its syntax.
Then, in the following chapters, we are going to insert this code in the MetaTrader's indicator, and to use it to trade.
Porting script to trading platform.
The next step is not really required, but it is something, that may be useful. We are going to create a version of a tsc file (one above), but this time, we will use SLANG (Cortex scripting language) to emulate APPLY_NN function. The reason is, in the next chapter we are going to port it to the scripting language of a MetaTrader trading platform, so it is a good idea to make sure everything works.
After we run this function, we discover, that the result it produces is the same, as the forex_nn_05a produced, which means the code works fine. :
Note, that there is a difference at the beginning of the charts, as "our" NN does not try to process the data at the beginning (where lag is incomplete), while the built-in NN does not "know" about this problem. Of course, it doesn't affect the result, as the beginning of the chart is ignored by using the nRemoveFirst parameter in our script (set to 200, which is guaranteed to be larger, then our lag).
Using third-party trading platform.
We have the NN that (more or less) can be used. We have the script, implementing this NN without calls to the Cortex-specific NN functions. Now we are going to port it to the trading platform that can be used for the real trading, which means it can contact brocker, place orders and earn (or loose) money.
As a trading platform, I am going to use MetaTrader.
Disclaimer: I am not related to MetaQuotes in any way. I do not work for them, I am not their affiliate and so on. I use MetaTrader, ONLY because I like it.
I find this program user-friendly, flexible and powerful, and "not a monster". Also, it is free (compare to other packages of this class).
The only (minor) problem is that it is not always easy to find the dealer using MT in your area. Then, when you do a research, you may find couple of brockers, with screenshots on their web sites, that look suspiciously familiar. Yes, they use MetaTrader, but they don't call it MetaTrader!
I have asked for clarification at the company's forum, and they have told me, that they don't reveal brockers using their services. Very strange.
One of the brockers that is not hiding the fact they use MT, is Alpari. They will allow you to open a Demo account, so that you can trade in a real time, but without risking your money.
I am not going to recommeng services of Alpari. Once again, I am not being paid for that. Try their Demo account, and use your own judgement. Or you can start your own research at Internet forums.
Finally, if you do not like the MT, you can probably follow the example below using TS, MS or some other trading platform. This is just an example.
Our MT-based trading system will include two files, the indicator and an expert. This is the way they call it in MQL (scripting language of MT), and I am going to follow this naming convention.
The indicator implements the neural network and draws a chart. An expert takes these data and does trading. As MetaTrader has a "strategy tester", we will be able to test our strategy, to see how good it is.
I will assume, that you are familiar with MQL programming, it is quite close to SLANG and tutorials can be found both at MetaQuotes and Alpari.
Finally, I am using the code structure, that is borrowed from MetaQuotes forum, permission to use it the author of the corresponding posts had granted me permission to use fragments of his code.
Also, as some of our MetaTrader code is the same for all experts and indicators, we moved it to a separate library file. MetaTrader's libraries are nothing but includable files. This library takes care of synhronization, when two or more expert are trying to run in the same time, as well as of few other things. If you use MetaTrader, it will help you to create robust experts, in any case, the MQL language is easy to understand.
mylib. mql, a helper library.
The code should look familiar, all I did was re-writing it, using slightly different language syntax of MQL.
This indicator has two buffers, and draws two lines, one for the original NOC, and one for the NN-predicted NOC. For trading, you don't have to draw both indicator lines, of course (see MQL tutorials to learn how to do it), but I have decided to show them together, so you can compare.
Another difference, that you should know about, is the way MT performs testing. It may, in some cases, be more accurate, then one we did (we did the worse case scenario). Of course, you can always to change the SLANG script from the examples above, to implement any logic you want.
The result of our testing in MT is a bit better, then in Cortex, due to all these reasons.
Keep in mind, that MT calculates the DD in a different way. I still think, that my way is better.
In should be especially noted, that no additional optimization had been performed using MetaTrader's optimizer. We have just plugged our MTS (mechanical trading system) in, and it worked as expected.
هذا هو. You can now create Cortex Neural Network, optimize it to do trading, and to port it to the trading platform of your choice.
Neural Networks Learn Forex Trading Strategies.
The latest buzz in the Forex world is neural networks, a term taken from the artificial intelligence community. من الناحية التقنية، الشبكات العصبية هي طرق تحليل البيانات التي تتكون من عدد كبير من وحدات المعالجة التي ترتبط معا من خلال الاحتمالات المرجحة. بعبارات أكثر بساطة، الشبكات العصبية هي نموذج يشبه بشكل فضفاض الطريقة التي يعمل بها الدماغ البشري ويتعلم. For several decades now, those in the artificial intelligence community have used the neural network model in creating computers that 'think' and 'learn' based on the outcomes of their actions.
وخلافا لبنية البيانات التقليدية، تأخذ الشبكات العصبية في تيارات متعددة من البيانات والإخراج نتيجة واحدة. إذا كانت هناك طريقة لقياس البيانات، فهناك طريقة لإضافتها إلى العوامل التي يتم أخذها في الاعتبار عند وضع التنبؤ. They're often used in Forex market prediction software because the network can be trained to interpret data and draw a conclusion from it.
قبل أن يكون من أي استخدام في جعل التنبؤات الفوركس، الشبكات العصبية يجب أن تكون "المدربين" للاعتراف وتعديل أنماط التي تنشأ بين المدخلات والمخرجات. قد يكون التدريب والاختبار مضيعة للوقت، ولكن ما يعطي الشبكات العصبية قدرتها على التنبؤ بالنتائج المستقبلية استنادا إلى البيانات السابقة. The basic idea is that when presented with examples of pairs of input and output data, the network can 'learn' the dependencies, and apply those dependencies when presented with new data. من هناك، يمكن للشبكة مقارنة الانتاج الخاصة بها لمعرفة مدى قرب تصحيح التنبؤ كان، والعودة وضبط الوزن من تبعيات مختلفة حتى تصل إلى الإجابة الصحيحة.
This requires that the network be trained with two separate data sets — the training and the testing set. واحدة من نقاط القوة للشبكات العصبية هو أنه يمكن أن تستمر في التعلم من خلال مقارنة التنبؤات الخاصة بها مع البيانات التي يتم تغذية باستمرار له. Neural networks are also very good at combining both technical and fundamental data, thus making a best of both worlds scenario. وتتيح لهم قوتهم جدا العثور على أنماط قد لا تكون قد أخذت في الاعتبار، وتطبيق تلك الأنماط على التنبؤ من أجل التوصل إلى نتائج دقيقة بشكل غير دقيق.
للأسف، هذه القوة يمكن أيضا أن يكون ضعف في استخدام الشبكات العصبية للتداول التنبؤات. في نهاية المطاف، والناتج هو فقط جيدة مثل المدخلات. أنها جيدة جدا في ربط البيانات حتى عندما كنت إطعامهم كميات هائلة منه. أنها جيدة جدا في استخراج أنماط من أنواع متباينة على نطاق واسع من المعلومات - حتى عندما لا يوجد نمط أو علاقة. Its other major strength — the ability to apply intelligence without emotion — after all, a computer doesn't have an ego — can also become a weakness when dealing with a volatile market. عندما يتم إدخال عامل غير معروف، الشبكة العصبية الاصطناعية ليس لديها طريقة لتعيين الوزن العاطفي لهذا العامل.
There are currently dozens of Forex trading platforms on the market that incorporate neural network theory and technology to 'teach' the network your system and let it make predictions and generate buy/sell orders based on it. المهم أن نضع في اعتبارنا هو أن القاعدة الأساسية لتداول العملات الأجنبية ينطبق عندما كنت بناء لبناء الشبكة العصبية الخاصة بك - تثقيف نفسك ومعرفة ما تقومون به. سواء كنت تتعامل مع التحليل الفني، والأساسيات، والشبكات العصبية أو المشاعر الخاصة بك، والشيء الوحيد الأكثر أهمية يمكنك القيام به لضمان نجاحك في تداول العملات الأجنبية هو أن تتعلم كل ما تستطيع.
No comments:
Post a Comment