الفوركس الشبكة العصبية إي


ميتاترادر ​​4 - أمثلة استخدام الشبكات العصبية في ميتاتريدر مقدمة العديد منكم ربما نظروا في إمكانية استخدام الشبكات العصبية في إي الخاص بك. وكان هذا الموضوع حار جدا خاصة بعد عام 2007 بطولة التداول الآلي والفوز مذهلة من قبل أفضل مع نظامه على أساس الشبكات العصبية. وقد غمرت العديد من منتديات الإنترنت بموضوعات تتعلق بالشبكات العصبية وتداول العملات الأجنبية. للأسف كتابة تنفيذ MQL4 الأصلي من ن ليست سهلة. فإنه يتطلب بعض مهارات البرمجة والنتيجة لن تكون فعالة جدا خاصة إذا كنت ترغب في اختبار النتيجة النهائية في اختبار على عدد كبير من البيانات. في هذه المقالة سوء تظهر لك كيف يمكنك استخدام متاح بحرية (تحت لغبل)، الشهير الشبكة العصبية الصناعية السريعة مكتبة (فان) في التعليمات البرمجية MQL4 مع تجنب بعض العقبات والقيود. وعلاوة على ذلك أفترض أن القارئ هو على دراية الشبكات العصبية الاصطناعية (آن) والمصطلحات المتعلقة بهذا الموضوع حتى إل يركز على الجوانب العملية لاستخدام تنفيذ معين من آن في MQL4 اللغة. ميزات فان لفهم كامل إمكانيات تنفيذ فان تحتاج المرء إلى التعرف على الوثائق والوظائف الأكثر استخداما. استخدام نموذجي من فان هو إنشاء شبكة فيدفوروارد بسيطة، وتدريبه مع بعض البيانات وتشغيل. ويمكن بعد ذلك حفظ الشبكة التي تم إنشاؤها والمدربة إلى ملف واستعادتها في وقت لاحق لمزيد من الاستخدام. لإنشاء واحد آن يجب استخدام فانكريتستاندارد () الدالة. دعونا نرى بناء الجملة: حيث تمثل نوملايرس العدد الإجمالي للطبقات بما في ذلك المدخلات وطبقة الإخراج. يمثل لنوم والوسائط التالية عدد الخلايا العصبية في كل طبقة بدءا من طبقة الإدخال وتنتهي بطبقة الإخراج. لإنشاء شبكة مع طبقة مخفية واحدة مع 5 الخلايا العصبية، 10 المدخلات و 1 الإخراج واحد يجب أن نسميها على النحو التالي: مرة واحدة يتم إنشاء آن العملية التالية ستكون لتدريب ذلك مع بعض المدخلات والمخرجات البيانات. أبسط طريقة تدريب هو التدريب التدريجي التي يمكن تحقيقها من خلال الدالة التالية: هذه الوظيفة يأخذ المؤشر إلى بنية فان عاد سابقا من قبل فانكريستاندارد () وكل من البيانات المتجه بيانات الإدخال ناقلات الإخراج. المدخلات والمخرجات ناقلات هي مجموعة من نوع فانتيب. هذا النوع هو في الواقع نوع مزدوج أو تطفو، اعتمادا على الطريقة التي يتم تجميعها فان. في هذا التنفيذ فإن ناقلات المدخلات والمخرجات ستكون صفائف مزدوجة. وبمجرد أن يتم تدريب آن ستكون الميزة المطلوبة التالية هي تشغيل تلك الشبكة. وظيفة تنفيذ التي يتم تعريفها على النحو التالي: هذه الدالة يأخذ المؤشر إلى بنية فان تمثل الشبكة التي تم إنشاؤها مسبقا و متجه الإدخال من نوع محدد (مصفوفة مزدوجة). القيمة التي تم إرجاعها هي مجموعة متجه الإخراج. هذه الحقيقة مهمة بالنسبة لشبكة أوتبوت واحدة نحن ألويس الحصول على صفيف عنصر واحد مع قيمة الانتاج بدلا من قيمة الانتاج نفسها. لسوء الحظ، فإن معظم وظائف فان تستخدم مؤشرا على بنية فنية تمثل آن والتي لا يمكن التعامل معها مباشرة بواسطة MQL4 والتي لا تدعم الهياكل كنماذج بيانات. لتجنب هذا الحد علينا أن التفاف ذلك بطريقة أو إخفاء من MQL4. الطريقة الأسهل هي إنشاء مجموعة من مؤشرات الفن الهيكلية التي تحمل القيم الصحيحة والرجوع إليها مع فهرس يمثله متغير إنت. وبهذه الطريقة يمكننا استبدال نوع متغير غير معتمد مع دعم واحد وإنشاء مكتبة المجمع الذي يمكن دمجها بسهولة مع رمز MQL4. التفاف حول فان كما لأفضل معرفتي MQL4 لا يدعم وظائف مع قائمة الحجج المتغيرة لذلك علينا أن نتعامل مع ذلك أيضا. من ناحية أخرى إذا تم استدعاء الدالة C (من طول الوسيطة المتغيرة) مع وسيطات كثيرة جدا يحدث خطأ حتى نتمكن من افتراض عدد ثابت ثابت من الوسيطات في الدالة MQL4 تمريرها إلى مكتبة C. سوف تبدو وظيفة التفاف الناتجة كما يلي: قمنا بتغيير فان فان مع f2m (الذي يقف على فان إلى مقل)، استخدام عدد ثابت من الحجج (4 طبقات) وقيمة العودة هي الآن فهرس إلى صفيف داخلي من عقد عقد الهيكل فان المطلوبة من قبل فان لتشغيل. بهذه الطريقة يمكننا بسهولة استدعاء هذه الوظيفة من داخل رمز مقل. وينطبق الشيء نفسه على: وأخيرا وليس آخرا هو حقيقة أنه يجب تدمير الخاص بك مرة واحدة خلق آن من خلال الدعوة إلى: لإطلاق سراح يعالج يجب عليك تدمير الشبكات في ترتيب عكسي مما تم إنشاؤها إنشاؤها. بدلا من ذلك يمكنك استخدام: ومع ذلك إم متأكد من أن بعض منكم قد تفضل حفظ شبكة المدربين لاستخدامها لاحقا مع: بالطبع يمكن تحميل الشبكة المحفوظة في وقت لاحق (أو بالأحرى إعادة إنشاء) مع: مرة واحدة ونحن نعرف الوظائف الأساسية التي قد نحاول استخدام ذلك في منطقتنا إي، ولكن أولا نحن بحاجة إلى تثبيت حزمة Fann2MQL. تثبيت Fann2MQL لتسهيل استخدام هذه الحزمة لقد قمت بإنشاء المثبت مسي الذي يحتوي على كافة التعليمات البرمجية المصدر بالإضافة إلى مكتبات بريكومبيلد و Fann2MQL. mqh ملف رأس يعلن كافة وظائف Fann2MQL. إجراء التثبيت هو واضح تماما. أولا كنت على علم بأن Fann2MQL هو تحت رخصة غل: تركيب Fann2MQL، الخطوة 1 ثم اختيار المجلد لتثبيت الحزمة. يمكنك استخدام البرنامج الافتراضي FilesFann2MQL أو تثبيت مباشرة في دليل ميتا تراديركسيرتس الخاص بك. في وقت لاحق وضع جميع الملفات مباشرة إلى أماكنهم وإلا سيكون لديك لنسخها يدويا. تركيب Fann2MQL، الخطوة 2 المثبت يضع الملفات في المجلدات التالية: إذا اخترت تثبيت في مجلد Fann2MQL مخصص، يرجى نسخ محتوى المجلدات الفرعية تشمل والمكتبات في الدليل المناسب ميتا التاجر الخاص بك. يقوم المثبت بتثبيت مكتبة فان أيضا في مجلد مكتبات النظام (Windowssystem32 في معظم الحالات). يحتوي المجلد سرك كافة التعليمات البرمجية المصدر Fann2MQL. يمكنك قراءة التعليمات البرمجية المصدر التي هي الوثائق النهائية إذا كنت بحاجة إلى أي مزيد من المعلومات حول الداخلية. يمكنك أيضا تحسين التعليمات البرمجية وإضافة ميزات إضافية إذا أردت. أشجعك على أن ترسل لي بقع الخاص بك إذا كنت تنفذ أي شيء للاهتمام. استخدام الشبكات العصبية في إي الخاص بك بمجرد تثبيت Fann2MQL يمكنك البدء في كتابة إي الخاص بك أو مؤشر. ثيرس الكثير من الاستخدام المحتمل لل ن. يمكنك استخدامها للتنبؤ تحركات الأسعار في المستقبل ولكن نوعية مثل هذه التوقعات وإمكانية الاستفادة الحقيقية من أنه من المشكوك فيه. يمكنك محاولة كتابة الاستراتيجية الخاصة بك باستخدام تقنيات التعلم التعزيز، ويقول Q - التعلم أو شيء مماثل. قد تحاول استخدام ن كمرشح إشارة ل إي الخاص بك الاستدلالي أو الجمع بين كل هذه التقنيات بالإضافة إلى كل ما تريد حقا. أنت محدودة من خيالك فقط. هنا سوف تظهر لك مثالا على استخدام ن كمرشح بسيط للإشارات التي تم إنشاؤها بواسطة ماسد. من فضلك لا تعتبر ذلك إي قيمة ولكن كمثال تطبيق Fann2MQL. أثناء شرح طريقة المثال إي: NeuroMACD. mq4 يعمل سوء تظهر لك كيف Fann2MQL يمكن استخدامها بشكل فعال في مقل. أول شيء لكل إي هو إعلان المتغيرات العالمية، ويعرف ويتضمن القسم. هنا هو بداية نيوروماسد تحتوي على تلك الأشياء: يقول الأمر تشمل لتحميل ملف رأس Fann2MQL. mqh تحتوي على إعلان جميع وظائف Fann2MQL. بعد ذلك تتوفر كافة وظائف حزمة Fann2MQL للاستخدام في البرنامج النصي. ويحدد ثابت أنباث مسار تخزين الملفات وتحميلها بواسطة شبكات فان مدربة. تحتاج إلى إنشاء هذا المجلد أي C: آن. يحتوي ثابت نيم على اسم إي هذا، والذي يتم استخدامه لاحقا لتحميل ملفات الشبكة وحفظها. معلمات الإدخال واضحة إلى حد ما وتلك التي سيتم شرحها في وقت لاحق من المتسابق، فضلا عن المتغيرات العالمية. ونقطة الدخول في كل إي هي دالة إينيت (): فهي تقوم أولا بالتحقق مما إذا كان يتم تطبيق منطقة العد لتصحيح فترة الإطار الزمني. يحتوي المتغير أننبوتس على عدد من مدخلات الشبكة العصبية. فضلا عن استخدام 3 مجموعات من الحجج المختلفة نريد أن تكون قابلة للقسمة من قبل 3. يتم حساب أنباث لتعكس اسم إي و ماجنومبر. الذي يحسب من سلوما. فاستما و سيغنالما التي تستخدم لاحقا لتشوير مؤشر ماسد. بمجرد أن يعرف أنباث إي يحاول تحميل الشبكات العصبية باستخدام تحميل () وظيفة التي مرضى وصف أدناه. ويقصد نصف الشبكات المحملة للتصفية طويلة المدى والنصف الآخر مخصص للسراويل القصيرة. يستخدم المتغير أنسلودد للإشارة إلى حقيقة أن جميع الشبكات تم تهيئة بشكل صحيح. كما كنت قد لاحظت هذا المثال إي تحاول تحميل شبكات متعددة. أشك في ضرورتها حقا في هذا التطبيق بعد أردت أن تظهر لك إمكانات كاملة من Fann2MQL، والذي هو التعامل مع شبكات متعددة في نفس الوقت، ويمكن معالجتها في موازاة الاستفادة من النوى متعددة أو وحدات المعالجة المركزية. لجعله ممكنا Fann2MQL هو الاستفادة من إنتل خيوط كتل بناء التكنولوجيا. يتم استخدام الدالة f2Mparallelinit () لتهيئة تلك الواجهة. هنا هي الطريقة التي اعتدت على تهيئة الشبكات: كما يمكنك معرفة ما إذا كان f2Mcreatefromfile () فشل، والتي يشار إليها قيمة الإرجاع السالبة، يتم إنشاء الشبكة مع الدالة f2Mcreatestandard () مع وسيطات تشير إلى أن الشبكة التي تم إنشاؤها يجب أن يكون 4 طبقات (بما في ذلك المدخلات والمخرجات)، مدخلات أنينبوت، أنينبوت الخلايا العصبية في الطبقة المخفية الأولى، الخلايا العصبية AnnInput21 في 2 طبقة خفية و 1 الخلايا العصبية في طبقة الانتاج. يتم استخدام f2Msetactfunctionhidden () لتعيين وظيفة تنشيط الطبقات المخفية إلى سيغموديسيمتريستيبويس (يرجى الرجوع إلى وثائق فان من فاناكتيفاتيونفونسينوم) ونفس الشيء ينطبق على طبقة الإخراج. ثم هناك دعوة إلى f2mrandomizeweights () الذي يستخدم لتهيئة الأوزان اتصال الخلايا العصبية داخل الشبكة. هنا استخدمت مجموعة من 0.4 لتر 0.4 لتر ولكن يمكنك استخدام أي أخرى اعتمادا على التطبيق الخاص بك. في هذه المرحلة ربما كنت قد لاحظت ديبوغ () وظيفة اعتدت بضع مرات. لها واحدة من أبسط الأساليب لتغيير مستوى مطول من إي الخاص بك. جنبا إلى جنب مع المعلمة المدخلات ديبوجليفيل يمكنك ضبط الطريقة التي التعليمات البرمجية الخاصة بك ينتج إخراج التصحيح. إذا كانت الوسيطة الأولى الدالة تصحيح () مستوى التصحيح أعلى من ديبوجليفيل الدالة لا تنتج أي إخراج. إذا كان أقل من يساوي سلسلة نصية يتم طباعتها. إذا كان مستوى التصحيح 0 خطأ إرور: إلحاق إلى البداية. بهذه الطريقة يمكنك تقسيم التصحيح التي تنتجها التعليمات البرمجية إلى مستويات متعددة. الأكثر أهمية هي على الأرجح الأخطاء بحيث يتم تعيينها إلى مستوى 0. سيتم طباعتها إلا إذا قمت بتخفيض ديبوغليفيل إلى أقل من 0 (الذي لا ينصح). في المستوى 1 سيتم طباعة بعض المعلومات المهمة، مثل تأكيد نجاح تحميل الشبكة أو إنشاءها. في المستوى 2 أو أعلى أهمية المعلومات المطبوعة تتناقص تدريجيا. قبل الشرح المفصل لدالة البدء ()، التي هي طويلة جدا، ولست بحاجة إلى أن تظهر لك بعض المزيد من الوظائف التي تهدف إلى إعداد إدخال الشبكة وتشغيل الشبكات الفعلية: يتم استخدام وظيفة أنبريبارينبوت () لإعداد اسم الإدخال للشبكات (وبالتالي الاسم). والغرض من ذلك هو واضح جدا، ولكن هذه هي النقطة التي يجب أن أذكركم أن البيانات المدخلات يجب أن تطبيع بشكل صحيح. ليس هناك تطبيع متطورة في هذه الحالة، أنا ببساطة استخدام ماكد الرئيسية وقيم الإشارة التي لا تتجاوز أبدا النطاق المطلوب على البيانات المحسوبة. في المثال الحقيقي ربما يجب أن تولي المزيد من الاهتمام لهذه المشكلة. كما ربما كنت قد تشك في اختيار الحجج المدخلات الصحيحة لإدخال الشبكة، ترميز ذلك، والتحلل والتطبيع هي واحدة من أهم العوامل في معالجة الشبكة العصبية. كما ذكرت قبل Fann2MQL لديه القدرة على توسيع وظائف طبيعية من ميتاترادر، وهذا هو موازية معالجة متعددة الشبكات العصبية. الحجة العالمية باراليل تسيطر على هذا السلوك. الدالة رونانز () تشغيل جميع الشبكات تهيئة ويحصل على مخرجات منها ومخازن في مجموعة أنوتبوت. وظيفة أنسرونباراليل هي المسؤولة عن التعامل مع وظيفة في طريقة مؤشرات الترابط. وهو يطلق على f2mrunparallel () الذي يأخذ كحجة أولى عدد الشبكات التي يجب معالجتها، أما الوسيطة الثانية فهي مصفوفة تحتوي على مقابض على جميع الشبكات التي ترغب في تشغيلها توفر متجه الإدخال كوسيطة ثالثة. يجب تشغيل جميع الشبكات على نفس بيانات المدخلات. يتم الحصول على الإخراج من الشبكة عن طريق مكالمات متعددة إلى f2mgetoutput (). الآن دعونا نرى بداية () وظيفة: سوء وصف ذلك لفترة وجيزة كما هو علق بشكل جيد جدا. و تريدالويد () يتحقق ما إذا كان مسموحا للتجارة. في الأساس يتحقق المتغير أنسلودد مشيرا إلى أن جميع السنوات تم تهيئة بشكل صحيح، ثم يتحقق من الحد الأدنى من الإطار الزمني الصحيح رصيد الحساب الحد الأدنى وفي نهاية المطاف يسمح للتداول فقط على القراد الأول من شريط جديد. تم وصف اثنين من الدالة التالية التي تستخدم لإعداد مدخلات الشبكة وتشغيل معالجة الشبكة فقط بضعة أسطر أعلاه. بعد ذلك نحسب ونضع في المتغيرات لمعالجة في وقت لاحق قيم ماسد من إشارة والخط الرئيسي لآخر تراكم بار والسابقة. يتم حذف الشريط الحالي لأنه لم يتم بناء حتى الآن، وربما سيتم إعادة رسم. يتم حساب سيلسينال و بيسينال وفقا لذلك لإشارة ماسد والخط الرئيسي كروس أوفر. ويستخدم كل من الإشارات لمعالجة طويلة وقصيرة الموقف التي هي متناظرة جدا إل وصف فقط حالة لمدة طويلة. متغير لونغتيكيت يحمل رقم التذكرة للموقف المفتوح حاليا. إذا كان يساوي -1 لا يوجد موقف فتح حتى إذا تم تعيين بيسيغنال التي قد تشير إلى فرصة جيدة لفتح موقف طويل. إذا لم يتم تعيين نيوروفيلتر متغير يتم فتح موقف طويل وهذا هو الحال دون تصفية الشبكة العصبية من الإشارات - يتم إرسال النظام للشراء. عند هذه النقطة المتغير لونجينبوت هو المقصود أن نتذكر إنبوتفيكتور التي أعدتها أنبريبارينبوت () لاستخدامها لاحقا. إذا كان متغير لونغتيسكت يحمل رقم تذكرة صالحة يتحقق إي ما إذا كان لا يزال فتح أو تم إغلاقه من قبل ستوبلوس أو تاكيبروفيت. إذا لم يتم إغلاق الأمر لا يحدث شيء، ولكن إذا تم إغلاق الأمر ناقلات تروبوتبوت، التي لديها واحد فقط يوتوب، ويتم احتساب لعقد قيمة -1 إذا تم إغلاق النظام مع فقدان أو 1 إذا كان النظام مغلق مع الربح . ثم يتم تمرير هذه القيمة إلى أنترين () وظيفة ويتم تدريب جميع الشبكات المسؤولة عن التعامل مع الموقف الطويل معها. كما متجه الإدخال المتغير لونجينبوت يستخدم، الذي عقد إنبوتفيكتور في لحظة فتح الموقف. وبهذه الطريقة يتم تدريس الشبكة التي إشارة جلب الأرباح وأي واحد ليس كذلك. مرة واحدة لديك شبكة المدربين تبديل نيوروفيلتر إلى صحيح يتحول تصفية الشبكة. و أنويسلونغ () يستخدم الشبكة العصبية الحكيمة محسوبة كمتوسط ​​للقيم التي تعيدها جميع الشبكات يعني للتعامل مع الموقف الطويل. وتستخدم معلمة الدلتا كقيمة عتبة تشير إلى أن الإشارة المصفاة صالحة أو لا. كما العديد من القيم الأخرى التي تم الحصول عليها من خلال عملية التحسين. الآن بمجرد أن نعرف كيف يعمل سوء تظهر لك كيف يمكن استخدامها. زوج الاختبار هو بالطبع اليورو مقابل الدولار الأميركي. لقد استخدمت البيانات من ألباري. تحويلها إلى الإطار الزمني M5. لقد استخدمت الفترة من 2007.12.31 إلى 2009.01.01 لتفعيل التدريب و 2009.01.01-2009.03.22 لأغراض الاختبار. في المدى الأول جدا حاولت الحصول على القيم الأكثر ربحية ل ستوبلوس، تاكيبروفيت، سلوما، فاستما وسيغنالما الوسيطة، والتي أنا ثم مشفرة في ملف NeuroMACD. mq4. تم إيقاف نيورفيلتر فضلا عن سافيان. تم تعيين أنسنومبر إلى 0 لتجنب المعالجة العصبية. لقد استخدمت الخوارزمية الوراثية لعملية التحسين. وبمجرد الحصول على القيم، بدا التقرير الناتج كما يلي: تقرير عن بيانات التدريب بعد تحسين المعلمة الأساسية. كما ترون لقد قمت بتشغيل هذا إي على حساب مصغرة مع حجم الكثير من 0.01 والتوازن الأولي من 200. ومع ذلك يمكنك ضبط هذه المعلمات وفقا لذلك إلى إعدادات حسابك أو تفضيلات. عند هذه النقطة لدينا ما يكفي من الصفقات مربحة وفقدان حتى نتمكن من تشغيل سافان وتعيين أنسنومبر إلى 30. بمجرد القيام بذلك أنا تشغيل اختبار مرة أخرى. وكانت النتيجة هي نفسها تماما مع ما عدا حقيقة أن العملية كانت أبطأ بكثير (نتيجة للمعالجة العصبية) والمجلد C: تم ملء آن مع الشبكات المدربة كما هو مبين في الصورة أدناه. تأكد من وجود مجلد C: آن قبل تشغيل هذا المجلد C: آن. مرة واحدة لدينا شبكات المدربين وقتها لاختبار كيف يتصرف. أولا جيدا محاولة على بيانات التدريب. تغيير نيوروفيلتر إلى صحيح و سافان إلى كاذبة وبدء اختبار. والنتيجة التي حصلت عليها هو مبين أدناه. لاحظ أنه قد تختلف قليلا بالنسبة لك حالة كما أن هناك بعض العشوائية داخل الشبكات في الأوزان اتصال الخلايا العصبية المقدمة في عملية تهيئة الشبكة (في هذا المثال استخدمت دعوة صريحة إلى f2Mrandomizeweights () داخل تحميل ()). النتيجة التي تم الحصول عليها على بيانات التدريب مع إشارة تصفية العصبية تحولت على. صافي الربح هو أكبر قليلا (20.03 مقابل 16.92)، ومع ذلك فإن عامل الربح هو أعلى بكثير (1.25 مقابل 1.1). عدد الصفقات هو أقل بكثير (83 مقابل 1188) ومتوسط ​​عدد الخسائر المتتالية انخفض من 7 إلى 2. ومع ذلك فإنه يظهر فقط أن تصفية الإشارات العصبية تعمل لكنها لا تقول شيئا عن كيفية تشغيلها على البيانات التي لم تستخدم ل خلال التدريب. والنتيجة التي حصلت عليها من فترة الاختبار (2009.01.01 - 2009.30.28) هي مبينة أدناه: النتيجة التي تم الحصول عليها من بيانات الاختبار مع تصفية العصبية قيد التشغيل. عدد الصفقات التي أجريت منخفضة جدا ومن الصعب معرفة نوعية هذه الاستراتيجية، ولكنني لن أشرح لك كيفية كتابة أفضل إي مربحة ولكن لشرح كيف يمكن استخدام الشبكات العصبية في رمز MQL4 الخاص بك. التأثير الحقيقي لاستخدام الشبكات العصبية في هذه الحالة يمكن أن ينظر إليه فقط عند مقارنة نتائج إي على بيانات الاختبار مع نيوروفيلتر تشغيل وإيقاف. وفيما يلي النتيجة التي تم الحصول عليها من فترة بيانات الاختبار دون تصفية الإشارات العصبية: نتائج من اختبار البيانات دون تصفية العصبية. الفرق واضح تماما. كما ترون تحول تصفية الإشارات العصبية خسر إي إلى مربحة واحدة خاتمة آمل أن تكون قد تعلمت من هذه المقالة كيفية استخدام الشبكات العصبية في ميتاترادر. مع مساعدة من حزمة بسيطة وحرة ومفتوحة المصدر Fann2MQL يمكنك بسهولة إضافة طبقة الشبكة العصبية إلى أي خبير مستشار تقريبا أو البدء في كتابة واحدة خاصة بك والتي تعتمد كليا أو جزئيا على الشبكات العصبية. القدرة على تعدد العلامات فريدة من نوعها يمكن تسريع المعالجة الخاصة بك عدة مرات، اعتمادا على عدد من النوى وحدة المعالجة المركزية الخاصة بك، وخصوصا عند تحسين بعض المعلمات. في حالة واحدة تقصير الاستفادة المثلى من بلدي التعزيز التعلم القائم على معالجة إي من حوالي 4 أيام إلى 28 ساعة فقط على وحدة المعالجة المركزية إنتل الأساسية 4. خلال كتابة هذه المقالة لقد قررت وضع Fann2MQL على موقعها على الانترنت: fann2mql. wordpress. يمكنك أن تجد هناك أحدث نسخة من Fann2MQL وربما جميع الإصدارات المستقبلية، فضلا عن وثائق جميع الوظائف. وأعد للحفاظ على هذا البرنامج تحت رخصة غل لجميع الإصدارات حتى إذا كنت ترسل لي أي تعليقات، طلبات ميزة أو بقع أنني سوف تجد مثيرة للاهتمام تأكد من العثور عليه الإصدارات القادمة. يرجى ملاحظة أن هذه المقالة تظهر فقط الاستخدام الأساسي جدا من Fann2MQL. كما أن هذه الحزمة ليست أكثر بكثير من فان يمكنك استخدام جميع الأدوات المصممة لإدارة شبكات فان، مثل: و ثيريز أكثر من ذلك بكثير عن فان على مكتبة الشبكة العصبية الصناعية السريعة الصفحة الرئيسية: leenissen. dkfann بوست سكريبتم بعد كتابة هذه المقالة لقد وجدت خطأ ضئيل في NeuroMACD. mq4. تم تغذية الدالة أوردركلوس () للوضع القصير مع رقم تذكرة الموضع الطويل. وأدى ذلك إلى استراتيجية المنحرفة التي كان من المرجح أن تعقد السراويل وأغلق قريبة: في النسخة الصحيحة من البرنامج النصي لقد قمت بإصلاح هذا الخطأ وإزالة استراتيجية أوردركلوس () على الإطلاق. هذا لم يغير الصورة العامة لتأثير الترشيح العصبي على منطقة العد، ولكن شكل منحنى التوازن كان مختلفا تماما. يمكنك العثور على كلا الإصدارين من هذا إي تعلق على هذه المقالة. التحديث مع ليونيد فيليتشكوفسكي: أكبر أسطورة حول الشبكات العصبية هي فائقة الربحية وقد شارك بطل المقابلة لدينا ليونيد فيليتشكوفسكي (ليوف) بالفعل في بطولة التداول الآلي. في عام 2008، كانت الشبكة العصبية متعددة العملات له مثل فلاش مشرق في السماء، وكسب 110،000 في لحظة معينة، ولكن سقطت في نهاية المطاف ضحية لإدارة الأموال العدوانية الخاصة بها. قبل عامين، في مقابلة له ليونيد حصة تجربته التجارية الخاصة وقال لنا عن ملامح مستشاره الخبراء. عشية أتس 2010، يتحدث ليونيد عن الأساطير الأكثر شيوعا والمفاهيم الخاطئة المرتبطة الشبكات العصبية. - ليونيد، أنت ممثل نادر من المجتمع التجار، الذين يستخدمون الشبكات العصبية للتداول. هذه تطورات معقدة للغاية، لكن جيش معجبيها يستمر في النمو. ما يجذبك في الشبكات العصبية - قبل ست سنوات، في البداية، جذبتني الشبكات العصبية مع جديتها، وطابع غامض غير عادي والربحية على ما يبدو عالية. على مر السنين، ذهبت العديد من الأساطير، ولكن الشبكات العصبية لا تزال تجذب لي مع قدرتها على التكيف مع أي منحنى وإيجاد أنماط حيث لا شيء ولا أحد آخر يمكن العثور عليها. - هل يمكن أن أقول المزيد عن الخرافات المرتبطة الشبكات العصبية هل التقيت أي خيبة أمل في هذا المجال - أكبر أسطورة المرتبطة الشبكات العصبية هي الربحية العالية. ولكن هذا لا ينطبق فقط على الشبكات العصبية، ولكن على الفوركس ككل. في البداية يبدو أنه من السهل لكسب - شراء وبيع، ثيريس شيء معقد في ذلك. في وقت لاحق، ومع ذلك، تظهر بعض العوامل، والتي كنت لا تعرف حتى - فقط ثم عليك أن تبدأ لفهم وفهم لهم. في الشبكات العصبية، مخيبة للآمال هو الشيء الذي يجذب لك - قدرتها على التدريب والتكيف مع أي سوق مع أي بيانات متاحة. إن ميزتها الكبيرة هي عيب كبير عند تطبيقها على الأسواق المالية. هذا هو التحول مذهلة - كيف كنت تأتي لفهم أن الشبكات العصبية لا تجلب الأرباح الفائقة كان هناك أي تجربة شخصية - ليس هناك ربحية فائقة في الفوركس أيضا، وليس فقط في الشبكات العصبية. بالمعنى الدقيق للكلمة، الشبكات العصبية هي نفس النظم التجارية (من الآن فصاعدا - تيسي). أنها تستخدم فقط نيورونيت بدلا من المؤشرات المشتركة. ومن ثم فإن أهم وجه هو إدارة الأموال، أي الجشع التجار. عند بدء التداول، لم يكن لديك مفهوم إدارة الأموال على هذا النحو. ولكن بعد ذلك تأتي إلى إدراك ضرورة هذه الأداة. العمل على الفوركس، وبشكل عام في الأسواق المالية، يرتبط دائما بالمخاطر. يجب أن تكون على علم بأن خطر 100 و 100،000 هو أمرين مختلفين. عندما كنت تداولت على إيداع الأولي من 100، 500 وحتى 1000 دولار، كان هناك بعض المخاطر، وكان النهج برمته للتداول محددة. وعندما بدأت التجارة بمبالغ أكبر، أصبح الموقف من التداول شيئا مختلفا تماما - زاد مستوى الخطر، وسرعان ما فهمت أنني قد أخسر كل شيء. وجاءت مسؤولية معينة مع هذا. على سبيل المثال، عند التداول على إيداع 100، فإن ربح 100 في السنة لا يكاد يكون مرضيا، على ما أعتقد. ولكن التداول على إيداع 100،000 ربح 100 في السنة ليست سيئة على الإطلاق. وهكذا، هناك نوع من الصراع النفسي - التجار الذين يتاجرون على الودائع الصغيرة، تسعى لكسب أسرع وبأكبر قدر ممكن. وهذا يدفع التجار إلى تجاوز كل المخاطر التي يمكن تصورها. والنتيجة هي فقدان الطبيعي للودائع ولذلك، أعتقد، التداول على الودائع الصغيرة محكوم عليه بالفشل بسبب الرغبة الطبيعية للتاجر لكسب بأسرع قدر ممكن. و 100، على سبيل المثال، ليست كمية كبيرة بما يكفي لإبقاء لكم بعيدا عن المخاطر. - على مدى السنوات الست الماضية، كنت تعمل مع الشبكات العصبية في التداول. كيف يمكنك إنشاء هذه الشبكات العصبية الغامضة ماذا تستخدم - إم لا مبرمج، إم التاجر. برمجة الشبكات العصبية واستخدامها في الأسواق المالية هي أشياء مختلفة تماما. المبرمجين مساعدتي في تطوير المستشارين الخبراء - رومان كرمار (الطعن)، يوري زيتسيف (يوراز)، فيكتور نيكولايف (فينين) وديمتري فيدوسيف (صحيح). كلهم من المهنيين في مجال عملهم، وأنا لا تحتاج إلى شرح الكثير - أنهم يعرفون كل شيء على ما يرام تماما. وأنا ممتن جدا لهم جميعا على عملهم ومهنيتهم. أيضا، لقد تعاونت وواصلت العمل مع ستيف وارد (مجموعة أنظمة وارد) وسيرجي دولينكو (نيوروبروجيكت) الذي أعطاني معلومات لا تقدر بثمن عن تطبيق الشبكات العصبية في الأسواق المالية. بالإضافة إلى ذلك، عملت بشكل وثيق مع دينيس مايرز (مايرز أناليتيكش)، فيليب لونجوكس (نوكسا أناليتيكش، Inc.) ومارك سيمبسون (بوافورت تيشنولوجيز Inc.)، الذي اختبرت معه أنظمة ومؤشرات جديدة. معرف أن نلاحظ أن تطبيق الشبكات العصبية في الأسواق المالية لديها العديد من الميزات والمفاهيم والتقنيات المبتكرة، ويختلف كثيرا عن استخدامها في مجالات أخرى. يمكنني استخدام ميتاتريدر 4، وبطبيعة الحال الآن أحاول تكوين صداقات مع ميتاتريدر 5. أداة أخرى لا غنى عنها للعمل هو نيوروشيل، والتي بدونها لا أستطيع القيام به. يمكنني استخدام متفيد كجسر بين ميتاتريدر 4 و نيوروشيل. - هناك العديد من أساليب تدريب الشبكات العصبية. ليونيد، كيف يمكنك تدريبهم وأخيرا، فإن السؤال الذي يعذب العديد من المبتدئين في التداول الشبكة العصبية: كيفية تجنب ما يسمى الإفراط في التدريب - في مسألة معقدة، وأنا (وليس فقط لي) ليس لديهم إجابة و وهو أمر يستحيل تنظيمه بشكل واضح. ومع ذلك، سأحاول أن أتناول المشاكل الأساسية للتدريب وسبل تجنب الإفراط في التدريب. بسبب عدم خطية قوية والقدرة على التكيف مع أي بيانات، يتم تعديل الشبكة العصبية بشكل جيد جدا، المدربين، ونتيجة لذلك - الإفراط في التدريب. شبكة عصبية مع عدد قليل فقط من الخلايا العصبية في الطبقة الداخلية بسهولة يتذكر تاريخ بضعة آلاف من الحانات. وتجدر الإشارة إلى أن الإفراط في التدريب متأصل في الشبكات العصبية فقط عند تطبيقها على الأسواق المالية. ماذا يعني هذا نحن جميعا نعلم أن تغيرات السوق مع مرور الوقت - ما حدث في الماضي سوف تكون ذهبت في المستقبل. حسنا، ستكون موجودة، ولكن بشكل مختلف إلى حد ما، لن تكون هناك مباريات بنسبة 100 في المائة. أنماط والقوانين ومناطق السوق - كل هذا سيكون مختلفا في أجزاء مختلفة من السوق. وبالتالي، إذا كانت الشبكة العصبية تتعلم الدروس (الأمثلة) من الماضي بشكل جيد جدا عندما يجري تدريب على بيانات التاريخ، في نهاية المطاف قد ببساطة فشل في إشعار أو تحديد أنماط جديدة ومناطق السوق في المستقبل. لأن كل منهم قد خضعت لبعض التغييرات. أي أن الشبكة العصبية تتكيف بشكل جيد مع ظروف السوق، التي كانت موجودة في الماضي، لكنها لم تتمكن من التعرف على الأنماط الجديدة في ظروف السوق المتغيرة. هل هناك أي طرق لتجنب الإفراط في التدريب هناك العديد من الطرق، ولكن الرئيسي هما اثنان منهم: التوقف المبكر للتدريب وزيادة فترة التدريب. ومع ذلك، فإن كلا الطريقتين لها عيوب خطيرة. في وقت مبكر توقف، وهناك أسئلة صعبة، والتي لا يوجد جواب: في أي نقطة يجب أن أوقف التدريب ما هي المعايير التي ينبغي استخدامها لذلك هناك العديد من الإجابات على هذا السؤال - استخدام الأخطاء ومستوى الربح، والتراجع وغيرها من الرياضية المعايير. لكنها لا تعطي ضمانا بنسبة مئة في المائة من الوقف في الوقت المناسب. لذلك، يتوقف هذا التوقف في الوقت المناسب من التدريب فقط على مهارات التجار. وهناك اعتقاد خاطئ بأن الأفضل في الماضي كان أفضل في المستقبل. أو كلما كان الخطأ أقل في فترة التدريب، كلما كانت الشبكة تعمل بشكل أفضل في المستقبل. ومع ذلك، هذا ليس صحيحا - السوق يتغير، ويجري تدريبا جيدا جدا في البيانات التاريخية، يمكن للشبكة العصبية تفشل في رؤية المستقبل. وأنا أعلم من تجربتي الخاصة أن نسبة الأخطاء من جانب التدريب والأرباح على أوس (خارج العينة - خارج الفاصل الزمني الأمثل) أو على حساب حقيقي هو ما يلي - ينخفض ​​الخطأ تدريجيا مع زيادة وقت التدريب، ولكن الربح يزيد أولا ثم يسقط، وتشكيل الحد الأقصى في لحظة معينة في الوقت المناسب. هذا هو الحد الأقصى الذي نحتاجه للقبض عليه. وعلاوة على ذلك، مع زيادة وقت التدريب، والخطأ أيضا أن تنخفض تدريجيا، والربح على أوس يمكن أن تنتج عدة أقصر، لكنها عادة ما تكون أقل من الأولى. على الرغم من أنني واجهت حالة حيث كان الحد الأقصى الثاني وحتى الثالث أعلى من أول واحد. ولكن يعتقد أن الحد الأقصى الأول هو أفضل من بقية من حيث الربحية والكفاءة. في الواقع، مهمتنا هي للقبض على هذا الحد الأقصى الأول. وان ذلك يعتمد على المهارات والخبرة من التاجر - أنا لا أعرف أي معايير أخرى أكثر دقة. على الرغم من، بالطبع، ونحن قد ويجب أن تسترشد نسبة الربحية، والخطأ، وخفض، نسبة شارب، والعديد من المعالم الأخرى. ولكن في نهاية المطاف، فإنه يعتمد فقط على التاجر ما هي المعايير لاستخدامها. وهذا يعتمد على كيف يفهم له تيسي ويعرف كيف يتصرف. بينما على فترة من التدريب، أشياء مختلفة تماما يحدث. الخطأ والأرباح تتصرف العكس تماما - الخطأ تدريجيا تنخفض، ويزيد الربح على نحو سلس. إذا زادت الأرباح خلال التحسين، وهذا يعني أن مستشار الخبراء يتم تركيبه ببساطة على منحنى السوق، وتحويل السعر إلى منحنى سلس. وينبغي أن يرتفع هذا المنحنى ويسمى الإنصاف. في الواقع، هذا الأمثل هو أيضا للحد من الخطأ. ونحن نحصل على الشيء التالي: الربح الأكبر على قسم التدريب أو التحسين هو، على الأرجح سيكون لديك الإفراط في التدريب أو الإفراط في التحسين (المناسب)، ونتيجة لذلك - خسائر في المستقبل. والطريقة الثانية لتجنب الإفراط في التدريب هي زيادة فترة التدريب، أي زيادة كمية البيانات التي تدرب عليها الشبكة. ولكن هذه الطريقة لديها أيضا المزالق لها. زيادة كمية البيانات في الأسواق المالية يؤدي إلى حقيقة أن الشبكة قد ببساطة تفشل في رؤية أو التعرف على تلك الأنماط ومناطق السوق، والتي توجد في قسم التدريب معين. القسم كبير جدا لذلك. وذلك لأن السوق يتغير مع مرور الوقت. ويبدو نمط معين مختلفا جدا في هذه الفاصل الزمني الكبير، ولا يمكن للشبكة أن تعرف أن هذا هو نفس النمط، الذي تغير فقط مع مرور الوقت. ثم ينشأ سؤال طبيعي: ما هو جزء من السوق ينبغي أن تعطى لشبكة للتدريب هنا هو الجواب: الجزء حيث تعترف الشبكة بنجاح أنماط ومناطق السوق اللازمة ل تيسي والتاجر. هذا يعتمد على مهارات التجار - الطريقة التي يرى السوق وكيف انه يمكن اختيار الجزء المناسب للتدريب. في تجربتي هذا هو من 500 إلى 2000 الحانات اعتمادا على الإطار الزمني وحالة السوق. وهناك المزيد من الطرق لتجنب الإفراط في التدريب، ولكنها ليست كبيرة جدا. ترى، الكثير يعتمد على مدى مهارة وخبرة التاجر هو. لذلك أعتقد أن هذه المهنة تتطلب ليس فقط المعرفة الرياضية ولكن أيضا بعض الإبداع. It is also clear that all the features and nuances of the use of neural networks, as well as usual TSs, come from the fact that the market changes over time, and the past never repeats exactly in the future. This feature exists only in financial markets. There is a popular myth that you need to give a lot of data to a neural network and let it train - it will learn independently what it needs. For the normal use of neural networks this may be true, but financial markets have their own peculiarities, which I described above, so its not so easy in this case. In my opinion, these two ways to avoid over-training also apply to the optimization of common Expert Advisors, without neural networks. Over-optimization, or fitting, is specific to financial markets only. And the ways to avoid it are the same. The essence of over-optimization also lies in the fact that the nature of financial markets changes in time. Strictly speaking, the market is not stationary. - What are common errors that a trader can face when starting to work with neural networks The popular delusion of traders who start using neural networks and use non-normalized data at the input, trying to get the price of the next bar, is Today will be like yesterday, and tomorrow will be like today (if we consider daily bars). This is a common over-training of a network. While data on Forex do not differ much from each other (100 points make only 0.7 of the price), then the training error will also be small, and the network will quickly find this local minimum of training. - Some neural traders use preprocessing of input data. Do you use anything like this in your neural networks - Generally speaking, I never use pure time series for the inputs of neural networks. Time series are always transformed by some indicator, which normalizes the data into a certain row. For example, from -100 to 100 or from -1 to 1. Further normalization is not required, because if the indicator values are greater than 1, they can always be divided by an appropriate number, to achieve a value not exceeding 1. I try to do as little change of input data as possible, since any transformation brings additional nonlinear distortion in the input signal. This accordingly leads the wrong training of a neural network, since the distortion can be incorrectly interpreted by the network. Moreover, with strong transformations, and consequently large nonlinear distortions, the network can be trained not on a real input signal, but on nonlinear distortions, which may lead to wrong operation and loss of deposit. Here are a few examples of nonlinear distortions that are visible to the naked eye. Take, for example, the usual stochastics. It seems that such a simple indicator would bring no distortions. But in some moments, it makes strong nonlinear distortions, which may mislead the neural network in the training process and in further work on a real account. These areas are marked with a white oval on the chart. In the first case the price goes up, and the stochastic indicator virtually stands still in its maximum values. In the second case, the price is almost at one and the same level, and the stochastic indicator sharply goes down from its maximum to minimum values. In the first case the stochastic indicator will bring no information to the network, while in the latter case it will simply confuse it. In both cases, the behavior of the stochastic indicator will have a negative impact both on the training and on the work of the neural network on a real account. And that can lead to financial losses. It should be noted that these two examples are quite noticeable distortions that you can easily see. And there are much more distortions that we cant see and analyze Believe me. And all these distortions (both large and small) are combined together. Therefore, be extremely careful when doing with the pre-processing of input data. Of course, there are indicators that make much stronger distortions. There are also those that make less strong ones. However, the fact remains - distortion are made by any indicators. Although, you can select specific parameters to any indicator (even stochastic), so that it will bring minimum distortions in the original signal with specific market conditions. Naturally, the nature of the market may change, and you will have to change the indicator parameters in order to reduce the distortion introduced. And in this situation, a proper selection of indicator parameters and their timely adjustment (both automatically and manually) is also totally dependent on a traders skills and experience. - How do you assess the results of a neural network after training or TS after optimization What are the criteria to use them on a real account Currently, I almost never take into account the results of a TS, which have been obtained in the training (optimization) interval. I analyze results on OOS or real, because I believe that in the period of training (optimization), the results of a TS can tell nothing. This can be fitting or over-training and its almost impossible to define whether its fitting or not. You can only define it by testing it on OOS or better on a real account. Sometimes, I simply compare the results on the real account (OOS) and that of training (optimization). Therefore, the figures show equity on a real account with the trading leverage of 1:1 (deposit use is 1 with the leverage of 1:100 given by the dealing center). If we increase the leverage, the range of equity will also increase. Actually, I analyze the results of a TS only with the leverage of 1:1, i. e. with a disabled money management. Because money management can give the wrong idea about the actual drawdown of the TS and, accordingly, an unexpected margin call and other troubles. In the figures, you can see the equity with the leverage of 1:1. By the way, it is the same trading system that participated in the ATC 2008, though with slightly modified parameters. Recently, I noticed the following: if the profit factor is extremely large in the training (optimization) interval with the leverage of 1:1, we can say for sure that it is over-training (over-optimization). And in the future, at the unknown data, the trading system with such parameters will work poorly (i. e. will lose the deposit). One can note that in the figures, the equity rises smoothly rather than sharply. You could conclude that the profitability of such a trading system is not quite small. Although if you increase the trading leverage or use a more aggressive money management, the profits can increase manifold. Everything depends on the drawdown, which appears with the leverage of 1:1, and the drawdown allowed by a trader. - Almost two years have passed since the ATC 2008. What lessons have you learned from the results of that Championship Why couldnt your Expert Advisor win the contest The Championship is a competition. Nothing ventured, nothing gained. I dared and I exceeded all possible risks because of my money management. I managed to earn 110,000 and then fell to 14,749 because of that too aggressive money management. For 3 months, the profit was almost 50, which was pretty good. But the drawdown was 92, which is unacceptable in real life. Then, having run my EA with reasonable money management over the same period, I got almost the same result of 14,000, but with a drawdown of about 25 - this is a good result for real life. The conclusion is that you shouldnt chase the excess profits, otherwise you can lose. But the Championship makes its own rules and, of course, you need to take risks to win. - Has anything changed fundamentally in your developments over this period Perhaps, have you found any know-how and applied it in practice No, in fact everything remains the same. Nothing new has happened. Moreover, the same Expert Advisor with the same parameters can still work, though I found other, more profitable parameters. The essence of the market doesnt change - only its character is changing, which an experienced trader must keep track of, timely adjusting his TS to the new, changed market conditions. - The Expert Advisor of Alexander Topchylo, the winner of the ATC 2007, consisted of three independent subsystems. However the author was going to progress in this direction and create a committee of neural networks. Do you use such committees in your developments - No, I refused to use committees due to them being hard to implement and maintain. Over the years, I have come to use simple TSs, because a too complex TS, as well as that with committees, cannot guarantee a more stable and larger profit in comparison with a simple one. - The author of the only one multicurrency Expert Advisor among the winners of the ATC, Nikolay Kositsin believes that rules of the upcoming Championship are favorable to multicurrency EAs and leave little chance to single currency robots. Do you use multicurrency in your Expert Advisors What pairs do your EAs trade - Of course I use them. This allows hedging trades and getting a smoother equity. Besides, if you use multicurrency for analysis, this helps to create more stable and reliable trading systems. On the Championship, I intend to trade EURUSD, USDJPY and AUDUSD - depends on how the market situation changes closer to the Championship. - Leonid, thank you for the interview. Good luck in the Championship How to Write an Expert Advisor and Not to Violate the Championship Rules In this article we will show how to write an expert adviser and to avoid mistakes that may prevent you from participating in the upcoming Automated Trading Championship 2010 Risk management is an essential component of any trading system. Without it, it is virtually impossible to imagine profitable trading. In this article, experienced developers of automated trading systems share their tips on risk management with the participants of the Championship. MetaNeural Expert Advisor - Neural Network Committee EA I did some programming for a trading firm a while back and recently theyve developed a production version of their trading system for Metatrader. It works surprisingly well and in this sketchy world of scammers I just wanted to put this out there as something that I know works. Neural Networks - Its sort of a new field for retail traders at the small money level because it takes so much money and time to develop profitable neural network trading systems but I believe this is where the industry is going. Anyone who pays attention to the automated trading championship might remember the better ea a few years ago, it blasted every other ea out of the water and put neural networks on the map - problem is, no one knew how to make them, it requires significant programming skill as I know first hand and frankly most of the metatrader automated trading systems are poorly scripted scams. Youll remember that the Better EA developer mentioned using a committee of neural networks working together to process the complex patterns in the market and produce amazingly accurate trades, the Metaneural EA is built on the same concept, the only difference is you can actually buy it and try it for yourself. Its called the Metaneural EA made by Metaneural Engineering, check it out if youre interested in the next evolution of retail trading and perhaps automated trading in general. Their end product uses many of the same basics presented in this mql5 article if youre interested in neural network development: mql5enarticles236 Members must have at least 0 vouchers to post in this thread. 0 التجار الذين يشاهدون الآن فوريكس فاكتوريريغ هي علامة تجارية مسجلة.

Comments