مؤشر السعر التالي باستخدام الشبكة العصبية - مؤشر ميتاترادر 4.
06/26/2009 - إضافة مؤشر جديد بن توقع مع Smoothing. mq4، حيث يتم تمهيد الأسعار باستخدام إما قبل التنبؤات.
08/20/2009 - تصحيح رمز حساب وظيفة تنشيط الخلايا العصبية لمنع استثناء الحسابي. تحديث BPNN. cpp و BPNN. dll.
08/21/2009 - إضافة تطهير الذاكرة في نهاية تنفيذ دل. تحديث BPNN. cpp و BPNN. dll.
نظرية موجزة للشبكات العصبية:
الشبكة العصبية هو نموذج قابل للتعديل من النواتج كدالات للمدخلات. وهو يتألف من عدة طبقات:
طبقة المدخلات، التي تتكون من طبقة مخفية بيانات المدخلات، والتي تتكون من عقد معالجة تسمى طبقة انتاج الخلايا العصبية، والذي يتكون من واحد أو عدة الخلايا العصبية، التي مخرجات هي مخرجات الشبكة.
جميع العقد من الطبقات المجاورة مترابطة. وتسمى هذه التوصيلات نقاط الاشتباك العصبي. كل مشبك لديه معامل التحجيم المعين، الذي يتم ضرب البيانات التي تم نشرها من خلال المشبك. ويسمى معامل التحجيم هذا بالأوزان (w [i] [j] [k]). في الشبكة العصبية للأمام إلى الأمام (فن) يتم نشر البيانات من المدخلات إلى المخرجات. هنا مثال على فن مع طبقة إدخال واحدة وطبقة خرج واحدة وطبقتين مخفيتين:
وغالبا ما يختصر طوبولوجيا شبكة فن على النحو التالي: & لوت؛ # أوف إنبوتس & غ؛ - & لوت؛ # من الخلايا العصبية في الطبقة المخفية الأولى & غ؛ - & لوت؛ # من الخلايا العصبية في الطبقة المخفية الثانية & غ؛ - - & لوت؛ # أوف أوتبوتس & غ ؛. ويمكن الإشارة إلى الشبكة المذكورة أعلاه على أنها شبكة 4-3-3-1.
تتم معالجة البيانات من قبل الخلايا العصبية في خطوتين، يظهر في المقابل داخل الدائرة عن طريق علامة الجمع وخطوة خطوة:
وتضاعف جميع المدخلات في الأوزان المرتبطة وتجمعت يتم معالجة المبالغ الناتجة عن طريق وظيفة تنشيط الخلايا العصبية، الذي خرج هو انتاج الخلايا العصبية.
هذا هو وظيفة تنشيط الخلايا العصبية التي تعطي اللاخطية لنموذج الشبكة العصبية. وبدون ذلك، لا يوجد سبب لوجود طبقات مخفية، وتصبح الشبكة العصبية نموذج الانحدار الذاتي الخطي (أر).
ملفات المكتبة المغلقة لوظائف ن تسمح الاختيار بين ثلاث وظائف تفعيل:
عتبة التنشيط لهذه الدالات هي x = 0. ويمكن نقل هذه العتبة على طول المحور س بفضل مدخلات إضافية من كل الخلايا العصبية، ودعا الإدخال التحيز، والتي لديها أيضا الوزن المخصص لها.
عدد المدخلات والمخرجات والطبقات المخفية والخلايا العصبية في هذه الطبقات، وقيم الأوزان المشبك تصف تماما فن، أي النموذج غير الخطية التي يخلقها. من أجل العثور على الأوزان يجب تدريب الشبكة. خلال التدريب تحت الإشراف، يتم تغذية عدة مجموعات من المدخلات السابقة والنواتج المتوقعة المقابلة للشبكة. يتم تحسين الأوزان لتحقيق أصغر خطأ بين مخرجات الشبكة والمخرجات المتوقعة. وأبسط طريقة لتحسين الوزن هي الانتشار الخلفي للأخطاء، وهو أسلوب انحدار الانحدار. وظيفة التدريب المغلقة قطار () يستخدم البديل من هذه الطريقة، ودعا تحسين مرونة العودة إلى الوراء زائد (إربروب +). يتم وصف هذه الطريقة هنا.
العيب الرئيسي لطرق التحسين القائمة على التدرج هو أنها غالبا ما تجد الحد الأدنى المحلي. بالنسبة لسلسلة الفوضى مثل سلسلة الأسعار، فإن سطح خطأ التدريب له شكل معقد جدا مع الكثير من الحد الأدنى المحلي. لمثل هذه السلسلة، الخوارزمية الجينية هي طريقة التدريب المفضل.
BPNN. dll - ملف مكتبة BPNN. zip - أرشيف جميع الملفات اللازمة لتجميع BPNN. dll في C ++ بن Predictor. mq4 - مؤشر التنبؤ الأسعار المفتوحة في المستقبل بن التنبؤ مع Smoothing. mq4 - مؤشر التنبؤ أملس أسعار مفتوحة.
الملف BPNN. cpp له وظيفتين: ترين () и تيست (). ويستخدم قطار () لتدريب الشبكة على أساس المدخلات السابقة الموردة وقيم الانتاج المتوقعة. يستخدم اختبار () لحساب مخرجات الشبكة باستخدام الأوزان المحسنة، التي وجدها قطار ().
وفيما يلي قائمة المدخلات (الأخضر) و الإخراج (الأزرق) المعلمات القطار ():
مزدوج إنبترين [] - إدخال البيانات التدريب (1D مجموعة تحمل بيانات 2D، القديمة الأولى)
أوتجارجيت مزدوجة [] - بيانات الهدف الناتج للتدريب (بيانات 2D كما 1D مجموعة، أقدم 1)
أوترين مزدوج [] - إخراج 1D مجموعة لعقد صافي مخرجات من التدريب.
نتر - عدد مجموعات التدريب.
إنت إيو - استخدام إكست. أوزان التهيئة (1 = استخدام إكستينيتوت، 0 = استخدام رند)
مزدوج إكستينتوت [] - الإدخال 1D مجموعة لعقد صفيف 3D من الأوزان الأولية الخارجية.
مزدوج درينوت [] - الناتج 1D مجموعة لعقد مجموعة 3D من الأوزان المدربة.
إنت نوملايرس - # من طبقات بما في ذلك المدخلات والمخفية والمخرجات.
إنت لش [] - عدد الخلايا العصبية في الطبقات. [0] هو عدد المدخلات الصافية.
إنت عفت - نوع وظيفة تنشيط الخلايا العصبية (0: سيغم، 1: تانه، 2: x / (1 + x))
إنت أوف - 1 تمكن وظيفة التنشيط لطبقة الإخراج؛ 0 تعطيل.
إنت نيب - ماكس # من الحقائب التدريب.
مزدوج ماكسمس - ماكس مس. يتوقف التدريب مرة واحدة يتم الوصول ماكسمس.
وفيما يلي قائمة المدخلات (الأخضر) و الإخراج (الأزرق) المعلمات اختبار ():
مزدوج إنبتيست [] - بيانات اختبار المدخلات (البيانات 2D كما 1D صفيف، أقدم أولا)
مزدوج أوتيست [] - الناتج 1D مجموعة لعقد صافي مخرجات التدريب (الأقدم أولا)
إنت نت - # من مجموعات الاختبار.
مزدوج إكستينتوت [] - الإدخال 1D مجموعة لعقد صفيف 3D من الأوزان الأولية الخارجية.
إنت نوملايرس - # من طبقات بما في ذلك المدخلات والمخفية والمخرجات.
إنت لش [] - عدد الخلايا العصبية في الطبقات. [0] هو عدد المدخلات الصافية.
إنت عفت - نوع وظيفة تنشيط الخلايا العصبية (0: سيغم، 1: تانه، 2: x / (1 + x))
إنت أوف - 1 تمكن وظيفة التنشيط لطبقة الإخراج؛ 0 تعطيل.
إن استخدام وظيفة التنشيط في طبقة الإخراج أم لا (قيمة المعلمة أوف) يعتمد على طبيعة المخرجات. وإذا كانت النواتج ثنائية، وهي الحالة في كثير من الأحيان في مشاكل التصنيف، ينبغي استعمال وظيفة التنشيط في طبقة المخرجات (أوف = 1). من فضلك، الانتباه إلى أن وظيفة التنشيط # 0 (السيني) لديها 0 و 1 مستويات مشبعة في حين أن وظائف التنشيط # 1 و 2 لها -1 و 1 المستويات. إذا كانت مخرجات الشبكة هي التنبؤ بالسعر، فلا حاجة إلى وظيفة التنشيط في طبقة المخرجات (أوف = 0).
أمثلة على استخدام مكتبة ن:
بن Predictor. mq4 - يتنبأ الأسعار المفتوحة في المستقبل. مدخلات الشبكة هي التغيرات النسبية في الأسعار:
حيث يحسب التأخير [i] كرقم فيبوناتشي (1،2،3،5،8،13،21 ..). خرج الشبكة هو التغير النسبي المتوقع للسعر التالي. يتم إيقاف وظيفة التنشيط في طبقة الإخراج (أوف = 0).
إكسترن إنت إنتبار - آخر شريط في البيانات الماضية.
إكسترن إنت فوتبارس - عدد من الحانات المستقبلية للتنبؤ.
إكستيرن إنت نوملايرس - # من الطبقات بما في ذلك المدخلات، مخفي & أمب؛ الإخراج (2..6)
إكسترنال إنت نومينبوتس - # أوف إنبوتس.
إكستن إنت numNeurons1 - عدد الخلايا العصبية في الطبقة الأولى المخفية أو المخرجات.
إكستن إنت numNeurons2 - عدد الخلايا العصبية في الطبقة الثانية المخفية أو المخرجات.
إكستن إنت numNeurons3 - عدد الخلايا العصبية في الطبقة الثالثة المخفية أو المخرجات.
إكستن إنت numNeurons4 - عدد الخلايا العصبية في الطبقة الرابعة المخفية أو المخرجات.
إكستن إنت numNeurons5 - عدد الخلايا العصبية في الطبقة الخفية الخامسة أو المخرجات.
إكسترنال نتر - عدد مجموعات التدريب.
إكسترنال إنت نيب - ماكس # من العصور.
إكسترن إنت ماكسمبور - يحدد ماكسمز = 10 ^ ماكسمسيبور؛ توقف التدريب & لوت؛ maxMSE.
إكسترن إنت إنت - نوع النشاط. فونكتيون (0: سيغم، 1: تانه، 2: x / (1 + x))
مؤشر مؤامرات ثلاثة منحنيات على الرسم البياني:
اللون الأحمر - توقعات الأسعار المستقبلية.
بن Predictor. mq4 - يتوقع مستقبل تمهيد أسعار مفتوحة. ويستخدم إما التمهيد مع فترة سموثبر.
نسخ ملف مغلق BPNN. DLL إلى C: \ بروغرام فيليز \ ميتاترادر 4 \ إكسيرتس \ ليبراريز.
يمكنك أيضا ترجمة ملف دل الخاص بك باستخدام رموز المصدر في BPNN. zip.
شبكة مع ثلاث طبقات (نوملايرس = 3: إدخال واحد، واحد مخفي وإخراج واحد) يكفي لغالبية العظمى من الحالات. وفقا ل سيبينكو نظرية (1989)، شبكة مع طبقة مخفية واحدة قادرة على تقريب أي وظيفة مستمرة متعددة المتغيرات إلى أي درجة المطلوب من الدقة. يمكن لشبكة ذات طبقتين مخفيتين تقريب أي وظيفة متقطعة ومتعددة المتغيرات:
يظهر الرسم البياني أدناه الدالة الخطية y = b * x (x-إنبوت، y-أوتبوت) التي تكون مخرجاتها تالفة بسبب الضوضاء. ويؤدي هذا الضجيج المضاف إلى إخراج النواتج المقاسة للوظيفة (النقاط السوداء) من خط مستقيم. يمكن نمذجة الدالة y = f (x) بواسطة الشبكة العصبية الأمامية للأعلاف. يمكن تركيب الشبكة ذات عدد كبير من الأوزان على البيانات المقاسة مع خطأ صفر. ويظهر سلوكها كما منحنى أحمر يمر من خلال جميع النقاط السوداء. ومع ذلك، فإن هذا المنحنى الأحمر لا علاقة له بالدالة الخطية الأصلية y = b * x (الأخضر). وعندما تستخدم هذه الشبكة المفرطة للتنبؤ بالقيم المستقبلية للوظيفة y (x)، ستؤدي إلى أخطاء كبيرة بسبب العشوائية للضوضاء المضافة.
مؤشر الشبكة العصبية الفوركس.
لتحقيق النجاح في هذا السوق، تحتاج إلى أن يكون التفكير إلى الأمام. على التحدث مع المحاربين القدامى، وسوف تعرف مدى التركيز الذي وضعوه على التنبؤ بأسعار العملات. في نواح كثيرة، يبدو الحق. الفوركس هو بعد كل تبادل العملات، ومن أجل التجارة بها بشكل صحيح، تحتاج إلى معرفة كيفية يتصرفون الحاضر وكيف سيكونون في الأوقات المقبلة. أحد الطرق الجيدة للذهاب إليه هو استخدام مؤشر الشبكة العصبية فوركس.
ويعتقد الخبراء - انها جيدة حقا في التنبؤ تحركات الأسعار القادمة!
ويعرف هذا المؤشر بتنبؤاته المالية الدقيقة وكذلك في تصور أنماط الأنظمة غير الخطية. بعض الخبراء & [رسقوو]؛ الدولة في العديد من الطرق سوق الفوركس هو غير الخطية انشاء والتي هي شاقة لفك.
ومع ذلك، يرى هؤلاء الخبراء أيضا أن السوق يجلب أيضا أنماط محددة يمكن وضعها في استراتيجيات التداول والقرارات. كل هذه النظريات والأساليب التي يستخدمها التجار لتحديد أنماط الأسعار هي دليل واضح على ذلك. وهذا هو السبب في أن لديهم الكثير من الثقة في مؤشر العملات الأجنبية المؤشر العصبي.
الإحاطة الإعلامية المستنيرة حول هذه الأداة التداول الشبكة العصبية:
يستضيف هذا المؤشر وضع قابل للتعديل يتكون من طبقات عديدة وهي المدخلات والمخرجات والطبقات المخفية. عرض التوافق المناسب مع ميتاتريدر 4، هذا المؤشر توقعات أسعار مفتوحة في المستقبل.
خذ مثالا - لديك زوج عملتك ك غبب و أوسد، وقمت بتضمين هذا المؤشر على الرسم البياني التجاري الخاص بك. سوف تجد أن هذا مؤشر الشبكة العصبية الفوركس مؤامرات ثلاثة منحنيات متميزة على الرسوم البيانية، ولكل منها لون التفريق الخاصة بهم.
والثور؛ تشير المنحنيات الحمراء إلى توقعات أسعار العملة للمستقبل.
والثور؛ منحنيات اللون الأسود تسليط الضوء على تلك التدريب السابق أسعار مفتوحة تستخدم النواتج السابقة.
والثور؛ وأخيرا، تلك التي تنطوي على منحنيات زرقاء تنطوي على إخراج الشبكة الموجودة لديك.
كيف يعمل جمع البيانات؟
ويذكر المستخدمون السابقون أن الخطوة الأساسية هي جمع المعلومات على أساسها هيكل التداول الخاص بك. ولكن نظرا لأنه ليس من الممكن أن تتراكم هذه الكتلة من البيانات، يمكنك أن تفعل ذلك في قطاعات منفصلة.
كل من هذه القطاعات التي تضم العديد من بار إعداد المتابعة من قبل التجار هو متاح. هذه المجموعات شريط حول شريط التالية وتعرف باسم شريط المستقبل. كل من هذه المعلومات، يتم جمعها على ورقة انتشار وتشير إلى فتح، إغلاق، عالية ومنخفضة.
هذه البيانات تستورد داخل مؤشرات العملات الأجنبية الشبكة العصبية ويعطيك اقتراحات لتحديد واحد كنت تنوي استخدام. إذا كنت تبحث عن أسعار مفتوحة، ثم يمكنك تخصيص فقط المدخلات البيانات المفتوحة. اعتمادا على نوع من المخرجات التي تريد استخدامها، يمكنك إعداده والبدء في ممارسة التداول الخاصة بك.
إنه مربك قليلا إذا كنت تسمع عن ذلك للمرة الأولى. ولكن، عندما كنت فعلا استخدامه لبعض التداول، وسوف نفهم أنه في الواقع مثيرة للاهتمام للغاية وممتعة للعمل مع.
حقيقة أن هذا مؤشر الشبكة العصبية الفوركس يعطيك توقعات سعر دقيقة في كل وقت هو نقطة زائد كبيرة. وبطرق عديدة، هذه الميزة نفسها هي ما يمكن أن يحدث الفرق بين الفوز والخسارة.
يعكس محتوى هذه المقالة رأي المؤلف ولا يعكس بالضرورة الموقف الرسمي ل ليتيفوريكس. إن المواد المنشورة في هذه الصفحة مقدمة لأغراض إعلامية فقط ولا ينبغي اعتبارها تقديم المشورة الاستثمارية لأغراض التوجيه 2004/39 / إيك.
المشاركات الاخيرة:
أكتوبر 24، 2017 9:40:14 بيإم.
عند التداول يجب أن تأتي عبر السهام والمظاهرات تظهر مضحك، والحق على أنماط شمعدان الخاص بك. ومع عدم وجود معرفة فيما يتعلق بذلك، والسؤال الأول.
أكتوبر 24، 2017 9:33:50 بيإم.
عالم الفوركس يكتسب بشكل متعاظم في شعبيته مع كل مرحلة تمر. الطبيعة توسعية لهذا المشروع، انها أكثر من 5 تريليون $ دوران و كاردينا.
24 أكتوبر، 2017 9:29:19 بيإم.
من بين جميع الفوائد التي تحميل مجاني مؤشر التنبؤ الفوركس لديها، واحدة من أهمها هو التجار أفضل في وقت أقل. النظر في الوضع o.
في هذا المشروع العملة، وهناك نوعان من حالات السوق التي التاجر دائما.
ببساطة تتحدث أشكال المغلف مع اثنين من خطوط المتوسط المتحرك. الأكثر وضوحا.
الحصول على المواد الحصرية وأدوات تحليلية إضافية من قبل مخالب وقرون.
عزيزي التجار! اتبع قناة برقية لدينا والحصول على حزمة تحليلية فعالة اليومية تسليمها من قبل خبراء حقيقيين:
- استعراضات تحليلية فريدة من نوعها والتنبؤات؛
- التحليل الفني والأساسي، وتحليل الموجات؛
- آراء الخبراء ومواد التدريب.
هذا الموقع يستخدم ملفات تعريف الارتباط لتعزيز تجربتك. من خلال الاستمرار في تصفح الموقع، فإنك توافق على استخدامنا لملفات تعريف الارتباط.
تحذير المخاطر: ينطوي التداول في الأسواق المالية على مخاطر. عقود الفروقات (كفدس) هي منتجات مالية معقدة يتم تداولها على الهامش. تداول العقود مقابل الفروقات يحمل مستوى عال من المخاطر حيث أن الرافعة المالية يمكن أن تعمل على حد سواء لصالحك وعيبك. ونتيجة لذلك، قد لا تكون العقود مقابل الفروقات مناسبة لجميع المستثمرين لأنك قد تخسر كل رأس مالك المستثمر. يجب أن لا تخاطر أكثر مما كنت على استعداد لتخسره. قبل اتخاذ قرار التجارة، تحتاج إلى التأكد من أنك تفهم المخاطر المعنية مع الأخذ بعين الاعتبار أهدافك الاستثمارية ومستوى الخبرة. انقر هنا للحصول على الإفصاح الكامل عن المخاطر.
ليتيفوريكس للاستثمار المحدودة المسجلة في جزر مارشال (رقم التسجيل 63888) وينظم وفقا لقانون الشركات التجارية جزر مارشال. عنوان الشركة: أجيلتك الطريق، جزيرة أجيلتك، ماجورو، جزر مارشال MH96960. البريد الإلكتروني: عملاء @ ليتيفوريكس.
ليتيفوريكس إنفستمينتس ليميتد لا تقدم الخدمة للمقيمين في الولايات المتحدة وإسرائيل وبلجيكا واليابان.
لقد كان وصولك إلى هذا الموقع محدودا.
تم تقييد دخولك إلى هذه الخدمة بشكل مؤقت. يرجى المحاولة مرة أخرى في بضع دقائق. (رمز استجابة هتب 503)
السبب: تم تقييد الوصول من منطقتك مؤقتا لأسباب أمنية.
ملاحظة هامة لمشرفي الموقع: إذا كنت مسؤولا عن ملاحظة موقع الويب هذا، فقد تم تقييد وصولك لأنك قمت بكسر أحد قواعد حظر وردفنس المتقدمة. سبب وصولك المحدود هو: "تم تقييد الوصول من منطقتك مؤقتا لأسباب أمنية." .
إذا كنت مسؤول الموقع وتم قفله عن طريق الخطأ، يرجى إدخال بريدك الإلكتروني في المربع أدناه وانقر على "إرسال". إذا كان عنوان البريد الإلكتروني الذي تدخله ينتمي إلى مشرف موقع معروف أو شخص ما لتلقي تنبيهات وردفنس، فسنرسل إليك رسالة إلكترونية لمساعدتك في استعادة إمكانية الدخول. يرجى قراءة هذه الأسئلة الشائعة إذا كان هذا لا يعمل.
تم إنشاؤها بواسطة وردفنس في الجمعة، 29 ديسمبر 2017 3:31:05 غمت.
استخدام الشبكات العصبية في ميتاتريدر.
المقدمة.
كثير منكم ربما قد نظرت في إمكانية استخدام الشبكات العصبية في إي الخاص بك. وكان هذا الموضوع حار جدا خاصة بعد عام 2007 بطولة التداول الآلي والفوز مذهلة من قبل أفضل مع نظامه على أساس الشبكات العصبية. وقد غمرت العديد من منتديات الإنترنت بموضوعات تتعلق بالشبكات العصبية وتداول العملات الأجنبية. للأسف كتابة تنفيذ MQL4 الأصلي من ن ليست سهلة. فإنه يتطلب بعض مهارات البرمجة والنتيجة لن تكون فعالة جدا خاصة إذا كنت ترغب في اختبار النتيجة النهائية في اختبار على عدد كبير من البيانات.
في هذه المقالة سوف تظهر لك كيف يمكنك استخدام متاح بحرية (تحت لغبل)، الشهير شبكة الشبكة العصبية الصناعية السريعة (فان) في التعليمات البرمجية MQL4 مع تجنب بعض العقبات والقيود. وعلاوة على ذلك أفترض أن القارئ هو على دراية الشبكات العصبية الاصطناعية (آن) والمصطلحات المتعلقة بهذا الموضوع ولذا فإنني سوف تركز على الجوانب العملية لاستخدام تنفيذ معين من آن في MQL4 اللغة.
ميزات فان.
ولكي نفهم تماما إمكانيات تنفيذ الشبكات الإذاعية الساتلية (فان)، ينبغي للمرء أن يتعرف على وثائقه والوظائف الأكثر استخداما. استخدام نموذجي من فان هو إنشاء شبكة فيدفوروارد بسيطة، وتدريبه مع بعض البيانات وتشغيل. ويمكن بعد ذلك حفظ الشبكة التي تم إنشاؤها والمدربة إلى ملف واستعادتها في وقت لاحق لمزيد من الاستخدام. لإنشاء واحد آن يجب استخدام fann_create_standard () الدالة. دعونا نرى بناء الجملة:
حيث يمثل num_layers العدد الإجمالي للطبقات بما في ذلك طبقة الإدخال والإخراج. يمثل لنوم والوسائط التالية عدد الخلايا العصبية في كل طبقة بدءا من طبقة الإدخال وتنتهي بطبقة الإخراج. لإنشاء شبكة مع طبقة مخفية واحدة مع 5 الخلايا العصبية، 10 المدخلات و 1 الإخراج واحد يجب أن نسميها على النحو التالي:
وبمجرد أن يتم إنشاء آن ستكون العملية التالية لتدريبه مع بعض البيانات المدخلات والمخرجات. وأبسط طريقة للتدريب هو التدريب التدريجي الذي يمكن تحقيقه من خلال الوظيفة التالية:
تأخذ هذه الدالة المؤشر إلى بنية فان التي تم إرجاعها سابقا بواسطة fann_create_standard () وكل من متجه بيانات الإدخال ومتجه بيانات الإخراج. نواقل المدخلات والمخرجات هي مجموعة من نوع fann_type. هذا النوع هو في الواقع نوع مزدوج أو تطفو، اعتمادا على الطريقة التي يتم تجميعها فان. في هذا التنفيذ فإن ناقلات المدخلات والمخرجات ستكون صفائف مزدوجة.
وبمجرد أن يتم تدريب آن ستكون الميزة المطلوبة التالية هي تشغيل تلك الشبكة. وتنفذ وظيفة التنفيذ على النحو التالي:
هذه الوظيفة تأخذ المؤشر إلى بنية فان تمثل الشبكة التي تم إنشاؤها مسبقا و متجه الإدخال من نوع محدد (مصفوفة مزدوجة). القيمة التي تم إرجاعها هي مجموعة متجه الإخراج. هذه الحقيقة مهمة بالنسبة لشبكة أوتبوت واحدة نحن ألويس الحصول على صفيف عنصر واحد مع قيمة الانتاج بدلا من قيمة الانتاج نفسها.
لسوء الحظ، فإن معظم وظائف فان تستخدم مؤشرا على بنية فنية تمثل آن والتي لا يمكن التعامل معها مباشرة بواسطة MQL4 والتي لا تدعم الهياكل كنماذج بيانات. لتجنب هذا الحد علينا أن التفاف ذلك بطريقة أو إخفاء من MQL4. الطريقة الأسهل هي إنشاء مجموعة من مؤشرات الفن الهيكلية التي تحمل القيم الصحيحة والرجوع إليها مع فهرس يمثله متغير إنت. وبهذه الطريقة يمكننا استبدال نوع متغير غير معتمد مع دعم واحد وإنشاء مكتبة المجمع الذي يمكن دمجها بسهولة مع رمز MQL4.
التفاف حول فان.
كما لأفضل معرفتي MQL4 لا يدعم وظائف مع قائمة الحجج المتغيرة لذلك علينا أن نتعامل مع ذلك أيضا. من ناحية أخرى إذا تم استدعاء الدالة C (من طول الوسيطة المتغيرة) مع وسيطات كثيرة جدا يحدث خطأ حتى نتمكن من افتراض عدد ثابت ثابت من الوسيطات في الدالة MQL4 تمريرها إلى مكتبة C. سوف تبدو وظيفة المجمع الناتجة كما يلي:
قمنا بتغيير fann_ الرائدة مع f2m_ (الذي يقف على فان إلى مقل)، استخدام عدد ثابت من الحجج (4 طبقات) وقيمة العودة هو الآن فهرس إلى صفيف داخلي من أنس عقد البيانات فان الهيكل المطلوبة من قبل فان لتشغيل. بهذه الطريقة يمكننا بسهولة استدعاء هذه الوظيفة من داخل رمز مقل.
الشيء نفسه ينطبق على:
أخيرا، وليس آخرا هو حقيقة أنه يجب تدمير الخاص بك مرة واحدة خلق آن من خلال الدعوة إلى:
للافراج عن مقابض آن يجب تدمير الشبكات في ترتيب عكسي مما تم إنشاؤها إنشاؤها. بدلا من ذلك يمكنك استخدام:
ولكن أنا متأكد من أن بعض منكم قد تفضل حفظ شبكة المدربين لاستخدامها لاحقا مع:
وبطبيعة الحال يمكن تحميل الشبكة المحفوظة في وقت لاحق (أو بالأحرى إعادة إنشائها) مع:
مرة واحدة ونحن نعرف الوظائف الأساسية قد نحاول استخدام ذلك في منطقتنا إي، ولكن أولا نحن بحاجة إلى تثبيت حزمة Fann2MQL.
تثبيت Fann2MQL.
لتسهيل استخدام هذه الحزمة لقد قمت بإنشاء المثبت مسي الذي يحتوي على كافة التعليمات البرمجية المصدر بالإضافة إلى مكتبات بريكومبيلد و Fann2MQL. mqh ملف رأس يعلن كافة وظائف Fann2MQL.
إجراء التثبيت هو واضح تماما. أولا كنت على علم بأن Fann2MQL هو تحت رخصة غل:
تركيب Fann2MQL، الخطوة 1.
ثم اختر المجلد لتثبيت الحزمة. يمكنك استخدام البرنامج الافتراضي فيليز \ Fann2MQL \ أو تثبيت مباشرة في ميتا ترادر \ إكسيرتس \ الدليل. في وقت لاحق وضع جميع الملفات مباشرة إلى أماكنهم وإلا سيكون لديك لنسخها يدويا.
تركيب Fann2MQL، الخطوة 2.
يقوم المثبت بوضع الملفات في المجلدات التالية:
إذا اخترت تثبيت في مجلد Fann2MQL مخصص، يرجى نسخ محتوى المجلدات الفرعية تشمل والمكتبات في الدليل المناسب ميتا التاجر الخاص بك.
يقوم المثبت بتثبيت مكتبة فان أيضا في مجلد مكتبات النظام (ويندوز \ system32 في معظم الحالات). يحتوي المجلد سرك كافة التعليمات البرمجية المصدر Fann2MQL. يمكنك قراءة التعليمات البرمجية المصدر التي هي الوثائق النهائية إذا كنت بحاجة إلى أي مزيد من المعلومات حول الداخلية. يمكنك أيضا تحسين التعليمات البرمجية وإضافة ميزات إضافية إذا أردت. أنا أشجعك على أن ترسل لي بقع الخاص بك إذا كنت تنفذ أي شيء للاهتمام.
استخدام الشبكات العصبية في إي الخاص بك.
مرة واحدة يتم تثبيت Fann2MQL يمكنك البدء في كتابة إي الخاص بك أو مؤشر. هناك الكثير من الاستخدام المحتمل لل ن. يمكنك استخدامها للتنبؤ تحركات الأسعار في المستقبل ولكن نوعية مثل هذه التوقعات وإمكانية الاستفادة الحقيقية من أنه من المشكوك فيه. يمكنك محاولة كتابة الاستراتيجية الخاصة بك باستخدام تقنيات التعلم التعزيز، ويقول Q - التعلم أو شيء مماثل. قد تحاول استخدام ن كمرشح إشارة ل إي الخاص بك الاستدلالي أو الجمع بين كل هذه التقنيات بالإضافة إلى كل ما تريد حقا. كنت محدودة من خيالك فقط.
هنا سوف تظهر لك مثالا على استخدام ن كمرشح بسيط للإشارات التي تم إنشاؤها بواسطة ماسد. من فضلك لا تعتبر ذلك إي قيمة ولكن كمثال تطبيق Fann2MQL. أثناء شرح طريقة المثال إي: NeuroMACD. mq4 يعمل سوف تظهر لك كيف Fann2MQL يمكن استخدامها بشكل فعال في مقل.
أول شيء لكل إي هو إعلان المتغيرات العالمية، ويعرف ويتضمن القسم. هنا هو بداية نيوروماسد تحتوي على تلك الأشياء:
يقول الأمر تضمين لتحميل ملف رأس Fann2MQL. mqh يحتوي على إعلان جميع وظائف Fann2MQL. بعد ذلك تتوفر كافة وظائف حزمة Fann2MQL للاستخدام في البرنامج النصي. يعرف ثابت ANN_PATH مسار تخزين الملفات وتحميلها بواسطة شبكات فان مدربة. تحتاج إلى إنشاء هذا المجلد أي C: \ آن. يحتوي ثابت نيم على اسم إي هذا، والذي يتم استخدامه لاحقا لتحميل ملفات الشبكة وحفظها. معلمات الإدخال واضحة إلى حد ما وتلك التي لم يتم شرحها لاحقا، فضلا عن المتغيرات العالمية.
نقطة الدخول لكل إي هي دالة إينيت ():
وتتحقق أولا من تطبيق منطقة العد لتصحيح فترة الإطار الزمني. يحتوي المتغير أننبوتس على عدد من مدخلات الشبكة العصبية. كما سنستخدم 3 مجموعات من الوسيطات المختلفة التي نريد أن تكون قابلة للقسمة من قبل 3. يتم حساب أنباث لتعكس اسم إي و ماجنومبر، والذي يتم حسابه من وسيطات الإدخال سلوما، فاستما و سيغنالما التي تستخدم لاحقا لتشوير مؤشر ماسد . بمجرد أن يعرف أنباث إي يحاول تحميل الشبكات العصبية باستخدام ann_load () وظيفة وأنا سوف تصف أدناه. ويقصد نصف الشبكات المحملة للتصفية طويلة المدى والنصف الآخر مخصص للسراويل القصيرة. يستخدم المتغير أنسلودد للإشارة إلى حقيقة أن جميع الشبكات تم تهيئة بشكل صحيح. كما كنت قد لاحظت هذا المثال إي تحاول تحميل شبكات متعددة. أشك في أنه من الضروري حقا في هذا التطبيق حتى الآن أردت أن تظهر لك إمكانات كاملة من Fann2MQL، والذي هو التعامل مع شبكات متعددة في نفس الوقت ويمكن معالجتها في موازاة الاستفادة من النوى متعددة أو وحدات المعالجة المركزية. لجعله ممكنا Fann2MQL هو الاستفادة من تقنية Intel® خيوط كتل بناء. يتم استخدام الدالة f2M_parallel_init () لتهيئة تلك الواجهة.
إليك الطريقة التي استخدمتها في تهيئة الشبكات:
كما يمكنك معرفة ما إذا كان f2M_create_from_file () فشل، والتي يشار إليها قيمة الإرجاع السلبية، يتم إنشاء الشبكة مع الدالة f2M_create_standard () مع وسيطات تشير إلى أن الشبكة التي تم إنشاؤها يجب أن يكون 4 طبقات (بما في ذلك المدخلات والمخرجات)، مدخلات أنينبوت، الخلايا العصبية انبوت في الطبقة المخفية الأولى، أنينبوت / 2 + 1 الخلايا العصبية في طبقة خفية 2 و 1 الخلايا العصبية في طبقة الانتاج. يتم استخدام f2M_set_act_function_hidden () لتعيين وظيفة تنشيط الطبقات المخفية إلى SIGMOID_SYMMETRIC_STEPWISE (يرجى الرجوع إلى وثائق فان fann_activationfunc_enum) ونفس الشيء ينطبق على طبقة الإخراج. ثم هناك دعوة ل f2m_randomize_weights () الذي يستخدم لتهيئة الأوزان اتصال الخلايا العصبية داخل الشبكة. هنا استخدمت مجموعة & لوت؛ -0.4؛ 0.4 و GT. ولكن يمكنك استخدام أي أخرى اعتمادا على التطبيق الخاص بك.
في هذه المرحلة ربما كنت قد لاحظت ديبوغ () وظيفة اعتدت بضع مرات. انها واحدة من أبسط الطرق لتغيير مستوى مطول من إي الخاص بك. جنبا إلى جنب مع المعلمة المدخلات ديبوجليفيل يمكنك ضبط الطريقة التي التعليمات البرمجية الخاصة بك ينتج إخراج التصحيح.
إذا كانت الوسيطة الأولى الدالة تصحيح () مستوى التصحيح أعلى من ديبوجليفيل الدالة لا تنتج أي إخراج. إذا كان أقل من يساوي سلسلة نصية يتم طباعتها. إذا كان مستوى التصحيح 0 سلسلة "إرور:" إلحاق إلى البداية. بهذه الطريقة يمكنك تقسيم التصحيح التي تنتجها التعليمات البرمجية إلى مستويات متعددة. الأكثر أهمية هي على الأرجح الأخطاء بحيث يتم تعيينها إلى مستوى 0. سيتم طباعتها إلا إذا قمت بتخفيض ديبوغليفيل إلى أقل من 0 (الذي لا ينصح). في المستوى 1 سيتم طباعة بعض المعلومات المهمة، مثل تأكيد نجاح تحميل الشبكة أو إنشاءها. في المستوى 2 أو أعلى أهمية المعلومات المطبوعة تتناقص تدريجيا.
قبل شرح مفصل من بداية () وظيفة، وهو طويل جدا، وأنا بحاجة لتظهر لك بعض المزيد من الوظائف التي تهدف إلى إعداد إدخال الشبكة وتشغيل الشبكات الفعلية:
يتم استخدام الدالة ann_prepare_input () لإعداد اسم الإدخال للشبكات (وبالتالي الاسم). والغرض من ذلك هو واضح جدا، ولكن هذه هي النقطة التي يجب أن أذكركم أن البيانات المدخلات يجب أن تطبيع بشكل صحيح. ليس هناك تطبيع متطورة في هذه الحالة، أنا ببساطة استخدام ماكد الرئيسية وقيم الإشارة التي لا تتجاوز أبدا النطاق المطلوب على البيانات المحسوبة. في المثال الحقيقي ربما يجب أن تولي المزيد من الاهتمام لهذه المشكلة. كما ربما كنت قد تشك في اختيار الحجج المدخلات الصحيحة لإدخال الشبكة، ترميز ذلك، والتحلل والتطبيع هي واحدة من أهم العوامل في معالجة الشبكة العصبية.
كما ذكرت قبل Fann2MQL لديه القدرة على توسيع وظائف طبيعية من ميتاترادر، وهذا هو موازية معالجة متعددة الشبكات العصبية. الحجة العالمية باراليل تسيطر على هذا السلوك. تقوم الدالة run_anns () بتشغيل كل الشبكات التي تم تشغيلها وتحصل على مخرجاتها وتخزينها في مجموعة أنوتبوت []. وظيفة anns_run_parallel هي المسؤولة عن التعامل مع وظيفة في طريقة مؤشرات الترابط. وهو يطلق على f2m_run_parallel () الذي يأخذ كحجة أولى عدد الشبكات التي يجب معالجتها، أما الوسيطة الثانية فهي مصفوفة تحتوي على مقابض على جميع الشبكات التي ترغب في تشغيلها توفر متجه الإدخال كوسيطة ثالثة. يجب تشغيل جميع الشبكات على نفس بيانات المدخلات. يتم الحصول على الإخراج من الشبكة عن طريق مكالمات متعددة إلى f2m_get_output ().
الآن دعونا نرى وظيفة البداية ():
سأصف ذلك بإيجاز كما هو معلق بشكل جيد جدا. وتحقق التجارة () ما إذا كان مسموحا لها بالتداول. في الأساس يتحقق المتغير أنسلودد مشيرا إلى أن جميع السنوات تم تهيئة بشكل صحيح، ثم يتحقق من الحد الأدنى من الإطار الزمني الصحيح رصيد الحساب الحد الأدنى وفي نهاية المطاف يسمح للتداول فقط على القراد الأول من شريط جديد. تم وصف اثنين من الدالة التالية التي تستخدم لإعداد مدخلات الشبكة وتشغيل معالجة الشبكة فقط بضعة أسطر أعلاه. بعد ذلك نحسب ونضع في المتغيرات لمعالجة في وقت لاحق قيم ماسد من إشارة والخط الرئيسي لآخر تراكم بار والسابقة. يتم حذف الشريط الحالي لأنه لم يتم بناء حتى الآن، وربما سيتم إعادة رسم. يتم حساب سيلسينال و بويسينال وفقا لإشارة ماسد والخط الرئيسي كروس أوفر. وتستخدم كل من الإشارات لمعالجة طويلة وقصيرة الموقف التي هي متناظرة لذلك أنا سوف تصف فقط حالة للحصول على أطوال.
متغير لونغتيكيت يحمل رقم التذكرة للموقف المفتوح حاليا. إذا كان يساوي -1 يتم فتح أي موقف حتى إذا تم تعيين بويسينال التي قد تشير إلى فرصة جيدة لفتح موقف طويل. إذا لم يتم تعيين نيوروفيلتر متغير يتم فتح موقف طويل وهذا هو الحال دون تصفية الشبكة العصبية من الإشارات - يتم إرسال النظام للشراء. عند هذه النقطة المتغير لونجينبوت المقصود أن نتذكر إنبوتفيكتور التي أعدتها ann_prepare_input () لاستخدامها لاحقا.
إذا كان متغير لونغتيسكت يحمل رقم تذكرة صالحة يتحقق إي ما إذا كان لا يزال فتح أو تم إغلاقه من قبل ستوبلوس أو تاكيبروفيت. إذا لم يتم إغلاق الأمر لا يحدث شيء، ولكن إذا تم إغلاق الأمر يتم تشغيل ناقلات train_output []، التي لديها واحد فقط إتبوت، لعقد قيمة -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: \\ آن \\.
مرة واحدة لدينا شبكات المدربين حان الوقت لاختبار كيف يتصرف. أولا سنحاول ذلك على بيانات التدريب. تغيير نيوروفيلتر إلى صحيح و سافان إلى كاذبة وبدء اختبار. والنتيجة التي حصلت عليها هو مبين أدناه. لاحظ أنه قد يختلف قليلا بالنسبة لك حالة كما أن هناك بعض العشوائية داخل الشبكات في الأوزان اتصال الخلايا العصبية المقدمة في عملية تهيئة الشبكة (في هذا المثال استعملت دعوة صريحة إلى f2M_randomize_weights () داخل ann_load ()).
النتيجة التي تم الحصول عليها على بيانات التدريب مع إشارة تصفية العصبية تحولت على.
صافي الربح هو أكبر قليلا (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. dk/fann/!
آخر سكريبتم.
بعد كتابة هذه المقالة لقد وجدت خطأ ضئيل في NeuroMACD. mq4. تم تغذية الدالة أوردركلوس () للوضع القصير مع رقم تذكرة الموضع الطويل. وأدى ذلك إلى وجود استراتيجية منحرفة كانت أكثر عرضة للاحتفاظ بالسراويل القصيرة والطويلة:
في الإصدار الصحيح من البرنامج النصي لقد قمت بإصلاح هذا الخطأ وإزالة إستراتيجية أوردركلوس () على الإطلاق. هذا لم يغير الصورة العامة لتأثير الترشيح العصبي على منطقة العد، ولكن شكل منحنى التوازن كان مختلفا تماما. يمكنك العثور على كلا الإصدارين من إي هذا المرفق بهذه المقالة.
No comments:
Post a Comment