Saturday, 16 December 2017

Forex_nn_ind


لا الانتظار دقيقة :) لا توجد طريقة لتشغيله القراد عن طريق القراد - أنه يتداول في نهاية شريط: أيضا، والإطار الزمني هو 1 ساعة: أيضا أيضا :) ليس لدي أي فكرة عن كيفية أداء. لقد اختبرت فقط على التاريخ. فتح الأسعار فقط وضع ما يكفي، وسريعة بما فيه الكفاية لاختبار وتحسين. ويجري يجري تحت المراقبة لمدة أسبوع تقريبا على تجريبي، وحتى الآن أنتجت فقط 1 التجارة، لذلك لا نتوقع أن تبدأ فقدان المال :) على الفور. عندما يكون لدي ما يكفي من الصفقات الحقيقية للنشر، إل آخر. أيضا أيضا :))) قراءة الكتاب تنويه. إنه مثال، ليس غراال. سيئة جدا :( غغتغت اسمحوا لي أن أحاول من البداية لتلتلت 1. نسخ خبير من المادة حفظه ك testexpert. mq4 تجميع (F5): النجاح 2. نسخ مؤشر إنقاذ (في دليل المؤشرات) كما testind. mq4 تجميع: نجاح 3. أوبس إعادة تسمية المؤشر في رمز الخبراء، كما أنها ليست فوريكسنيند بعد الآن :) 4. اختبار. الإعدادات: اليورو مقابل الدولار الأميركي، H1، فتح الأسعار فقط، إعادة حساب التحقق. النتائج: 0 الصفقات. حسنا، أعتقد أنني حصلت عليه. انا اعرف ما هي المشكلة. وضع سوء في المشاركة التالية، للحفاظ على قراءتها. حسنا، أنا هنا، احتفظ بوعدي (انظر نهاية مشاركتي السابقة). السبب لا توجد صفقات، في الحوار بروبيرتريز الخبراء. لم يتم تعيين خصائص كل الأصفار. نلقي نظرة على الخبير. إذا لم نختبر (التداول في الوقت الحقيقي)، يتم بدء الخصائص إلى القيم القيمية. إذا كنا اختبار - فهي ليست. تحتاج إلى القيام بذلك باليد. لذلك، لمواصلة بريف. بوست: 5. تعيين خصائص الخبراء إلى: دبويليفل 0.21 دسلليفيل 0.9 دستوبلوس 200 نقطة دترايلينغستوب 200 نقطة (ولتحسين، سيكون لديك لتحديد نطاق لكل متغير كذلك) نتائج هذا الاختبار (كما هو، من المادة، وليس (القضبان في الاختبار 17770 القوالب على غرار 35440 جودة النمذجة نا الإيداع الأولي 1000.00 إجمالي الربح الصافي 2098.85 إجمالي الربح 6758.65 إجمالي الخسارة -4659.80 عامل الربح 1.45 العائد المتوقع 32.29 السحب المطلق 0.00 السحب الأقصى 1188.55 (27.7) إجمالي الصفقات 65 مراكز قصيرة ( وفا) 2 (50.00) مراكز شراء طويلة (وون) 63 (44.44) صفقات الربح (من الإجمالي) 29 (44.62) صفقات الخسائر (من الإجمالي) 36 (55.38) أكبر تداول للربح 802.00 خسارة التداول -204.90 متوسط ​​تجارة الربح 233.06 تجارة الخسائر - 129.44 انتصارات متتالية قصوى (ربح في المال) 6 (1330.35) خسائر متتالية (خسارة في المال) 5 (-628.25) أرباح متتالية قصوى (عدد الانتصارات) 1330.35 (6) خسارة متتالية (عدد الخسائر) -652.10 (4) على التوالي يفوز 2 متتالية لوس سيس 2 عموما (لقد استخدمت تواريخ مختلفة) - نفس كما وعدت في المادة. نجاح باهر، الذي كان طويلا:) سنوكرون الشبكات العصبية لتداول الفوركس في هذا المقال: مثال على استخدام الشبكات العصبية لدينا البرمجيات لإنشاء نظام التداول الشبكة العصبية كاملة. يستخدم هذا المثال لغة البرمجة المضمنة في اللحاء. لذا يرجى قراءة دليل لغة البرمجة أولا. استخدام الشبكات العصبية لخلق استراتيجية التداول الفوركس في هذا البرنامج التعليمي على الانترنت مجانا سوف تجد دورة كاملة من استخدام الشبكات العصبية (اللحاء الشبكات العصبية البرمجيات) لتداول العملات الأجنبية (أو تداول سوق الأسهم، والفكرة هي نفسها). سوف تتعلم كيفية اختيار المدخلات للشبكات العصبية الاصطناعية. وكيفية اتخاذ قرار بشأن ما يجب استخدامه كمخرجات. سوف تجد مثالا للنص البرمجي جاهز للاستخدام الذي يسمح لأداء الشبكات العصبية الأمثل لكل من بنية الشبكة العصبية (عدد من الخلايا العصبية) ونظام تداول العملات الأجنبية (وقف الخسارة الخ) وأخيرا (الجزء غير موجود في معظم الدروس)، وسوف تتعلم ما يجب القيام به بعد ذلك. بعد كل شيء، اللحاء الشبكات العصبية البرمجيات لا تستطيع أن تفعل التداول في الوقت الحقيقي، تحتاج إلى استخدام شيء مثل محطة التجارة، ميتاكوتس أو ميتاترادر. كيفية منفذ نظام التداول الفوركس من اللحاء إلى منصة التداول المفضلة لديك هل لديك للتعامل مع دلز، وضوابط أكتيفكس والبرمجة على مستوى منخفض الجواب هو لا. كورتيكس نيورال نيتوركس نتووركس يأتي مع ميزة سهلة الاستخدام التي تسمح لك بسهولة الميناء الناتج (المدربين) الشبكة العصبية إلى لغة البرمجة من منصة التداول الخاصة بك. لا دلز، ددي، أكتيفكس أو أي حلول أخرى منخفضة المستوى - كل شيء سهل وبسيط. ملاحظة هامة: هذه ليست كيفية التجارة تعليمي. بدلا من ذلك، فإنه يخبرك كيفية استخدام اللحاء الشبكات العصبية البرمجيات. ولكن ما زلت بحاجة إلى اختراع نظام التداول الخاص بك. واحد نستخدم هنا هو بالكاد نقطة الانطلاق، وينبغي أن لا تستخدم كاستراتيجية تداول العملات الأجنبية كما هو. فكرة هذا النص هو أن يعلمك لإنشاء أنظمة التداول القائمة على ن ومنفذها إلى منصة التداول من اختيارك. على سبيل المثال، هو أوفيسيمبليفيد المثال، ويمكن أن تستخدم إلا كرسم توضيحي للمبادئ التجارية. وبنفس الطريقة، فإن نظام التداول ماسد، الذي يمكن العثور عليه في العديد من الدروس، لا يعمل بشكل جيد بعد الآن (كما تغيرت الأسواق)، ولكن لا يزال مثالا جيدا على استخدام مؤشرات للتجارة الميكانيكية. في كلمتين: القيام بالتحليل الخاص بك. ملاحظة هامة أخرى: البرنامج التعليمي يستخدم أمثلة، والكثير منهم. لجعل حياتك أسهل، لقد شملت كل منهم، وليس فقط شظايا. ومع ذلك فإنه يجعل النص أطول من ذلك بكثير. أيضا، أنا ذاهب من أول، الخرقاء، نظام تداول العملات الأجنبية. إلى أكثر تقدما، في كل مرة شرح ما تم تحسينه ولماذا. التحلي بالصبر، أو القفز مباشرة إلى القسم الذي تحتاجه. ملاحظة هامة النهائية: رمز ليست شيئا منحوتة في الحجر، فإنه يمكن أن تتغير في حين أن هذا النص مكتوب. يتم تضمين الإصدارات النهائية من الملفات النصية في أرشيف اللحاء. المضايقات من فوريكس شراء بيع إشارات: ما هو الخطأ مع أمثلة بسيطة في دليل كورتيكس الشبكات العصبية مستخدمي البرمجيات استخدمنا مثال بسيط من الشبكة العصبية أفتيفيسيال. وتوقع سعر الأسهم جينز. لمعرفة ما هو الخطأ في هذا النهج، دعونا نفعل نفس المثال البسيط، وذلك باستخدام MSFT. TXT، بدلا من GENZ. TXT (استخدام 800 سجل في مجموعة التعلم، كما MSFT. TXT هو أقصر قليلا، ثم جينز. رسالة قصيرة). انها لن تعمل فقط لماذا السبب سوف تصبح واضحة، إذا كنت تسأل نفسك: ما هو السبب التنبؤ الشبكة العصبية من القيم المستقبلية يمكن القيام به في المقام الأول الجواب هو: هو تعلم أن تفعل ما يسمى الشبكات العصبية الاعتراف نمط. للتعرف على الأنماط، وإذا كان هناك منطق مخفي في هذه الأنماط، فسيتم التعرف على نمط جديد (بنفس المنطق). ثاتس خدعة - مع نفس المنطق. ليس هناك حتى واحد، ولكن ثلاث مشاكل هنا. أولا وقبل كل شيء، إذا نظرتم إلى سعر الأسهم ميكروسوفتس، ستلاحظ، أنه كان ينخفض ​​في الجزء التعلم من البيانات لدينا، وعلى جانبي - في جزء الاختبار. لذلك فمن الممكن، أن المنطق قد تغير. ثانيا، والأهم من ذلك - ما هو نمط ترى، إذا علمنا الشبكة العصبية في نطاق 10-100، ومن ثم قدمته مع شيء في نطاق 1 إلى 3 - فهي أنماط مختلفة 10 و 20 و 30 و 1، 2، 3 تبدو مشابهة للإنسان لأنه - لأن لدينا هذه القدرة على تقسيم من قبل عشرة، عندما قدمت مع الأرقام تنتهي مع الصفر. وهو ما يسمى تجهيز مسبق للبيانات، وبشكل افتراضي، فإن ن لا يمكن أن تفعل ذلك. يمكننا تعليمه بالطبع. ما هو بالضبط نحن بحاجة إلى تعليمه وهذا هو الثالث، والأكثر أهمية. نحن لسنا بحاجة إلى التنبؤ السعر نحن لا نهتم ما نحتاج إليه هو شراء الفوركس إشارات البيع. الآن، انتظر لحظة نحن بحاجة إلى) أن يكون لدينا مدخلات (على حد سواء التعلم والاختبار) في نفس النطاق، ونحن بحاجة ب) لتكون قادرة على اتخاذ قرارات التداول على أساس أنه ليس ما نسميه مؤشر البنغو لذلك، وهذا ما نحن بصدد القيام به - سنبني مؤشرا، لإطعامه إلى ن كمساهمة، وسنحاول الحصول على تنبؤ بقيمة المؤشر، وليس سعر السهم غير المجدي في المثال الأول، سنقوم بتحميل المخزون ونقلت من القرص، وفتح ملف الشبكة العصبية وبدء التعلم - كل ذلك في وضع الآلي. إنشاء ملف نصي جديد (أو فتح واحد الذي يأتي مع كورتيكس الشبكات العصبية برامج أرشيف) وندعو ذلك stocknn. tsc. أولا وقبل كل شيء، نحن بحاجة إلى تحميل قيم الأسعار من ملف MSFT. TXT. سنقوم باستخدام مؤشر كلف (انظر أدناه)، ولكن لحساب ذلك، نحن بحاجة إلى قيم مقسمة إلى تقسيم للارتفاع والمنخفض، وليس فقط للوثيقة. هنا هو كيفية الحصول عليها. stocknn. tsc، بارت 1 السطر الأول يعين المسار إلى متغير ستروستباث، بطبيعة الحال، سيكون لديك لتحريره، إذا كان ملف البيانات الخاص بك موجود في الدليل مختلفة. في السطر الثاني نحدد، أن هذا المسار غير نسبي (نسبة إلى موقع ملف Cortex. exe). يتلقى تابلوادر المسار، السلسلة الفارغة لخط البداية، 1 - لتخطي السطر الأول (أسماء الأعمدة)، وهي جزء من خط تذييل الملفات (السطر الأخير في MSFT. TXT لا يحتوي على بيانات)، يتم توجيهه أيضا لتحميل رقم العمود 0 (وندعوه أرتديت)، 2 (أرهي)، 3 (ارلو)، 4 (أرك) و 6 (اركلوس). للحصول على وصف كامل ل تابليلودر، راجع الدليل المرجعي ل سلانغ. ثم نقوم بحساب الانقسام، عن طريق قسمة إغلاق إغلاق عن طريق إغلاق، واستخدام هذه القيمة لضبط منخفض وعالي. يحتوي الملف MSFT. TXT على أحدث البيانات فيرست، بينما نريد لهم لاست. بعد ذلك، نحن بحاجة إلى إنشاء مؤشر. دعونا نقول، وسوف يكون مؤشر قيمة موقع قريب، على الرغم من أن في الحياة الحقيقية وأود ربما استخدام أكثر من مؤشر واحد المدخلات ن. يتم حساب مؤشر قيمة موقع إغلاق مثل كلف ((إغلاق - منخفض) - (عالية - إغلاق)) (عالية - منخفضة)، حيث إغلاق، منخفض وعالي هي للفاصل الزمني، وليس بالضرورة لشريط واحد. لاحظ، أننا نريد ذلك في نطاق 0 - 1، لجعله أسهل لتطبيع إلى نطاق نا لدينا (وهو، مرة أخرى، 0-1). stocknn. tsc، الجزء 3 التالي، نحن بحاجة إلى إنشاء ملف تأخر. يتيح استخدام التأخيرات التي تساوي 1، 2. 9 (للحصول على تفاصيل حول وظائف الملف، راجع الدليل المرجعي ل سلانغ). ملاحظة، أن الحوار كورتيكس ن يمكن أن تنتج تأخر بسيط تلقائيا (يمكنك استخدام زر تأخر توليد). ولكن في وقت لاحق من هذا النص، سنعمل مع تأخيرات معقدة (مما يعني أنها ليست 1، 2، 3. ولكن 1، 3، 64. أيا كان)، لذلك نحن بحاجة إلى إنشاء التعليمات البرمجية التي يمكن التعامل مع هذه المهمة في طريقة أكثر مرونة. stocknn. tsc، الجزء 4 وجود ملف تأخر، ونحن مستعدون لإنشاء أول شبكة العصبية لدينا. هذه الوظيفة تأخذ الكثير من المعلمات، لذلك تكون متأن. ومع ذلك، فإن رمز بسيط حقا. بالمناسبة، يمكن إزالة معظم هذه التعليمات البرمجية، إذا كنت تعتقد أنك يمكن التعامل مع الأرقام، بدلا من أسماء معنى في التعليمات البرمجية الخاصة بك، ومع ذلك، من شأنها أن تكون ممارسة الترميز سيئة للغاية. stocknn. tsc، بارت 5 الآن، بعد أن يكون لدينا شبكة عصبية وملف متخلف مع البيانات، ونحن بحاجة لتعليم الشبكة. ملف التأخر (msftind. lgg) لديه 1074 السجلات، لذلك فمن المعقول أن استخدام 800 كمجموعة التعلم، والباقي 274 كمجموعة اختبار. يمكنك، بطبيعة الحال، فتح ملف شبكة وانقر فوق زر تشغيل في علامة التبويب التعلم. ولكن هذا هو مقدمة إلى المتقدمة اللحاء الشبكات العصبية برامج البرمجة، يتيح استخدام سلانغ لغة البرمجة المدمج في بدلا من ذلك. الرمز التالي إحضار الحوار مشروط مع إعدادات آن ن. ملاحظة، إذا كنت تريد أن يكون لها امتياز النقر على زر تشغيل، تحتاج إلى تغيير stocknn. tsc، الجزء 6 و بستارتلارنينغ يمكن أن يكون 0، في هذه الحالة سوف الحوار ينتظر الإدخال الخاص بك، أو 1، ثم التعلم سوف تبدأ أيتاليكالي. سوف بريسومسكريبت، إذا يساوي 1، استئناف السيناريو، إذا قمت بإغلاق الحوار عن طريق النقر فوق الزر موافق. يتم استخدام بريسيت لإعادة الشبكة قبل بدء التعلم. قم بتشغيل البرنامج النصي، وانتظر أن يتجاوز عداد الوقت 1000، ثم انقر فوق إيقاف. انتقل إلى علامة التبويب تطبيق، ثم انقر على تطبيق. سيقوم هذا بتشغيل مجموعة البيانات بأكملها (التعلم والاختبار) من خلال ن، وإنشاء ملف. APL، الذي يحتوي على كل من المدخلات والمخرجات الأصلية، والتنبؤ الذي تم إنشاؤه ن، وبهذه الطريقة يمكنك بسهولة رسم لهم ومقارنة ضد بعضها البعض . انتقل إلى علامة التبويب الإخراج، وحدد ملف msftind. apl، ثم انقر فوق استعراض الملف، وحدد الحقول، ثم حدد مربع "لا" في القائمة اليسرى، و (بالضغط باستمرار على مفتاح كترل أثناء التحديد بالماوس) كلف و ن: كلف في مربع القائمة الصحيح. انقر على الرسم البياني لمعرفة مدى جودة توقعاتنا. حسنا. إنه جيد نوعا ما، مما يمكننا أن نقوله من خلال النظر إليه. ومع ذلك، لا شيء غير عادي. وكان هذا مجرد مثال على ما يمكنك القيام به مع البرمجة النصية سلانغ، وكيفية أتمتة المهام الروتينية كورتيكس. ومع ذلك، حتى الآن، لم نفعل شيئا كنت لا يمكن القيام به باليد. حسنا. لا شيء تقريبا، لأنه إذا كنت ترغب في إنشاء ملف تأخر مخصص، مع القول، كلف-100، كلف-50، كلف-25. الأعمدة، ثم سيكون لديك لاستخدام سلانغ (أو إكسيل.)، لأنك لا تستطيع أن تفعل في اللحاء دون البرمجة. الفوركس استراتيجية التداول: ما لتحسين هنا هي مشكلتنا المقبلة. هل نحن بحاجة إلى تنبؤ جيد المظهر، أو أننا بحاجة إلى واحد يمكننا استخدامه للتداول مع الربح يبدو السؤال غريب، ولكن مجرد التفكير في ذلك لحظة. دعونا نقول لدينا جيدة جدا 1 ساعة التنبؤ. 95 دقيقة. ومع ذلك، إلى أي مدى يمكن أن يذهب السعر في ساعة واحدة ليس بعيدا جدا، وأخشى. قارن ذلك إلى الوضع، عندما يكون لديك غير دقيقة بدلا من 10 ساعة التنبؤ. سيكون من الأفضل الإجابة على هذا السؤال، ونحن بحاجة إلى التجارة في الواقع، ومقارنة بسيطة من الأخطاء المتوسطة التي تنتجها اثنين من ننس لن تساعد. الجزء الثاني (من نفس المشكلة) هو في الطريقة التي نحدد بها التنبؤ الجيد. دعونا نقول لدينا شبكة، التي تنتج التنبؤ، وهو 75 دقيقة. قارن ذلك إلى ن، التي تنتج 100 التنبؤ الدقيق. آخر واحد هو أفضل. الآن، تقسيم الإخراج (التنبؤ) من 100 دقيقة ن من قبل 10. سيكون لدينا شبكة غير دقيقة للغاية، كما إشارة لها في أي مكان بالقرب من إشارة استخدمنا كالمخرجات المرجوة. ومع ذلك، فإنه يمكن أن تستخدم نفس الطريقة التي استخدمنا 100 دقيقة ن، كل ما علينا القيام به هو مضاعفة إلى 10 انظر، يتم إنشاء ن، من خلال ضبط متوسط ​​الخطأ التربيعي، وليس الارتباط، وذلك على الأقل في النظرية، ن أفضل يمكن أن تظهر نتائج سيئة، عند استخدامها لتداول الأسهم الأسهم الفعلية. لحل هذه المشكلة، نحن بحاجة لاختبار لدينا ن باستخدام التداول، واستخدام نتائج هذا التداول (الربح والانسحاب) لاتخاذ قرار، إذا كان هذا ن أفضل من الآخر. دعنا نقوم به. يتيح إنشاء برنامج، والتي يمكن استخدامها لضبط ن، وهذه المرة، عن طريق صقل، ونحن سوف يعني نتائج التداول. الشبكة العصبية التداول: ملاحظات قصيرة قليلة أولا وقبل كل شيء، في مثالنا أعلاه، والتعلم التلقائي لن تتوقف أبدا، لأننا لم تحدد أي معايير التوقف. في مربع الحوار، أو في وظيفة كريتين، يمكنك توفير دقيقة. خطأ (عند وصول ن إلى ذلك، فإنه يتوقف، وإذا تم تعيين بريسومسكريبت إلى 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. هو أفضل، لأنه أقل خطورة. قد نتحدث عن ذلك لاحقا. وأخيرا، في هذا المثال سنستخدم الفوركس، بدلا من أسعار الأسهم. من وجهة نظر ن لا يوجد فرق، ومن وجهة نظري - الفوركس هو أكثر متعة للتجارة. إذا كنت تفضل الأسهم، يمكن بسهولة تعديل التعليمات البرمجية. استراتيجية التداول الفوركس للعب مع أولا وقبل كل شيء، يتيح إنشاء نموذج أولي من التعليمات البرمجية لدينا، واحدة التي يمكن بسهولة أن يكون الأمثل في المستقبل. وسوف يكون نظام التداول، والذي يستخدم شبكة العصبية للتجارة وتنتج الرسم البياني (الربح ضد عدد التجارة). وسوف يحسب أيضا السحب، كمقياس متانة نظام التداول لدينا. forexnn01.tsc، بارت 1 الفرق الرئيسي هنا هو أننا نستخدم وظائف، بدلا من وضع كافة التعليمات البرمجية في الكتلة الرئيسية للبرنامج. بهذه الطريقة فإنه من الأسهل بكثير لإدارة. ثانيا، لدينا وظيفة تستنيت. أنا باستخدام خوارزمية بسيطة جدا من التداول. ويقتصر المؤشر كلف على 0-1 الفاصل الزمني (لدينا نسخة من كلف هو)، لذلك عندما مؤشر يعبر عن دبويليفيل (انظر التعليمات البرمجية أعلاه)، وأنا شراء، عندما هو عبور أسفل دسلليفيل، وأنا أبيع. من الواضح، أنها ليست أفضل استراتيجية التداول، لكنها لن تفعل لغرضنا (فقط في الوقت الراهن). إذا كنت ترغب في تحسينه، وهنا بعض المؤشرات. أولا، قد ترغب في الحصول على نظام، وهذا ليس دائما في السوق. ثانيا، قد ترغب في استخدام أكثر من مؤشر واحد كمدخلات، وربما أكثر من واحد ن، بحيث يتم اتخاذ قرار التداول على أساس المؤشرات القليلة المتوقعة. سنضيف بعض التحسينات على خوارزمية التداول لاحقا. نحن نستخدم بعض الافتراضات القياسية للتداول الفوركس: انتشار هو 5 نقاط، ليفيراد هو 100، دقيقة. الكثير هو 100 (مصغرة-- فوريكس). دعونا نلقي نظرة على نظام التداول لدينا. مرة أخرى، هو واحد مفرط التبسيط. ملاحظة هامة: تستن () تسمى آخر، ولها حق الوصول إلى كافة المتغيرات التي تم إنشاؤها إلى تلك النقطة. حتى إذا كنت ترى متغير أن أستخدمه، دون تهيئة ذلك، فإنه ربما يعني أنه تم التهيئة في نيون ()، تيتشن () أو بعض الدالة الأخرى التي كانت تسمى قبل تستن (). لتسهيل الأمور، يتم وضع التعليقات في الشفرة. forexnn01.tsc، بارت 2 بعض الكلمات حول السحب. هناك طرق قليلة لحسابه، ونحن نستخدم ما أعتبره أكثر صدقا. ويعد السحب التدريجي مقياسا لعدم استقرار نظامنا. ما هي فرصة، وأنه سوف تفقد المال دعونا نقول المبلغ الأولي هو 1000. إذا كان الربح يذهب 100، 200، 300، 400. السحب هو 0. إذا كان يذهب 100، 200، 100. ثم السحب هو 0.1 ( 10)، لأننا فقدنا للتو مبلغا يساوي 110 من الإيداع الأولي (من 1200 إلى 1100). وأود أن أشير بقوة ضد استخدام أنظمة التداول مع سحب كبيرة. أيضا، هنا يمكنني استخدام السحب، وهذا هو أن تستخدم مع حجم متغير الكثير. ومع ذلك، في العينات الفعلية، التي تأتي مع الكتاب الاليكتروني، سترى نسخة أخرى: كما ترون، وهنا نحن دائما استخدام 1000 (المبلغ الأولي) لحساب السحب. والسبب بسيط: نحن دائما استخدام نفس حجم الكثير (أي إدارة الأموال حتى الآن)، لذلك ليس هناك فرق، كم من المال لدينا تراكمت بالفعل على حسابنا، يجب أن يكون متوسط ​​الربح ثابت. السيناريو الأسوأ المحتمل في هذه الحالة يشبه هذا: من البداية (1000 على حساب) نحن نفقد المال. إذا كنا نستخدم 1000 لحساب السحب، وسوف نحصل على أسوأ تراجع. وهذا سوف يساعدنا على عدم خداع أنفسنا. على سبيل المثال، لنفترض أننا تداولنا لبعض الوقت، ولدينا 10 آلاف حساب. ثم نحن تفقد بعض المال، ولدينا الآن 8،000. ثم انتعشنا، وحصلت على 12،000. نظام تداول جيد ربما لا. يتيح تكرار المنطق مرة أخرى، كما أنه مهم جدا (وسوف تصبح أكثر أهمية، عندما نبدأ في إدارة المال). نحن التجارة باستخدام حجم ثابت الكثير. لذلك، إحصائيا، لا يوجد ضمان، أن الحد الأقصى للخسارة لن يحدث في البداية، عندما يكون لدينا 1000 فقط. وإذا حدث ذلك، سيكون لدينا -1000 (10،000 - 8،000)، وبالتالي فإن نظام التداول وربما أيضا محفوف بالمخاطر. عندما نتحدث عن إدارة الأموال (ربما، وليس في هذا النص)، سيكون لدينا لاستخدام نهج مختلف لحساب السحب. ملاحظة، أنه في هذا النظام التجاري، وأنا باستخدام السيناريو الأسوأ ممكن: أنا شراء باستخدام عالية وبيع، وذلك باستخدام منخفضة. العديد من المختبرين لا تتبع هذه القواعد، وخلق أنظمة التداول، التي تعمل بشكل جيد على البيانات التاريخية. ولكن في الحياة الحقيقية، هذه الأنظمة التجارية لديها أداء ضعيف للغاية. لماذا نلقي نظرة على شريط الأسعار. انها مفتوحة، عالية، منخفضة وإغلاق. هل تعرف، كيف كان السعر يتحرك داخل شريط رقم لذلك، ويقول يقول، نظام التداول الخاص بك ولدت إشارة شراء، في الجزء السفلي من شريط الأسعار (إذا دلو لاحظ أن أستخدم دلوتسيزي يساوي 0.1 لوت (100). من الواضح، في التداول الحقيقي، سوف تستفيد كثيرا، إذا تم حساب حجم الكثير اعتمادا على المال لديك، شيء مثل: forexnn01.tsc، الجزء 3 ومع ذلك، نحن نفعل الاختبار هنا، وليس التداول، وللاختبار، ونحن تحتاج، من بين أمور أخرى، لنرى كيف سلاسة منحنى الربح هو، وهذا هو أسهل بكثير إذا كان حجم الكثير هو نفسه (في الوضع المثالي، ل دلوتسيزي 100 سوف نحصل على خط مستقيم، مع بعض الميل الإيجابي، بينما في حالة من حجم الكثير قابل للتعديل سوف نحصل على الأس، وهذا هو أصعب بكثير لتحليل) في وقت لاحق في هذا النص، وسوف تطبق قواعد إدارة الأموال لنظام التداول لدينا، ولكن ليس بعد. بعد أن يتم ذلك مع الجزء الأخير من اختبار وظيفة، يتيح المشي من خلال بقية التعليمات البرمجية. تخلق الدالة التالية مؤشر كلف الفاصل الزمني e كمعلمة، مما يعني أننا يمكن أن نسميها عدة مرات، خلال التحسين، ويمر أرقام مختلفة. لاحظ أن أنا باستخدام ن الذي يعمل في الفترة 0-1. يمكن تطبيع البيانات، بطبيعة الحال، ولكن اخترت لتقسيم المؤشر بنسبة 2 وإضافة 0.5، بحيث يكون في 0-1 النطاق. forexnn01.tsc، الجزء 4 لجعل ملف تأخر، يمكننا استخدام الدالة كراتيلغافيل. بدلا من ذلك، يمكننا أن نفعل ذلك من خلال توفير صراحة كل التعليمات البرمجية اللازمة. في هذه الحالة، لدينا المزيد من السيطرة، ونحن بحاجة إلى ذلك، إذا بدأنا عدد متفاوت من الأعمدة المتخلفة وهلم جرا. forexnn01.tsc، الجزء 5 المعلمة نريموفيرست مهم. العديد من الوظائف، مثل المؤشرات، والمتوسطات المتحركة، والمولدات المتخلفة، لهذه المسألة، لا تعمل بشكل جيد في السجلات القليلة الأولى من مجموعة البيانات. دعونا نقول لدينا ما (14) - ما سيضع في السجلات 1 - 13 لذلك نختار ببساطة إزالة السجلات القليلة الأولى (غير موثوق بها). ل نيون، وكذلك لجميع وظائف هذا البرنامج، ونحن بحاجة لتمرير كمعلمات فقط ما يمكن تغييره خلال عملية التحسين. على سبيل المثال، ليست هناك حاجة لتمرير تخطي قبل المعلمة، كما هو دائما نفسه. forexnn01.tsc، الجزء 6 وظيفة تيتشن ببساطة جلب الحوار ن. forexnn01.tsc، الجزء 7 وأخيرا، نحن بحاجة إلى وظيفة الرسم البياني. أنها ليست إلزامية، ولكن من الجيد دائما أن نرى ما يبدو خط الربح لدينا. تستخدم التعليمات البرمجية التالية شمل لإنشاء مخطط، لذلك فمن الجيد قراءة البرنامج التعليمي. بدلا من ذلك، يمكنك رسم المخطط، بدلا من حفظه في ملف. للقيام بذلك، استخدم أحد العينات، الموجودة في الدليل سامبلكريبتس. وأخيرا، يمكنك تعديل التعليمات البرمجية، لإنتاج هتمل، بدلا من شمل. هتمل هو أسهل للتعلم، ولكن الرمز نفسه سيكون أقل قليلا للقراءة. forexnn01.tsc، الجزء 8 ترجمة وتشغيل البرنامج النصي. حسنا. كما هو متوقع، باستخدام 7 ساعات كفاصل زمني ل كلف نتائج سيئة للغاية: استراتيجيات التداول الفوركس والتحسين والسبب في النتائج السيئة واضح تماما: استخدمنا الفاصل الزمني، وقف الخسارة، وشراء وبيع المستويات وغيرها من المعالم، التي كانت بحتة عشوائية - اخترنا فقط أولا التي جاءت في الاعتبار ماذا لو حاولنا مجموعات قليلة الفوركس إشارات التداول: ما لتحسين أولا وقبل كل شيء، من خلال أوفيروبتيميزينغ شراء وبيع المستويات، ونحن يمكن أن تدمر أدائنا في المستقبل. ومع ذلك ما زلنا يمكن ضبط لهم، وخاصة، إذا كان أداء قريب لقيم وثيقة من حدود البيع والبيع. على سبيل المثال، إذا كان لدينا -10 الربح عند حد الشراء يساوي 0.3، و 1000 الربح عندما يساوي 0.35، ثم هناك ربما من قبيل الصدفة محظوظا، ونحن يجب أن لا تستخدم 0.35 لنظام التداول لدينا، كما في المستقبل فإنه لن يحدث على الأرجح مرة أخرى. إذا، بدلا من ذلك، لدينا -10 و 10 (بدلا من 1000)، قد يكون أكثر أمانا للاستخدام. عموما، يجب أن يتم بناؤها نظام التداول لدينا لورس ممكن السيناريو، كما لو كان خلال التداول الحقيقي أداء سيكون أفضل، ثم خلال الاختبار، ونحن سوف البقاء على قيد الحياة، ولكن ليس العكس. يمكننا أن نختلف قيمة الفاصل الزمني للمؤشر، شريطة أن يكون لدينا ما يكفي من الصفقات، حتى نتمكن من أن نكون واثقين، من حيث الإحصاءات، في أداء نظام. نحن بالتأكيد يمكن أن تختلف عدد الخلايا العصبية، وأنا لا أعتقد أنه يمكن أوفيروبتيميزد بسهولة. يمكننا أن نختلف عدد المدخلات والتخلف عن المدخلات. فمن الممكن أن يفرط في تحقيق ذلك، ولكن ليس من المرجح جدا أن يحدث. وبطبيعة الحال، يمكننا أن نحاول مؤشرات مختلفة. إشارات فوريكس دقيقة: كيفية تحسين كما سبق ذكره، إذا بدأنا في محاولة كل تركيبات ممكنة، وسوف يستغرق إلى الأبد. لذلك نحن ذاهبون للغش. سنقوم بإنشاء مجموعات محددة مسبقا من المعلمات، التي نعتقد أنها معقولة، وتمريرها إلى البرنامج. لجعل عدد قليل من الحسابات ممكن، لاحظ أن كلف-1 و كلف-2 هي، ربما، مهمة، ولكن ماذا عن كلف-128 و - إذا كان لدينا بالفعل كلف-128، هل نحن بحاجة كلف-129 ربما، لا. لذلك نحن ذاهبون لدينا شيء مثل كلف-1، كلف-2، كلف-4، كلف-8. كلف-128 مع عدد قليل من الاختلافات، الأمر الذي سيجعل لدينا حساب الوقت آلاف مرات أقصر. فوريكس نظام التداول المهني: هل يمكن أن يعمل على الإطلاق ما هو بالضبط نحن نريد أن نتوقع حتى هذه النقطة استخدمنا الرسم البياني 1 ساعة ل يوروس، وكنا نتوقع القضبان القادمة كلف. هل سيكون CLV2 أفضل ماذا عن CLV3 أيضا، وخاصة بالنظر إلى ضعف أداء نظام التداول الأول، سيكون من الجميل أن نعرف، أنه - على الأقل في العالم المثالي، والهدف (تجارة مربحة) يمكن أن يتحقق. للإجابة على هذه الأسئلة، يتيح إنشاء برنامج اختبار بسيط. ونحن نفترض، أن التنبؤ لدينا هو 100 دقيقة، وبناء على هذا الافتراض، وسوف نستخدم كلفن، وليس ن توقع واحد. هذا صحيح - نحن نذهب إلى أخذ البيانات من المستقبل، واستخدامها بدلا من التنبؤ ن. هذا النهج لن تعمل في الحياة الحقيقية، بطبيعة الحال، ولكن في الدرجات، وسوف تعطينا بعض الأفكار من ما يمكن توقعه. عند النظر إلى النتائج، يرجى أن نضع في اعتبارنا، أننا لا تستخدم أي إدارة الأموال المتقدمة، يتم تعيين حجم الكثير لدينا إلى الحد الأدنى 100. إذا كنت تستخدم أحجام متغيرة الكثير، وسوف تكون النتائج مختلفة بشكل كبير. ولكن حتى في حجم الكثير تعيين إلى 0.1 يمكننا أن نرى (أدناه) أن الحصول على المعلومات من المستقبل هو في نهاية المطاف التجار رهيبة هولي. forexnn02.tsc، الجزء 1 كنت بالفعل على دراية هذا الرمز، تم استخدامه في FOREXNN01.TSC. فإنه يتعامل مع تحميل البيانات. والفرق الوحيد هو في الجزء الذي يحصل على قائمة الملفات في دليل الصور وحذف كافة الملفات مع. PNG إكستنتيون. والسبب في هذا الرمز بسيط: خلال الاختبارات لدينا ونحن في طريقنا لخلق العديد - قد يكون، الآلاف - ملفات الصور. نحن لا نريد لهم أن يعلق حولها بعد أن يتم ذلك. حتى في بداية البرنامج النصي نحن حذف الصور، التي تم إنشاؤها بواسطة البرامج النصية الأخرى. forexnn02.tsc، الجزء 2 مجرد عدد قليل من التعليقات. نحن لا نريد أن نحاول كل القيم الممكنة ل، على سبيل المثال، كلف الفاصل الزمني. بدلا من ذلك، يمكننا إنشاء مصفوفة تحتوي على القيم التي نريد اختبارها فقط. ثم (انظر أدناه) ونحن سوف يمشي من خلال هذه المصفوفة. وقف الخسائر هي جزء مهم من أي استراتيجية التداول، لذلك قررت أن تختلف لهم كذلك. ولكنها فكرة خطرة، حيث أنه من السهل الإفراط في تحسين النظام. أنا أخطط لاختبار قيم مختلفة لمستويات الشراء والبيع، ولكن سيتم ذلك في دورة، دون استخدام المصفوفات. على عكس المثال السابق، نريد أن يكون لدينا ملف شمل كبير، يحتوي على العديد من الصور. للقيام بذلك، لقد قمت بتحريك التعليمات البرمجية التي تقوم بتشكيل رأس وتذييل شمل خارج الدالة مخطط. اقرأ أحد برامج شمل التعليمية عبر الإنترنت للحصول على التفاصيل. لاحظ أن أنا باستخدام 0 كما تأخر الأول، مما يعني، أن الأول أنا اختبار المؤشر (كلف) التي لم تتحول من المستقبل. فقط للحصول على فكرة، كيف جيدة نظام التداول خارج سيكون دون ن (الرهيبة، هو الكلمة الصحيحة، ويفقد كل المال). يستخدم اللحاء عنصر تحكم إنترنيت إكسبلورر لعرض صفحات شمل. عندما تنمو الصفحات كبيرة، فإنه يأخذ الكثير من الذاكرة. إذا كان جهاز الكمبيوتر الخاص بك لا يمكن التعامل معها، والنظر في إنشاء صفحات شمل أو هتمل متعددة، بدلا من ذلك. في حالة forexnn02، لا ينبغي أن تكون مشكلة، حيث أن الصفحة قصيرة نسبيا. بدلا من ذلك (وهذا ما أقوم به في النصوص في وقت لاحق في هذا النص)، إنشاء ملف شمل، ولكن لا تفتحه من اللحاء. فتحها باستخدام إنترنيت إكسبلورر بدلا من ذلك - على عكس التحكم إي، لا يوجد إنترنيت إكسبلورر مشكلة الذاكرة. الآن التعليمات البرمجية التي تحاول مجموعات مختلفة من المعلمات. forexnn02.tsc، الجزء 3 هنا، نحن نستخدم دورات متداخلة. في كل دورة، نحن أسيدنينغ بعض المتغير (على سبيل المثال، نينتيرفال للدورة الخارجية). وبهذه الطريقة تعين الدورة قيم جميع عناصر صفيف مطابق، واحدة في كل مرة. ثم داخل ذلك، يتم استخدام الدورة الداخلية، وهلم جرا، بحيث يتم اختبار جميع مجموعات من جميع عناصر مجموعة. في دورة أعمق، وأنا استدعاء الدالة اختبار ()، لاختبار التجارة، و الرسم البياني () لإضافة صورة جديدة إلى قائمة الصور المحفوظة على القرص. لاحظ أن هذا المخطط () لا يظهر أي صور، حتى يتم الانتهاء من جميع الدورات. تكون الدالة تيست () و كريتكلف () هي نفسها تقريبا كما في المثال السابق. الفرق الحقيقي الوحيد يرجع إلى حقيقة أنه يسمى أكثر مرة واحدة. للقيام بذلك، وأنا أدعو أرايريموف لتنظيف المصفوفات. أيضا، لاحظ، أننا خلق فقط المخططات لمجموعات من المعلمات، التي تنتج نظام التداول مع ربح إيجابي. وبخلاف ذلك، ندعو استمرار، لتخطي وظيفة الرسم البياني (). وأخيرا، لدينا جني الأرباح الآن، لذلك نظام التداول لدينا يمكن أن يكون قليلا أكثر مرونة. forexnn02.tsc، الجزء 4 تم تقسيم وظيفة الرسم البياني () إلى قطعتين. 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. forexnn02.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 APPLYNN 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, MetaTraders 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 inse rt this code in the MetaTraders 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 APPLYNN 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 forexnn05a 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 doesnt 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 dont call it MetaTrader I have asked for clarification at the companys forum, and they have told me, that they dont reveal brockers using their services. غريب جدا. 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. Warning 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. هذا مجرد مثال. 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. MetaTraders 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 dont 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 MetaTraders 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. تحميل اللحاء ترتيب اللحاء عرض قائمة الأسعار الرؤية مهمة جدا لهذا الموقع. If you like it please link to this URLSnowCron Self-Organizing Maps Using Self-Organizing Map to create Neural Network Trading System. FOREX Technical Analysis with Auto Classification Kohonen Neural Network. Neural Network Trading with Kohonen Neural Network. In this free online tutorial you will find the full cycle of using Cortex built-in Self Organizing Maps (SOM, kohonen neural networks) for Forex trading (or stock trading, the idea is the same). You will learn how to choose inputs for the Self Organizing Maps . and how to decide what to do with the output. You will find an example of a ready to use script that allows to perform optimization of both the Self Organizing Maps (number of neurons) and the trading parameters (stop loss etc.) Finally (the part that is not present in most tutorials), you will learn what to do next. After all, Cortex Neural Networks Software cannot do real time trading, you need to use something like Trade Station, MetaStocks or MetaTrader. How to port the Self Organizing Maps based forex trading strategy from Cortex to your favorite trading platform Do you have to deal with DLLs, ActiveX controls and low-level programming The answer is NO. Cortex comes with the easy to use feature that allows you to easily port the resulting (trained) Self Organizing Maps to the scripting language of your trading platform. No DLLs, DDE, ActiveX or any other low-level solutions - everything is plain and simple. Important note: this is NOT a how to trade tutorial. Instead, it tells you how to use Cortex, but you still need to invent your own trading system. The one we use here is barely a starting point, and shouldnt be used for Forex trading as is. The idea of this text is to teach you to create Self Organizing Maps - based forex trading strategy and to port them to the trading platform of your choice. The example is, however, ovesimplified, and can only be used as the illustration of trading principles. Same way, the MACD trading system, that can be found in many tutorials, is not working well anymore (as markets have changed), but still is a good example of using indicators for mechanical trading. In two words: do your own analysis. Another important note: the tutorial is using examples, lots of them. To make your life easier, I have included them all, not just fragments. However it makes the text much longer. Also, I am going from the very first, clumsy, trading systems, to more advanced, every time explaining what had been improved and why. Be patient, or jump directly to the section you need. Final important note: the code is not something carved in stone, it could change while this text was written. The final versions of script files are included in Cortex Neural Networks Software archive. Clustering Data: Simple test First of all, lets try a straightforward approach - lets feed our Self Organizing Map with sequence of 0 and 1. This should give us two clusters, that is easy to distinguish visually: As we can see, Self Organizing Maps can easily handle this task, creating two clasters: When we plot data and winner neurons, we can see, that the system works well - 0 and 1 are clearly separated. Clustering Map: Visualizing results The approach we used in the previous example is quite clumsy - we plotted numbers of winner neurons. This is not very informative, and if we want to use this information, for example, as an input of neural networks software - not very useful. The reason is - the number of a neuron is within a 0 - size of a matrix range, and Neural Network will have to figure out a complex relation between it and a cluster neuron belongs to. Also, on a chart, it will give us a non-obvious line. In a SOM, we can uniquely identify a neuron by its coordinates (X, Y) and a signal it produces - by adding a Z - coordinate. Also, a color in a computer graphics is usually represented by (Red, Green, Blue) vector, so here is a trick: lets ask our system to produce not the neuron numbers, but the corresponding colors. We use the following formulas in C language: Lets walk through the code, this time, we are going to use a SIN(X) function. As you can see, classifying patterns in SIN(x) is done fine. Also, on a smooth colors chart, it is easy to see, that colors are properly assigned to similar trend parts of a chart. Forex Signals: Using real quotes Now, lets use real quotes and see if our self-organizing map will be able to handle them same way it handled SIN(x). As you can see from the chart, the SOM worked, but. The classification is not very useful. The problem is, as one would expect, in the fact, that the chart (CLOSE quotes for EURUSD) is going up, so the same pattern at the beginning of a chart and at its end is considered (by self-organizing map ) as two completely different patterns. Forex Trading Strategy: Using NOC indicator NOC (Normalize On Condition) indicator was created and used in one of the previous articles to handle the requirement of the NN - it need normalized data to work. We are going to use NOC with self-organizing map to classify trends of the CLOSE quotes. ملحوظة. that I personally DO NOT think that NOC is a perfect indicator to be used with SOM. Some kind of a claster indicator, showing money flow between different currencies, will most likely do a much better job. So please, consider this as an example, and build your own trading system. To crash test our system, you can use eurusdh1long. txt quotes file, that is included in the Cortex archive, together with the shorter eurusdh1.txt. When you use it (by replacing the short one in the code), you can see our systems behaviour in the out of sample test, on the data, it never seen. In that test, NOC does not fail, but does not shine either. Also, we use cycles to find nicer parameters. Above is a small fragment of a resulting chart. Note, that it is very hard to say what use can we have for this type of a classification, but a) maybe, FFBP Neural Network can make sence out of it and b) it is just an example. We can also use daily charts. Below is the nearly identical code for MSFT stock price. FOREX Trading Strategy without Kohonen SOM With the chart we got in the chapter above, it is hard to create a forex trading system system. There is a classification, all right. But it does not look like trend up - green, trent down - red. So lets use a FFBP neural network to mak sence out of it. To make it better, lets use both Self-Organizing Map output and NOC as FFBP NN inputs. We are going to use the script from the article about Neural Networks FOREX Trading. that, I assume, you have already read. First, lets run the original, SOM-free, script again and find the optimal set of NN parameters. Here, we can choose a winner. Note, that beating the market is not our goal here, what we want to do, is to take more-or-less working FFBP system and to see, if its performance can be improved by supplying additional inputs from SOM. Trades: 27(Buy: 27, Sell :0) NocInterval: 12, Range: 0.004, Ma: 3 Lag: 2, Neurons: 5 Stop: 0.0200, Tp: 0.0000, Stop increase: 0.600000, Buy: 0.170, Sell: 0.900 Drawdown: 0.299 Profit: 6174.000000 (long: 6174.000000, short: 0.000000) This chart looks good enough. In the next chapter we are going to use Self-Organizing Map output in addition to NOC. Using Kohonen Neural Network and FFBP Neural Network together We are going to remove cycles from the previous example, and to add a Self-Organizing Map to it. The Kohonen SOM was created by som04.tsc, note, that you need to run that script first. So, first of all, run som04.tsc and rename the resulting Self-Organizing Map to som04winner. kh. The following script uses the existing Kohonen SOM and tries to find optimal parameters for FFBP NN that uses its output as an input, in addition to NOC. Trades: 29(Buy: 29, Sell :0) NocInterval: 12, Range: 0.000, Ma: 3 Lag: 2, Neurons: 7 Stop: 0.0200, Tp: 0.0000, Stop increase: 0.500000, Buy: 0.140, Sell: 0.900 Drawdown: 0.557 Profit: 6677.000000 (long: 6677.000000, short: 0.000000) As you can see, at least one chart is better, than it was without SOM, though AGAIN, this is just an example, and for a real trading system, NOC is, most likely, NOT the best choice of input for Kohonen SOM (it is very good for FFBP NN, however). Removing cycles from FFBP Neural Network Trading System Now, lets port our trading system to a real trading platform. After all, Cortex Neural Networks Software cannot do online trading, so we need to use MetaTrader, TradStation or something else. We are going to create a script for MetaTrader expert here, that uses both our FFBP NN and SOM. We do it in two steps. First, we are going to repeat the steps from Neural Networks FOREX trading article, for our winner FFBP. Then we add SOM. To do it, we remove cycles from the som05.tsc code, it leaves us with a code, that uses a single winning NN. Then we add code to this script, to PRINT weights of neurons. We format this output, to make it comply with MetaTraders (or other trading platform, it is up to you) syntax. As the result, we have a large array with NN weights, that we can paste into the expertindicator code of a trading platform of your choice. For now, lets remove all unnecessary cycles from som5.tsc, so that we have the script, that works with a winner NN. As we use existng winning NN, we need to get it somewhere. The Cortex comes with som05winner1.nn (created in som05.tsc and then renamed). Note, that the code still has cycles - just to be as familiar as possible - but these cycles are only done once. Also, some parameters for the Noc and network are hardcoded: som06.tsc, FFBP, no SOM yet Exporting weights of the Neural Networks The next step is to export weights of the Neural Network to the scripting language of a trading platform of our choice. Here we are just repeating the Neural Networks Forex Trading. To do it, we add couple of PRINT statements to the som06.tsc, and it will produce the necessary output. Simply insert the following code in the som06.tsc: Note, that the logic behind it was discussed in Neural Networks Forex Trading article already. Briefly, the output of this script is formated to be compatible with the MQ4, MetaTraders 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 MetaTraders indicator, and to use it to trade. Emulating APPLYNN The next step is not really required, but it is something, that may be useful to find and fix bugs in code. We are going to create a version of som06.tsc, but this time, we will use SLANG (Cortex built-in scripting language ) to emulate APPLYNN 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. Porting FFBP Neural Network to trading platform The following code is taken from Neural Networks Forex Trading article. It is a ready to be used pair of indicator and an expert, that uses that indicator. No kohonen neural network code yet. As usual, please keep in mind, that it is just an example, that is not necessarily going to always be profitable. Also, as some of our MetaTrader code is the same for all experts and indicators, we moved it to a separate library file. MetaTraders 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 Kohonen Neural Network FFBP Neural Network, no cycles We are done with a forex trading system that uses FFBP networks only. Now we are going to do the same work with a forex trading strategy . that uses FFBP and Kohonen SOM together. First of all, lets take som07.tsc again, and run it, in order to pick the best FFBP network. Note, that the Kohonen clustering map for this script was created earlier (in som04), and stored as som07winer. kh, so we do not have to recreate it. Trades: 52(Buy: 52, Sell :0) NocInterval: 12, Range: 0.004, Ma: 3 Lag: 2, Neurons: 3 Stop: 0.0200, Tp: 0.0000, Stop increase: 0.600000, Buy: 0.170, Sell: 0.900 Drawdown: 0.981 Profit: 6820.000000 (long: 6820.000000, short: 0.000000) Then, lets remove cycles from som07.tsc, to get the script we are going to port: Exporting weights of the Self-Organizing Map Lets add the code to print Neural Network parameters, both for FFBP Neural Network and for self-organizing map . We do it by adding the following to som10.tsc: Emulating APPLYSOM function The next step is to add the code, that emulates apply function, using generic scripting language instead of Cortex-specific calls. As we already have this code for FFBP NN, lets focus on SOM only. Porting Self-Organizing Map forex trading system based to MT The final step is to port our script to MetaTrader, so that it can be used for real trading. We are going to use the same expert as in the FFBP only example above, however, the indicator will contain both FFBP and SOM code. Note, that in addition, mylib. mq4 is used, its code is the same as in FFBP only example. The indicators code was created based on FFBP only example, by adding the SOM code, ported from som12.tsc: Final notes That is it. You can now create Cortex Neural Network Software script, that takes SOM output as its inputs, among other inputs, optimize it to do trading, and to port it to the trading platform of your choice. Note, that this is not your only option - you can use this approach, for example, to create FFBP NN that uses more than one indicator plus another FFBP NN output as its input, and so on. تحميل اللحاء ترتيب اللحاء عرض قائمة الأسعار الرؤية مهمة جدا لهذا الموقع. إذا كنت ترغب في ذلك يرجى ربط هذا العنوان

No comments:

Post a Comment