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

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

أفضل وسطاء الخيارات الثنائية في الولايات المتحدة الأمريكية
أفضل الفوركس كفد وسيط
تداول العملات الأجنبية في دورات تشيناي


تحليل فوريكس الحالي الخيارات الثنائية شم أسعار شراء الفوركس الهند أفضل الأسهم منصة التداول الخيارات الخيارات الثنائية نسخ التداول الفوركس التخفي تحميل مجاني

الميكانيكية الفوركس. التداول في سوق الفوركس باستخدام استراتيجيات التداول الميكانيكية. الشبكات العصبية في التداول: بناء تجارة قوية & # 8220؛ الدماغ & # 8221؛ مع عدة ن. دعنا نبدأ الأسبوع مع بعض الأخبار الجيدة: o). خلال العامين الماضيين كان تطوير أنظمة التعلم الآلي أولوية كبيرة بالنسبة لي. هذه التقنيات توفر لنا حلم التكيف الذاتي بشكل دائم تطبيقات التداول حيث يتم تعديل قرارات التداول باستمرار لتتناسب مع أحدث البيانات. على الرغم من أنني أدرك أنه حتى هذا المستوى من القدرة على التكيف لا يضمن أي ربحية & # 8211؛ حيث قد تصبح النماذج الأساسية غير مجدية في ظل بعض الشروط الجديدة & # 8211؛ فإنه يوفر لنا قدرا أكبر من الثقة فيما يتعلق بقدرتنا على التنبؤ بأداة سوق معينة للمضي قدما. في اليوم & # 8217؛ s و رسكو؛ s s و رسكو؛ ليالي و رسكو؛ ليالي و رسكو؛ ليالي و رسكو؛ لي أن تظهر لك آخر التطورات بلدي في العالم من الشبكات العصبية، حيث لقد حققت أخيرا ما أعتبر نتائج الاختبارات التاريخية المعلقة على أساس تقنيات التعلم الآلي. سأقوم من خلال هذه المقالة بمناقشة الأساليب المختلفة التي ذهبت إلى هذا النظام الجديد، وكيف أن مفتاح نجاحه جاء من تجميع بعض ناجحة سابقا & # 8211؛ غير معلقة & # 8211؛ تطبيقات التداول. أولا وقبل كل شيء أود أن تصف الطريقة التي وضع استراتيجيات الشبكة العصبية بحيث يمكنك فهم أفضل أنظمتي وآخر التطورات. تم تصميم أنظمة تداول الشبكة العصبية لدينا بحيث يتم إعادة تدريبهم دائما من الأوزان المعشاة حديثا على كل شريط يومي جديد باستخدام أشرطة N السابقة (عادة ما تستخدم البيانات لحوالي 200-500 يوما)، ثم اتخاذ قرار تداول فقط للشريط اليومي التالي . تتم عملية إعادة التدريب على كل شريط من أجل تجنب أي منحنى المناسب لوقت بدء معين أو تردد التدريب وأوزان إعادة تعيين تماما لتجنب أي الاعتماد على السلوك التدريب السابق. الشبكات العصبية التي برمجتها الاستفادة من إطارنا F4 البرمجة ومكتبة فان (الشبكة العصبية الاصطناعية السريعة)، والتي هي جوهر تنفيذ التعلم الآلي. لم يتم تحسين طوبولوجيا الشبكة ضد الربحية بل تم تعيينها ببساطة كحد أدنى من الخلايا العصبية اللازمة لتحقيق التقارب ضمن عدد معقول من فترات التدريب. وبعض المتغيرات، مثل عدد مدخلات التدريب والأمثلة المستخدمة، تترك بالفعل كمعلمات نموذجية. الآن بعد أن فهمت أفضل كيف أقترب الشبكات العصبية يمكننا أن نذهب أعمق في عملي في ن. لا بد لي من الاعتراف بأن سعائي لتحسين استراتيجيات التداول الشبكة العصبية قد شغل مع الإحباط. استغرق الأمر وقتا طويلا لتطوير أول نموذج ناجح (نظام التداول سونكو & # 8212؛ الذي هو في الواقع في الربح بعد أكثر من سنة من التداول المباشر) ولكن بعد هذا التطور الأولي لم يكن قادرا على تحسينه (أبعد من بعض التحسينات الصغيرة). بعد هذا قررت ترك هذا النموذج وحده & # 8211؛ وهو أمر معقد حقا في الطبيعة & # 8211؛ ومحاولة تطوير نموذج أبسط نأمل أن يكون من الأسهل تحسينه. هذا هو عندما وضعت نظام بكارين، والذي يستخدم مجموعة أبسط من المدخلات والمخرجات من أجل الوصول إلى مستويات مماثلة من الربحية التاريخية على ور / أوسد. ومع ذلك & # 8211؛ لمواصلة الإحباط & # 8211؛ باكرين واسن & # 8217؛ t من السهل جدا لتحسين كذلك. لقد أحرزت بعض التقدم في تحسين هذه الاستراتيجية التجارية خلال الأسابيع القليلة الماضية ولكن أريد أن أترك هذه المناقشة لمرحلة ما بعد المستقبل (كما أنه يتناول المدخلات). كانت آخر محاولة للتغلب على المشاكل المذكورة أعلاه استراتيجية التداول تابوي، وهو النظام الذي كان مصدر إلهام على مقال يتناول استخدام ن على الصور. استخدام مكتبات تشارتدركتور و ديفيل و فان تمكنت من تنفيذ آلية إنشاء الصور ومعالجتها التي استخدمت الرسوم البيانية اليومية لزوج اليورو مقابل الدولار الأمريكي (انخفاض كبير في أسعارها) لإجراء تنبؤات بشأن يوم التداول التالي. هذا النظام هو مثير جدا للاهتمام لأنه يدل على أن بكسل بسيطة ضمن هذه الرسومات تحتوي على معلومات كافية لاتخاذ القرارات التي لها حافة تاريخية كبيرة. В تابوي هو أيضا مثيرة للاهتمام بمعنى أنه يعالج الرسوم البيانية التجارية، نفس المدخلات التي يستخدمها التجار اليدوي لمعالجة السوق. ولكن هذا النظام لم يكن علاجا سحريا، كما أن تحسين هذه الاستراتيجية كان صعبا للغاية. تابوي هو أيضا من الصعب أن يعود الاختبار (يستغرق وقتا طويلا جدا بسبب خلق صورة وعملية القراءة)، وبالتالي تم تقليل كمية التجارب التي يمكن إجراؤها. بعد إنشاء هذه ال 3 أنظمة كانت الإبداعات ن الجديدة لا شيء. لم أتمكن من تحسينها بشكل كبير ولم أتمكن من العثور على استراتيجية جديدة لإنشاء ن، كان هذا هو السبب الرئيسي الذي جعلني أبدأ بتجربة تقنيات التعلم الآلي الجديدة (مثل المصنفات الخطية، كلتنرز، أجهزة ناقلات الدعم، إلخ. ). ولكن خلال الأسبوع الماضي كان لدي نوع من الغطاس عندما كنت أفكر في الطرق التي يمكن أن تحد من تعرض السوق لهذه الأنظمة بجعلها التجارة أقل بطريقة ما، وأدركت أن حل لمشاكلي كان أمامي كل زمن. الحل لتحسين أداء ثلاثة المصنفات & # 8211؛ وكلها تظهر حواف تاريخية طويلة الأجل & # 8211؛ بسيط & # 8230؛ مجرد وضعها معا لاتخاذ قرارات التداول! : س) بالتأكيد خبرتي مع تقنيات التعلم الآلي الأخرى قال لي أن وضع المصنفين معا لجعل قرارات التداول عموما تحسين الأداء ولكن لم أفكر أبدا في وضع هذه النظم معا لأنني نظرت إليها أساسا كاستراتيجيات التداول منفصلة وليس مجرد صانع القرار تعلم الآلات. ومع ذلك، فإنه من المنطقي تماما لوضع ثلاثة النوى صنع القرار في استراتيجية واحدة: ما أود الآن أن نسمي & # 8220؛ أسيريكويبراين & # 8221؛ ويأتي إلى استنتاجات بشأن قرارات التداول من التنبؤ الذي يتوافق مع التقنيات الثلاثة. وإذا كانت جميعها ذات حواف طويلة الأجل، ينبغي أن يكون لاتفاقها الكلي قدرة تنبؤية أكثر من اتفاقها الجزئي. النتيجة دهشت تماما لي. وقد حسنت استراتيجيات التداول بعض الإحصاءات الأخرى بشكل كبير (أكثر بكثير مما لو تم تداولها معا كنظم داخل محفظة)، علاوة على ذلك، فقد قللت من تعرض السوق بشكل عام للاستراتيجيات بفارق كبير. النظام فقط لديه موقف واحد مفتوح في أي وقت من الأوقات، لكنه يحتاج جميع التنبؤات للاتفاق من أجل الدخول أو الخروج من الموقف. إن الربحية الإجمالية هي الأعلى بين جميع الأنظمة وأن السحب هو الأدنى، وهذا يعني أن أسيريكويبراين يحقق متوسط ​​العائد السنوي إلى الحد الأقصى لنسبة السحب أعلى من أي من تقنيات التداول الفردية المستخدمة، فإن الحد الأقصى لطول فترة السحب هو أيضا انخفاض كبير، من أكثر من 1000 يوما لأنظمة ن الأخرى، إلى أقل من 750 يوما. كما أن خطية نظام التداول في المحاكاة غير المركبة تزيد بشكل كبير (إلى R ^ 2 = 0.98)، وذلك بفضل قوة التمهيد التي تم الحصول عليها من تأثير اللجنة (مما يعني أن الفكرة تعمل!). كما ترون على الصور داخل هذا المنصب، منحنيات للأنظمة الفردية هي أدنى بشكل ملحوظ بالمقارنة مع منحنى الأسهم لاستراتيجية أسيريكويبراين. وسوف تستمر في إجراء بعض الاختبارات والتحسينات، لذلك نتوقع بعض الوظائف الجديدة على ن في غضون الأيام القليلة المقبلة وأسابيع (بما في ذلك بعض الوظائف حول المدخلات، ودقة التنبؤ فس الربحية والتنبؤات الربحية فس التنبؤات الاتجاه). إذا كنت ترغب في معرفة المزيد عن استراتيجيات الشبكة العصبية وكيف يمكنك أيضا بناء أنظمة إعادة التدريب باستمرار باستخدام فان التي يمكن تنفيذها على MQL4 / MQL5 / جفوريكس أو أواندا ريست أبي، В يرجى النظر في الانضمام إلى أسيريكوي، موقع على شبكة الانترنت مليئة التعليمية وأشرطة الفيديو، وأنظمة التداول، والتنمية، ونهج صريح وشفاف وشفاف نحو التداول الآلي بشكل عام. آمل أن يحظى هذا المقال بإعجابكم ! : س) 7 الردود على & # 8220؛ الشبكات العصبية في التداول: بناء قوية التداول & # 8220؛ الدماغ & # 8221؛ مع العديد من ن & # 8221؛ أنت ذاهب لإطلاق سراح هذا أسيريكويبراين إي في المستقبل القريب؟ شكرا لتعليقك: س) نعم، وسوف يكون على التحديث F4.3.14 المقبل نهاية الأسبوع، مفهوم مثير للاهتمام. I & # 8217؛ حساب معدل نمو سنوي مركب = 3.5٪ أو بالقرب منه. وأعتقد أن هذا منخفض جدا (سبس تر لنفس الفترة حوالي 10٪) وجنبا إلى جنب مع سحب طويلة جدا أعتقد أنك قد لا يزال أمامك طريق طويل لنقطعه مع هذا. انه لامر جيد كنت مستمرة على الرغم. :) ماذا عن إذا كنت ضبط حجم الموقف 2 التنبؤات توافق على 2/3 وحجم يصل إلى موقف كامل عندما يتفقون جميعا؟ هل تحتفظ بالموقف مفتوحا حتى لا يوافق المتنبأ أو أن تغلقه في نهاية اليوم؟ لا أعرف إذا فاتني ذلك. شكرا للنشر: o) مفهوم مثير للاهتمام. Ђ Ђ calcul حساب معدل نمو سنوي مركب = 3.5٪ أو بالقرب منه. وأعتقد أن هذا منخفض جدا (سبس تر لنفس الفترة حوالي 10٪) وجنبا إلى جنب مع سحب طويلة جدا أعتقد أنك قد لا يزال أمامك طريق طويل لنقطعه مع هذا. انه لامر جيد كنت مستمرة على الرغم. :) لا يمكن حساب معدل النمو السنوي المركب من هذه المحاكاة غير المركبة كما تفعل العادية، لأن الخطر هو مبلغ ثابت بالدولار الأمريكي (1٪ من الرصيد الأولي). عند استخدام إدارة الأموال العادية (1٪ خطر التوازن في التجارة المفتوحة) معدل النمو السنوي المركب هو في الواقع بالقرب من 10٪ و أر / ماكسد في المنطقة 0.8-0.9 (الحد الأقصى د هو حوالي 13.5٪). سوف تفاقم إدارة الأموال العادية توليد مخططات النمو الأسي (والتي يصعب تفسير بصريا بشكل صحيح) السبب أنا دائما نشر محاكاة غير معقدة. ولكن عند التداول مباشرة كنت دائما استخدام إدارة الأموال العادية، مخاطرة نسبة ثابتة من الرصيد على التجارة المفتوحة. I & # 8217؛ كما أحرز بعض التحسينات الهامة خلال الأيام القليلة الماضية وحصلت على الحد الأقصى لطول السحب تحت 500 يوم: س) ماذا عن إذا كنت ضبط حجم الموقف 2 التنبؤات توافق على 2/3 وحجم يصل إلى موقف كامل عندما يتفقون جميعا؟ إنها فكرة مثيرة للاهتمام! أنا & # 8217؛ ليرة لبنانية محاولة إعطائها ونرى ما أحصل عليه. هل تحتفظ بالموقف مفتوحا حتى لا يوافق المتنبأ أو أن تغلقه في نهاية اليوم؟ أنا لا أعرف إذا فاتني ذلك. حاولت على حد سواء، إغلاق المواقف على بعض الخلافات أعطاني أسوأ النتائج، وأنا فقط الصفقات وثيقة كلما ضرب سي أو إشارة عكسية (حيث جميع ننس يتفق) يبدو. شكرا مرة أخرى للتعليق بوج: س) & # 8220؛ العادية إدارة الأموال المتضاعفة سوف تولد الرسوم البيانية النمو الأسي (التي يصعب تفسير بصريا بشكل صحيح) السبب أنا دائما نشر محاكاة غير معقدة. ومع ذلك عند التداول المباشر كنت دائما استخدام إدارة الأموال العادية، المخاطرة نسبة ثابتة من الميزان على التجارة المفتوحة. & # 8221؛ أنا من رأي أن [مم] عادية سوفت كنت استعملت في [باكتستس] لأن هو يكون مناسبة [أنتي-مارتينغل] أسلوب. ومن النادر أن نرى نموا هائلا بسبب عمليات السحب. أفضل طريقة ل باكتست هو أعتقد أن الطريقة التي التجارة في الواقع وهذا ينطوي مم. أنا من رأي أن [مم] عادية سوفت كنت استعملت في [باكتستس] لأن هو يكون مناسبة [أنتي-مارتينغل] أسلوب. ومن النادر أن نرى نموا هائلا بسبب عمليات السحب. أفضل طريقة ل باكتست هو أعتقد أن الطريقة التي التجارة في الواقع وهذا ينطوي مم. نعم بالطبع، وأنا أتفق تماما مع ذلك، وهذا (مع مم) ومن الواضح أن الطريقة التي نعيد اختبار أنظمة لتحليل قبل التداول المباشر. أنا فقط إجراء المحاكاة غير معقدة على بلوق لأنها & # 8217؛ أسهل للتحليل واستخلاص استنتاجات من (وجود فقط المخططات). محاكاة مم العادية دون الإحصاءات (المخطط فقط) هو أصعب لتحليل. في المرة القادمة، سأقوم بإرسال بعض إحصاءات مم العادية أيضا. شكرا مرة أخرى للتعليق بوب: س) خطية منحنى الأسهم هو دانيال مؤثرة جدا. شكرا لتقاسم عملك الشاق. الشبكات العصبية للتجارة الخوارزمية. بسيطة سلسلة الوقت التنبؤ. تحديث هام: هذا هو الجزء الأول من تجاربي على تطبيق التعلم العميق للتمويل، ولا سيما في التداول الخوارزمي. أريد أن أطبق نظام التداول من الصفر فقط على نهج التعلم العميق، وذلك لأي مشكلة لدينا هنا (التنبؤ السعر، واستراتيجية التداول، وإدارة المخاطر) ونحن ستعمل استخدام أشكال مختلفة من الشبكات العصبية الاصطناعية (أنس) والتحقق من مدى ما يمكن امسك هذا. الآن أعتزم العمل على الأقسام التالية: التنبؤ بالسلاسل الزمنية مع البيانات الأولية التنبؤ بالسلاسل الزمنية مع الخصائص المخصصة تحسين فرط المعاملات تطبيق إستراتيجية التداول وإدارة المخاطر وإدارة المخاطر استراتيجيات التداول الأكثر تطورا والتعلم التعزيزي العيش والوسطاء أبي وكسب المال (l̶o̶s̶i̶n̶g̶). أنا أوصي لك للتحقق من رمز و إبيثون مفكرة في هذا المستودع. في هذا، الجزء الأول، أريد أن أظهر كيف يمكن أن تستخدم ملبس، كننس و رنس للتنبؤ سلسلة زمنية مالية. في هذا الجزء نحن لن تستخدم أي هندسة الميزة. لننظر فقط في مجموعة البيانات التاريخية لتحركات أسعار مؤشر S & أمب؛ P 500. لدينا معلومات من 1950 إلى 2018 حول مفتوحة، وثيقة، وارتفاع، وانخفاض الأسعار عن كل يوم في السنة وحجم الصفقات. أولا، سنحاول فقط للتنبؤ سعر وثيق في نهاية اليوم التالي، والثانية، وسوف نحاول التنبؤ العودة (سعر الإغلاق - سعر مفتوح). تحميل مجموعة البيانات من ياهو المالية أو من هذا المستودع. تعريف المشكلة. وسوف ننظر في مشكلتنا كما 1) مشكلة الانحدار (في محاولة للتنبؤ بالضبط سعر وثيق أو العودة في اليوم التالي) 2) مشكلة التصنيف الثنائي (السعر سيرتفع [1، 0] أو أسفل [0، 1]). لتدريب ننس نحن ستعمل استخدام إطار كيراس. أولا دعونا إعداد بياناتنا للتدريب. نريد أن نتوقع t + 1 قيمة استنادا إلى N أيام السابقة المعلومات. على سبيل المثال، وجود أسعار قريبة من 30 يوما الماضية في السوق نريد أن نتوقع، ما هو الثمن سيكون غدا، في اليوم ال 31. نستخدم أول 90٪ من السلاسل الزمنية كمجموعة تدريب (نعتبرها بيانات تاريخية) و 10٪ الأخيرة كاختبار محدد لتقييم النموذج. وفيما يلي مثال للتحميل، والانقسام إلى عينات تدريبية، والتجهيز المسبق لبيانات المدخلات الخام: مشكلة الانحدار. MLP. وسوف يكون مجرد 2 مخفي طبقة بيرسيبترون. يتم اختيار عدد من الخلايا العصبية المخفية تجريبيا، وسوف نعمل على تحسين هيبيرباراميترز في الأقسام التالية. بين طبقتين مخفي نضيف طبقة التسرب واحدة لمنع الإفراط. الشيء المهم هو كثيفة (1)، التنشيط ('الخطية') و 'مس' في قسم الترجمة. نريد مخرجا واحدا يمكن أن يكون في أي نطاق (نتوقع القيمة الحقيقية) وتعرف وظيفة الخسارة لدينا على أنها خطأ متوسط ​​التربيع. دعونا نرى ما يحدث إذا كنا مجرد تمرير قطع من 20 يوما أسعار وثيقة والتنبؤ الأسعار في اليوم ال 21. النهائي مس = 46.3635263557، ولكنها ليست معلومات تمثيلية جدا. وفيما يلي مؤامرة من التوقعات لأول 150 نقطة من مجموعة بيانات الاختبار. الخط الأسود هو البيانات الفعلية، واحد الأزرق - توقع. يمكننا أن نرى بوضوح أن خوارزمية لدينا ليست حتى قريبة من حيث القيمة، ولكن يمكن معرفة هذا الاتجاه. دعونا مقياس البيانات باستخدام طريقة سكلارن preprocessing.scale () لدينا الوقت سلسلة صفر يعني وحدة التباين وتدريب نفس ملب. الآن لدينا مس = 0.0040424330518 (ولكن على البيانات المقاسة). على مؤامرة أدناه يمكنك ان ترى الفعلية تحجيم سلسلة زمنية (أسود) وتوقعاتنا (الأزرق) لذلك: لاستخدام هذا النموذج في العالم الحقيقي يجب أن نعود إلى سلسلة زمنية ونزكاليد. يمكننا أن نفعل ذلك، عن طريق ضرب أو التنبؤ بالانحراف المعياري للسلاسل الزمنية التي استخدمناها للتنبؤ (20 خطوة زمنية غير منسقة) وإضافة القيمة المتوسطة: مس في هذه الحالة يساوي 937.963649937. هنا هو مؤامرة من التنبؤات استعادة (الأحمر) والبيانات الحقيقية (الأخضر): ليس سيئا، أليس كذلك؟ ولكن دعونا نحاول خوارزميات أكثر تطورا لهذه المشكلة! مشكلة الانحدار. CNN. أنا لن أذهب إلى نظرية الشبكات العصبية التلافيفية، يمكنك التحقق من هذه الموارد المدهشة: دعونا تعريف الشبكة العصبية التلافيفية 2-طبقة (مزيج من الالتفاف وطبقات التجميع القصوى) مع طبقة واحدة متصلة تماما ونفس الانتاج كما سبق: دعونا تحقق من النتائج. المشاريع الصغيرة ومتناهية الصغر للبيانات المعززة والمستعادة هي: 0.227074542433؛ +935.520550172. المؤامرات أدناه: حتى لو نظرنا إلى المشاريع الصغيرة ومتناهية الصغر على البيانات المقيسة، فقد تعلمت هذه الشبكة أسوأ بكثير. على الأرجح، تحتاج العمارة العميقة إلى مزيد من البيانات للتدريب، أو أنها تجاوزت فقط بسبب العدد المرتفع جدا من المرشحات أو الطبقات. وسوف ننظر في هذه المسألة في وقت لاحق. مشكلة الانحدار. RNN. كما العمارة المتكررة أريد أن استخدام اثنين من طبقات لستم مكدسة (اقرأ المزيد عن لستمس هنا). وفيما يلي عدد من التنبؤات: مسس = 0.0246238639582؛ +939.948636707. يبدو التنبؤ رن أشبه نموذج متحرك المتوسط، فإنه لا يمكن معرفة والتنبؤ جميع التقلبات. لذا، فإنھا نتیجة غیر متوقعة بعض الشيء، ولکننا نلاحظ أن ھذه الشرکات متعددة الأطراف تعمل بشکل أفضل للتنبؤ بسلسلة الوقت ھذه. دعونا تحقق ما سيحدث إذا كنا سويث من الانحدار إلى تصنيف المشكلة. الآن سوف نستخدم ليس إغلاق الأسعار، ولكن العائد اليومي (سعر إغلاق-- سعر مفتوح)، ونحن نريد أن نتوقع إذا كان سعر وثيق أعلى أو أقل من سعر مفتوح على أساس آخر 20 أيام العودة. مشكلة التصنيف. MLP. يتم تغيير رمز قليلا - نغير لدينا طبقة كثيفة الماضي أن يكون الناتج [0؛ 1] أو [1؛ 0] وإضافة سوفتماكس الإخراج إلى توقع الناتج الاحتمالي. لتحميل المخرجات الثنائية، تغيير في التعليمات البرمجية التالية السطر: كما نقوم بتغيير وظيفة الخسارة إلى ثنائي عبر إنتوبي وإضافة مقاييس الدقة. أوه، انها ليست أفضل من التخمين العشوائي (50٪ دقة)، دعونا نحاول شيئا أفضل. تحقق من النتائج أدناه. مشكلة التصنيف. CNN. مشكلة التصنيف. RNN. الاستنتاجات. يمكننا أن نرى، أن معالجة الوقت المالي التنبؤ سلسلة كمشكلة الانحدار هو نهج أفضل، فإنه يمكن معرفة الاتجاه والأسعار على مقربة من الفعلية. ما يثير الدهشة بالنسبة لي، أن ملبس معالجة بيانات تسلسل أفضل كما كنز أو رنس التي من المفترض أن تعمل بشكل أفضل مع سلسلة زمنية. أشرح ذلك مع مجموعة صغيرة جدا ( 16K الطوابع الزمنية) واختيار دمية هيبيرباراميترز. يمكنك إعادة إنتاج النتائج والحصول على أفضل استخدام التعليمات البرمجية من المستودع. أعتقد أننا يمكن أن نحصل على نتائج أفضل سواء في الانحدار والتصنيف باستخدام ميزات مختلفة (ليس فقط سلسلة زمنية متقنة) مثل بعض المؤشرات الفنية، وحجم المبيعات. أيضا يمكننا أن نحاول البيانات أكثر تواترا، دعونا نقول القراد دقيقة تلو الأخرى للحصول على مزيد من البيانات التدريب. كل هذه الأشياء سأفعلها لاحقا، حتى لا تنزعج :) عن طريق التصفيق أكثر أو أقل، يمكنك أن تشير لنا القصص التي تبرز حقا. أليكس هونشار. وآلات التدريس و الراب. آلة التعلم العالم. أفضل حول التعلم الآلي، رؤية الكمبيوتر، التعلم العميق، معالجة اللغة الطبيعية وغيرها. فوركس. 8 174 & # 32؛ пользователя находятся здесь. МОДЕРАТОРЫ. ورايغستين ترادينغ بينيس فور دولارس فسماركيتماكر بروفيسيونال ترادر ​​Hot_Biscuits_ نماذج وزجاجات spicy_pasta ريتشيغ المنجم المالي El_Huachinango مود finance_student بروب ترادر ​​о команде модераторов & راكو؛ مرحبا بكم في رديت، الصفحة الأولى للإنترنت. والاشتراك في واحدة من الآلاف من المجتمعات المحلية. تريد إضافة إلى المناقشة؟ помощь правила сайта центр поддержки вики реддикет مود غدلينس связаться с нами. приложенияи инструменты رديت لأيفون رديت لالروبوت موقع الجوال кнопки. Использование данного сайта означает، что вы принимаете & # 32؛ пользовательского соглашения & # 32؛ и & # 32؛ Политика конфиденциальности. &نسخ؛ 2018 ريديت инкорпорейтед. Все права защищены. يتم تسجيل ريديت وشعار ألين علامات تجارية مسجلة لشركة رديت إنك. وبي. التي أدلى بها بيد 3461 على & # 32؛ أب-373 & # 32؛ في 2018-01-16 16: 35: 04.635701 + 00: 00 تشغيل b995ef9 رمز البلد: وا. 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, part 3. However, we are doing testing here, not trading. And for testing, we need, among other things, to see how smooth the profit curve is. This is much easier to do if the lot size is the same (in ideal situation, for dLotSize = 100 we will get a straight line, with some positive slope, while in case of the adjustable lot size we will get an exponent, that is much harder to analyze). Later in this text, we will apply money management rules to our trading system, but not yet. After we are done with the last part of our testing function, let's walk through the rest of the code. The following function creates a CLV indicator. It takes the interval as a parameter, which means that we can call it many times, during the optimization, passing different numbers. Note, that I am using the NN that works in the 0 - 1 interval. The data can be normalized, of course, but I chose to divide the indicator by 2 and to add 0.5, so that it is in 0 - 1 range. forex_nn_01.tsc, part 4. To make lag file, we can use the CREATE_LAG_FILE function. Alternatively, we can do it by explicitly providing all the necessary code. In this case, we have more control, and we are going to need it, if we begin varying number of lagged columns and so on. forex_nn_01.tsc, part 5. The nRemoveFirst parameter is important. Many functions, like indicators, moving averages, lag generators, for that matter, do not work well within the first few records of the dataset. Let's say we have MA(14) - what will it place in the records 1 - 13? So we choose to simply remove the first few (unreliable) records. For the NewNn, as well as for all functions of this program, we need to pass as parameters only what can be changed during optimization process. For example, there is no need to pass a "skip before" parameter, as it is always the same. forex_nn_01.tsc, part 6. The TeachNn function simply brings up the NN dialog. forex_nn_01.tsc, part 7. Finally, we need a charting function. It is not mandatory, but it is always a good idea to see what our profit line looks like. The following code uses the XML to produce a chart, so it is a good idea to read the tutorial. Alternatively, you can draw the chart, rather than saving it in a file. To do it, use one of the samples, that are in the samples/scripts directory. Finally, you can modify the code, to produce HTML, rather than XML. HTML is easier to learn, but the code itself will be a bit less readable. forex_nn_01.tsc, part 8. Compile and Run the script. حسنا. As expected, using 7 hours as an interval for the CLV produced very poor results: FOREX Trading Strategies and Optimization. The reason for the poor results is quite obvious: we used the Interval, Stop Loss, buy and sell levels and other parameters, that were purely random - we just picked first that came in mind! What if we try few combinations? FOREX Trading Signals: What to optimize? First of all, by overoptimizing the buy and sell levels, we can ruin our future performance. However we still can tune them, especially, if the performance is close for close values of buy and sell limits. For example, if we have -10% profit at buy limit equal 0.3, and +1000% profit when it equals 0.35, then there is probably a lucky coincidence, and we should not use 0.35 for our trading system, as in future it will probably not happen again. If, instead, we have -10% and +10% (instead of +1000%), it may be safer to use. Generally, our trading system should be built for WORSE possible scenario, as if during the "real" trading the performance will be better, then during the test, we will survive, but not the other way around. We can vary the value for the indicator interval, provided we have enough trades, so that we can be confident, in terms of statistics, in the performance of a system. We certainly can vary the number of neurons, I don't think it can be overoptimized easily. We can vary number of inputs and lags for inputs. It is possible to overoptimize this, but it is not very likely to happen. And, of course, we can try different indicators. Accurate FOREX Signals: How to optimize? As have already been mentioned, if we start trying all possible combinations, it will take forever. So we are going to cheat. We will create pre-defined sets of parameters, that we think are reasonable, and pass them to the program. To make as few calculations as possible, note, that Clv-1 and Clv-2 are, probably, important, but what about Clv-128? And - if we already have Clv-128, do we need Clv-129? Probably, not. So we are going to have something like Clv-1, Clv-2, Clv-4, Clv-8, . Clv-128 with just few variations, which will make our calculation time thousands times shorter. FOREX Professional System Trading: Can it work at all? What is it exactly we want to predict? Until this point we have used 1 hour chart for EURUSD, and we were predicting the next bar's CLV. Will the CLV+2 be better? What about CLV+3? Also, especially considering the poor performance of our first trading system, it would be nice to know, that - at least in the "ideal" world, the goal (profitable trading) can be achieved. To answer these questions, let's create a simple testing program. We assume, that our prediction is 100 % accurate, and, based on this assumption, we will use CLV+N, not the NN predicted one. That's right - we are going to take data from the future, and to use them instead of the NN prediction. This approach wouldn't work in the real life, of course, but at leats, it will give us some ideas of what to expect. When looking at the results, please keep in mind, that we are not using any advanced money management, our lot size is set to a minimum $100. If you use variable lot sizes, results will be dramatically different. But even at a lot size set to 0.1 we can see (below) that getting the information from the future is an ultimate trader's "holly graal". forex_nn_02.tsc, part 1. You are already familiar with this code, it was used in FOREX_NN_01.TSC. It handles data loading. The only difference is in the part that obtains the list of files in the "images" directory and deletes all files with the .PNG extention. The reason for this code is simple: during our tests we are going to create many - may be, thousands - image files. We don't want them to hung around after we are done. So at the beginning of the script we are deleting images, created by other scripts. forex_nn_02.tsc, part 2. Just a few comments. We do not want to try all possible values for, for example, CLV interval. Instead, we can create an array, that contains only values we want to test. Then (see below) we will walk through this array. Stop losses are important part of any trading strategy, so I have decided to vary them as well. It is a dangerous idea, however, as it is easy to overoptimize the system. I am planning to test different values for buy and sell levels, but it will be done in cycle, without using arrays. Unlike in our previous example, we want to have a large XML file, containing many images. To do it, I have moved the code, that is forming the XML header and footer outside of the Chart function. Read one of the online XML tutorials for details. Note, that I am using 0 as the first lag, which means, that first I am testing the indicator (CLV) that was not "shifted" from the future. Just to get an idea, how good out "trading system" would be without NN (horrible, is the right word. It is loosing all the money). Cortex uses the Internet Explorer control to display XML pages. When pages grow large, it takes a lot of memory. If your computer cannot handle it, consider creating multiple XML or HTML pages, instead. In the case of forex_nn_02, it should not be a problem, as the page is relatively short. Alternatively (that is what I am doing in scripts later in this text), create XML file, but do not open it from Cortex. Open them using Internet Explorer instead - unlike IE control, the Internet Explorer does not have the memory problem. Now the code that is trying different combinations of parameters. forex_nn_02.tsc, part 3. Here, we are using nested cycles. In every cycle, we are assidning some variable (for example, nInterval for the outer cycle). This way the cycle will assign values of all elements of a corresponding array, one in a time. Then WITHIN it, the inner cycle is used, and so on, so that all combinations of all array elements are tested. In the innermost cycle, I am calling the Test() function, to "test trade", and Chart() to add a new picture to a list of images saved on disk. Note, that this Chart() does not show any images, until all cycles are completed. The Test() and CreateClv() functions are almost the same as in the previous example. The only real difference is due to the fact that it is called more then once. To do it, I am calling ARRAY_REMOVE to cleanup arrays. Also, notice, that we are only creating charts for the combinations of parameters, that produce trading system with positive profit. Otherwise, we call "continue", to skip the Chart() function. Finally, we have Take Profit now, so our trading system can be a bit more flexible. forex_nn_02.tsc, part 4. The Chart() function was broken into two pieces. The header and the footer should be written to the XML file only once, so they were moved to the main part of the program. Also, I am using the counter, to save files under the different names. 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. In technical terms, neural networks are data analysis methods that consist of a large number of processing units that are linked together by weighted probabilities. In more simple terms, neural networks are a model loosely resembling the way that the human brain works and learns. 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. Unlike the traditional data structure, neural networks take in multiple streams of data and output one result. If there's a way to quantify the data, there's a way to add it to the factors being considered in making a prediction. They're often used in Forex market prediction software because the network can be trained to interpret data and draw a conclusion from it. Before they can be of any use in making Forex predictions, neural networks have to be 'trained' to recognize and adjust for patterns that arise between input and output. The training and testing can be time consuming, but is what gives neural networks their ability to predict future outcomes based on past data. 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. From there, the network can compare its own output to see how close to correct the prediction was, and go back and adjust the weight of the various dependencies until it reaches the correct answer. This requires that the network be trained with two separate data sets — the training and the testing set. One of the strengths of neural networks is that it can continue to learn by comparing its own predictions with the data that is continually fed to it. Neural networks are also very good at combining both technical and fundamental data, thus making a best of both worlds scenario. Their very power allows them to find patterns that may not have been considered, and apply those patterns to prediction to come up with uncannily accurate results. Unfortunately, this strength can also be a weakness in the use of neural networks for trading predictions. Ultimately, the output is only as good as the input. They are very good at correlating data even when you feed them enormous amounts of it. They are very good at extracting patterns from widely disparate types of information — even when no pattern or relationship exists. 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. When an unknown factor is introduced, the artificial neural network has no way of assigning an emotional weight to that factor. 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. The important thing to keep in mind is that the most basic rule of Forex trading applies when you set out to build your neural network — educate yourself and know what you're doing. Whether you're dealing with technical analysis, fundamentals, neural networks or your own emotions, the single most important thing you can do to ensure your success in Forex trading is to learn all you can.
الفوركس المستغل بوت
أفضل مؤشر الفوركس # 1