مقابلة مع ليونيد فيليتشكوفسكي: "أكبر أسطورة حول الشبكات العصبية هي سوبر-بروفيتابيليتي"
- ليونيد، أنت ممثل نادر من المجتمع التجار، الذين يستخدمون الشبكات العصبية للتداول. هذه تطورات معقدة للغاية، لكن جيش معجبيها يستمر في النمو. ما الذي يجذبك في الشبكات العصبية؟
- قبل ست سنوات، في البداية، جذبتني الشبكات العصبية مع جديتها، وطبيعة غامضة غير عادية والربحية على ما يبدو عالية. على مر السنين، ذهبت العديد من الأساطير، ولكن الشبكات العصبية لا تزال تجذب لي مع قدرتها على التكيف مع أي منحنى وإيجاد أنماط حيث لا شيء ولا أحد آخر يمكن العثور عليها.
- هل يمكن أن أقول المزيد عن الخرافات المرتبطة الشبكات العصبية؟ هل التقيت بأي خيبة أمل في هذا المجال؟
- أكبر أسطورة المرتبطة الشبكات العصبية هي الربحية العالية. ولكن هذا لا ينطبق فقط على الشبكات العصبية، ولكن على الفوركس ككل. في البداية يبدو أنه من السهل لكسب - شراء وبيع، لا يوجد شيء معقد في ذلك. في وقت لاحق، ومع ذلك، تظهر بعض العوامل، والتي كنت لا تعرف حتى - فقط ثم عليك أن تبدأ لفهم وفهم لهم. في الشبكات العصبية، مخيبة للآمال هو الشيء الذي يجذب لك - قدرتها على التدريب والتكيف مع أي سوق مع أي بيانات متاحة. إن ميزتها الكبيرة هي عيب كبير عند تطبيقها على الأسواق المالية. هذا هو التحول مذهلة!
- كيف أتيت إلى فهم أن الشبكات العصبية لا تجلب أرباحا فائضة؟ هل كان هناك أي تجربة شخصية؟
- لا توجد ربحية فائقة في الفوركس أيضا، ليس فقط في الشبكات العصبية. بالمعنى الدقيق للكلمة، الشبكات العصبية هي نفس النظم التجارية (من الآن فصاعدا - تيسي). أنها تستخدم فقط نيورونيت بدلا من المؤشرات المشتركة. ومن ثم فإن أهم وجه هو إدارة الأموال، أي "الجشع" للتاجر.
عند بدء التداول، ليس لديك مفهوم إدارة الأموال على هذا النحو. ولكن بعد ذلك تأتي إلى إدراك ضرورة هذه الأداة. العمل على الفوركس، وبشكل عام في الأسواق المالية، يرتبط دائما بالمخاطر. يجب أن تكون على علم بأن خطر 100 $ و 100،000 $ أمران مختلفان. عندما كنت تداولت على إيداع الأولي من 100، 500 وحتى 1000 دولار، كان هناك بعض المخاطر، وكان النهج برمته للتداول محددة. وعندما بدأت التجارة بمبالغ أكبر، أصبح الموقف من التداول شيئا مختلفا تماما - زاد مستوى الخطر، وسرعان ما فهمت أنني قد أخسر كل شيء. وجاءت مسؤولية معينة مع هذا.
على سبيل المثال، عند التداول على إيداع 100 $، فإن ربح 100٪ سنويا لا يكاد يكون مرضيا، على ما أعتقد. ولكن التداول على إيداع 100،000 $ ربح 100٪ سنويا ليست سيئة على الإطلاق. وهكذا، هناك نوع من الصراع النفسي - التجار الذين يتاجرون على الودائع الصغيرة، تسعى لكسب أسرع وبأكبر قدر ممكن. وهذا يدفع التجار إلى تجاوز كل المخاطر التي يمكن تصورها. والنتيجة هي فقدان الطبيعي للودائع! لذلك، أعتقد، التداول على الودائع الصغيرة محكوم عليه بالفشل بسبب الرغبة الطبيعية للتاجر لكسب أسرع وأكبر قدر ممكن. و 100 دولار، على سبيل المثال، ليست كمية كبيرة بما يكفي لإبقاء لكم بعيدا عن المخاطر.
- على مدى السنوات الست الماضية، كنت تعمل مع الشبكات العصبية في التداول. كيف يمكنك إنشاء هذه الشبكات العصبية الغامضة؟ ماذا تستخدم؟
- أنا لست مبرمج، أنا تاجر. برمجة الشبكات العصبية واستخدامها في الأسواق المالية هي أشياء مختلفة تماما. المبرمجين مساعدتي في تطوير المستشارين الخبراء - رومان كرمار (الطعن)، يوري زيتسيف (يوراز)، فيكتور نيكولايف (فينين) وديمتري فيدوسيف (صحيح). كلهم من المهنيين في مجال عملهم، ولست بحاجة إلى شرح الكثير - أنهم يعرفون كل شيء على ما يرام تماما. وأنا ممتن جدا لهم جميعا على عملهم ومهنيتهم.
كما تعاونت وواصلت العمل مع ستيف وارد (مجموعة أنظمة وارد) وسيرجي دولينكو (نيوروبروجيكت) الذي قدم لي معلومات لا تقدر بثمن عن تطبيق الشبكات العصبية في الأسواق المالية. بالإضافة إلى ذلك، عملت بشكل وثيق مع دينيس مايرز (مايرز أناليتيكش)، فيليب لونجوكس (نوكسا أناليتيكش، Inc.) ومارك سيمبسون (بوافورت تيشنولوجيز Inc.)، الذي اختبرت معه أنظمة ومؤشرات جديدة.
أود أن أشير إلى أن تطبيق الشبكات العصبية في الأسواق المالية لديه العديد من الميزات والمفاهيم والتقنيات المبتكرة، ويختلف كثيرا عن استخدامها في مجالات أخرى.
أنا استخدم ميتاتريدر 4، بطبيعة الحال. الآن أحاول تكوين صداقات مع ميتاتريدر 5. أداة أخرى لا غنى عنها للعمل هو نيوروشيل، والتي بدونها لا أستطيع أن أفعل. يمكنني استخدام متفيد كجسر بين ميتاتريدر 4 و نيوروشيل.
- هناك العديد من أساليب تدريب الشبكات العصبية. ليونيد، كيف يمكنك تدريبهم؟ وأخيرا، فإن السؤال الذي يعذب العديد من المبتدئين في التداول الشبكة العصبية: كيفية تجنب ما يسمى "الإفراط في التدريب"؟
- إنه سؤال معقد، وأنا (وليس فقط لي) ليس لديهم إجابة والتي من المستحيل أن تنظم بشكل واضح. ومع ذلك، سأحاول أن أتناول المشاكل الأساسية للتدريب وسبل تجنب الإفراط في التدريب. بسبب عدم خطية قوية والقدرة على التكيف مع أي بيانات، يتم تعديل الشبكة العصبية بشكل جيد جدا، المدربين، ونتيجة لذلك - الإفراط في التدريب. شبكة عصبية مع عدد قليل فقط من الخلايا العصبية في الطبقة الداخلية بسهولة يتذكر تاريخ بضعة آلاف من الحانات. وتجدر الإشارة إلى أن "الإفراط في التدريب" متأصل في الشبكات العصبية فقط عند تطبيقها على الأسواق المالية. ماذا يعني هذا؟ ونحن نعلم جميعا أن تغيرات السوق مع مرور الوقت - ما حدث في الماضي سوف تكون ذهبت في المستقبل. حسنا، ستكون موجودة، ولكن بشكل مختلف إلى حد ما، لن تكون هناك مباريات بنسبة 100 في المائة. أنماط والقوانين ومناطق السوق - كل هذا سيكون مختلفا في أجزاء مختلفة من السوق.
وبالتالي، إذا كانت الشبكة العصبية تتعلم الدروس (أمثلة) من الماضي بشكل جيد جدا عندما يجري تدريب على بيانات التاريخ، في نهاية المطاف قد ببساطة فشل في إشعار أو تحديد أنماط جديدة ومناطق السوق في المستقبل. لأن كل منهم قد خضعت لبعض التغييرات. أي أن الشبكة العصبية تتكيف بشكل جيد مع ظروف السوق، التي كانت موجودة في الماضي، لكنها لم تتمكن من التعرف على الأنماط الجديدة في ظروف السوق المتغيرة.
هل هناك أي طرق لتجنب الإفراط في التدريب؟ هناك العديد من الطرق، ولكن الرئيسي هما اثنان منهم: التوقف المبكر للتدريب وزيادة فترة التدريب. ومع ذلك، فإن كلا الطريقتين لها عيوب خطيرة. في وقت مبكر توقف، وهناك أسئلة صعبة، والتي لا يوجد جواب: في أي نقطة يجب التوقف عن التدريب؟ ما هي المعايير التي ينبغي استخدامها لذلك؟ هناك العديد من الإجابات على هذا السؤال - استخدام الأخطاء، ومستوى الربح، السحب وغيرها من المعايير الرياضية. لكنها لا تعطي ضمانا بنسبة مئة في المائة من الوقف في الوقت المناسب. لذلك، يتوقف هذا التوقف في الوقت المناسب من التدريب فقط على مهارات التاجر.
وهناك اعتقاد خاطئ بأن الأفضل في الماضي كان أفضل في المستقبل. أو كلما كان الخطأ أقل في فترة التدريب، كلما كانت الشبكة تعمل بشكل أفضل في المستقبل. ومع ذلك، هذا ليس صحيحا - السوق يتغير، ويجري تدريبا جيدا جدا في البيانات التاريخية، يمكن للشبكة العصبية تفشل في رؤية المستقبل. وأنا أعلم من تجربتي الخاصة أن نسبة الأخطاء من جانب التدريب والأرباح على أوس (خارج العينة - خارج الفاصل الزمني الأمثل) أو على حساب حقيقي هو ما يلي - ينخفض الخطأ تدريجيا مع زيادة وقت التدريب، ولكن الربح يزيد أولا ثم يسقط، وتشكيل الحد الأقصى في لحظة معينة في الوقت المناسب. هذا هو الحد الأقصى الذي نحتاجه للقبض عليه.
وعلاوة على ذلك، مع زيادة وقت التدريب، والخطأ أيضا أن تنخفض تدريجيا، والربح على أوس يمكن أن تنتج عدة أقصر، لكنها عادة ما تكون أقل من الأولى. على الرغم من أنني واجهت حالة حيث كان الحد الأقصى الثاني وحتى الثالث أعلى من أول واحد. ولكن يعتقد أن الحد الأقصى الأول هو أفضل من بقية من حيث الربحية والكفاءة. في الواقع، مهمتنا هي للقبض على هذا الحد الأقصى الأول. وهذا يعتمد على مهارات وخبرات التاجر - أنا لا أعرف أي معايير أخرى أكثر دقة. على الرغم من، بالطبع، ونحن قد ويجب أن تسترشد نسبة الربحية، والخطأ، وخفض، نسبة شارب، والعديد من المعالم الأخرى. ولكن في نهاية المطاف، فإنه يعتمد فقط على التاجر ما هي المعايير لاستخدامها. وهذا يعتمد على كيف يفهم له تيسي ويعرف كيف يتصرف.
بينما على فترة من التدريب، أشياء مختلفة تماما يحدث. الخطأ والأرباح تتصرف العكس تماما - الخطأ تدريجيا تنخفض، ويزيد الربح على نحو سلس. إذا زادت الأرباح خلال التحسين، وهذا يعني أن مستشار الخبراء يتم تركيبه ببساطة على منحنى السوق، وتحويل السعر إلى منحنى سلس. وينبغي أن يرتفع هذا المنحنى ويسمى الإنصاف. في الواقع، هذا الأمثل هو أيضا للحد من الخطأ. ونحن نحصل على الشيء التالي: الربح الأكبر على قسم التدريب أو التحسين هو، على الأرجح سيكون لديك الإفراط في التدريب أو الإفراط في التحسين (المناسب)، ونتيجة لذلك - خسائر في المستقبل.
والطريقة الثانية لتجنب الإفراط في التدريب هي زيادة فترة التدريب، أي زيادة كمية البيانات التي تدرب عليها الشبكة. ولكن هذه الطريقة لديها أيضا المزالق لها. زيادة كمية البيانات في الأسواق المالية يؤدي إلى حقيقة أن الشبكة قد ببساطة تفشل في رؤية أو التعرف على تلك الأنماط ومناطق السوق، والتي توجد في قسم التدريب معين. القسم كبير جدا لذلك. وذلك لأن السوق يتغير مع مرور الوقت. ويظهر نمط معين أيضا "مختلف" في هذه الفاصل الزمني الكبير، ولا يمكن للشبكة تعريف أن هذا هو نفس النمط، الذي تغير فقط مع مرور الوقت.
ثم ينشأ سؤال طبيعي: ما هو جزء من السوق ينبغي أن تعطى لشبكة للتدريب؟ هنا هو الجواب: الجزء حيث تعترف الشبكة بنجاح أنماط ومناطق السوق اللازمة ل تيسي والتاجر. هذا يعتمد على مهارات المتداول - الطريقة التي يرى السوق وكيف انه يمكن اختيار الجزء المناسب للتدريب. في تجربتي هذا هو من 500 إلى 2000 الحانات اعتمادا على الإطار الزمني وحالة السوق.
وهناك المزيد من الطرق لتجنب الإفراط في التدريب، ولكنها ليست كبيرة جدا.
ترى، الكثير يعتمد على مدى مهارة وخبرة التاجر هو. لذلك أعتقد أن هذه المهنة تتطلب ليس فقط المعرفة الرياضية ولكن أيضا بعض الإبداع. ومن الواضح أيضا أن جميع الميزات والفروق الدقيقة في استخدام الشبكات العصبية، وكذلك تيسي المعتادة، تأتي من حقيقة أن السوق يتغير مع مرور الوقت، والماضي لا يكرر بالضبط في المستقبل. ولا توجد هذه الميزة إلا في الأسواق المالية. هناك أسطورة شعبية أن تحتاج إلى إعطاء الكثير من البيانات إلى الشبكة العصبية والسماح لها تدريب - وسوف تتعلم بشكل مستقل ما يحتاج إليه. للاستخدام العادي للشبكات العصبية قد يكون هذا صحيحا، ولكن الأسواق المالية لها خصوصياتها الخاصة، والتي وصفتها أعلاه، لذلك ليس من السهل جدا في هذه الحالة.
في رأيي، هاتين الطريقتين لتجنب الإفراط في التدريب تنطبق أيضا على الاستفادة المثلى من المستشارين الخبراء المشتركة، من دون الشبكات العصبية. الإفراط في التحسين، أو "المناسب"، محدد بالأسواق المالية فقط. والطرق لتجنب ذلك هي نفسها. ويكمن جوهر الإفراط في التحسين أيضا في أن طبيعة الأسواق المالية تتغير في الوقت المناسب. بالمعنى الدقيق للكلمة، "السوق ليست ثابتة".
- ما هي الأخطاء الشائعة التي يمكن أن يواجهها المتداول عند بدء العمل مع الشبكات العصبية؟
الوهم الشعبي من التجار الذين يبدأون باستخدام الشبكات العصبية واستخدام البيانات غير العادية في المدخلات، في محاولة للحصول على سعر شريط المقبل، هو "اليوم سيكون مثل أمس، وغدا سيكون مثل اليوم" (إذا نظرنا يوميا القضبان). هذا هو التدريب المشترك المشترك للشبكة. في حين أن البيانات على الفوركس لا تختلف كثيرا عن بعضها البعض (100 نقطة تجعل 0.7٪ فقط من السعر)، ثم خطأ التدريب سوف تكون صغيرة أيضا، وسوف الشبكة بسرعة العثور على هذا الحد الأدنى المحلي للتدريب.
- يستخدم بعض التجار "العصبيين" المعالجة المسبقة لبيانات المدخلات. هل تستخدم أي شيء من هذا القبيل في الشبكات العصبية؟
- عموما، أنا أبدا استخدام سلسلة الوقت النقي للمدخلات من الشبكات العصبية. يتم تحويل سلسلة زمنية دائما من قبل بعض المؤشرات، والتي تطبيع البيانات إلى صف معين. على سبيل المثال، من -100 إلى 100 أو من -1 إلى 1. ليس مطلوبا تطبيع إضافي، لأنه إذا كانت قيم المؤشر أكبر من 1، فإنها يمكن دائما أن تقسم على عدد مناسب، لتحقيق قيمة لا تتجاوز 1. I في محاولة للقيام بتغيير بسيط من البيانات المدخلات ممكن، لأن أي تحول يجلب التشويه غير الخطية إضافية في إشارة الدخل. وهذا يؤدي بناء على ذلك التدريب الخاطئ للشبكة العصبية، لأن التشويه يمكن أن تفسر بشكل غير صحيح من قبل الشبكة. وعلاوة على ذلك، مع التحولات القوية، وبالتالي التشوهات غير الخطية الكبيرة، ويمكن تدريب الشبكة ليس على إشارة الدخل الحقيقية، ولكن على التشوهات غير الخطية، والتي قد تؤدي إلى عملية خاطئة وفقدان الودائع.
وفيما يلي بعض الأمثلة على التشوهات غير الخطية التي تكون مرئية للعين المجردة. خذ، على سبيل المثال، ستوشاستيك المعتاد. ويبدو أن مثل هذا المؤشر البسيط لن يجلب أي تشوهات. ولكن في بعض اللحظات، فإنه يجعل تشوهات غير الخطية قوية، والتي قد تضلل الشبكة العصبية في عملية التدريب وفي مزيد من العمل على حساب حقيقي.
يتم وضع علامة على هذه المناطق مع البيضاوي الأبيض على الرسم البياني. في الحالة الأولى ترتفع الأسعار، ومؤشر مؤشر ستوكاستيك تقف تقريبا في قيمه القصوى. وفي الحالة الثانية، يكون السعر تقريبا عند مستوى واحد ونفس المستوى، وينخفض مؤشر مؤشر ستوكاستيك بشكل حاد من الحد الأقصى إلى القيم الدنيا. في الحالة الأولى سوف مؤشر ستوكاستيك لا يجلب أي معلومات إلى الشبكة، في حين في الحالة الأخيرة فإنه ببساطة "الخلط بين ذلك". في كلتا الحالتين، فإن سلوك مؤشر مؤشر ستوكاستيك يكون لها تأثير سلبي على كل من التدريب وعلى عمل الشبكة العصبية على حساب حقيقي، وهذا يمكن أن يؤدي إلى خسائر مالية.
وتجدر الإشارة إلى أن هذين المثالين هي تشوهات ملحوظة تماما التي يمكنك أن ترى بسهولة. وهناك المزيد من التشوهات التي لا يمكننا أن نرى وتحليل! صدقنى. وجميع هذه التشوهات (الكبيرة والصغيرة) معا مجتمعة. لذلك، كن حذرا للغاية عند القيام مع المعالجة المسبقة لبيانات المدخلات.
وبطبيعة الحال، هناك مؤشرات تشوهات أقوى بكثير. وهناك أيضا تلك التي تجعل أقل قوة منها. ومع ذلك، فإن الحقيقة لا تزال - تشويه مصنوعة من قبل أي مؤشرات. على الرغم من ذلك، يمكنك تحديد معلمات محددة إلى أي مؤشر (حتى ستوكاستيك)، بحيث سيجلب الحد الأدنى من التشوهات في إشارة الأصلي مع ظروف السوق المحددة. وبطبيعة الحال، قد تتغير طبيعة السوق، وسيكون لديك لتغيير المعلمات مؤشر من أجل الحد من التشويه قدم. وفي هذه الحالة، فإن الاختيار السليم لمعلمات المؤشر وتعديلها في الوقت المناسب (سواء تلقائيا أو يدويا) يعتمد أيضا كليا على مهارات المتداول وخبرته.
- كيف تقيم نتائج الشبكة العصبية بعد التدريب أو تيسي بعد التحسين؟ ما هي معايير استخدامها على حساب حقيقي؟
حاليا، أنا تقريبا لا تأخذ في الاعتبار نتائج تيسي، والتي تم الحصول عليها في التدريب (الأمثل) الفاصل الزمني. أنا تحليل النتائج على أوس أو حقيقية، لأنني أعتقد أنه في فترة التدريب (الأمثل)، ونتائج تيسي لا يمكن أن أقول شيئا. وهذا يمكن أن يكون مناسبا أو الإفراط في التدريب. وأنه يكاد يكون من المستحيل تحديد ما إذا كان مناسبا أم لا. يمكنك تحديده فقط عن طريق اختباره على أوس أو أفضل على حساب حقيقي. في بعض الأحيان، أنا ببساطة مقارنة النتائج على حساب حقيقي (أوس) والتدريب (التحسين). وبالتالي، فإن الأرقام تظهر الإنصاف على حساب حقيقي مع النفوذ التجاري 1: 1 (استخدام الودائع هو 1٪ مع الرافعة المالية من 1: 100 المقدمة من قبل مركز التعامل). إذا قمنا بزيادة الرافعة المالية، فإن مجموعة الأسهم سوف تزيد أيضا.
في الواقع، أنا تحليل نتائج تيسي فقط مع الرافعة المالية 1: 1، أي مع "معطلة" إدارة الأموال. لأن إدارة الأموال يمكن أن تعطي فكرة خاطئة عن السحب الفعلي لل تيسي، وبالتالي، "غير متوقع" دعوة الهامش وغيرها من المشاكل. في الأرقام، يمكنك أن ترى في الأسهم مع الرافعة المالية 1: 1.
بالمناسبة، هو نفس النظام التجاري الذي شارك في أتس 2008، على الرغم من مع تعديل طفيف المعلمات.
في الآونة الأخيرة، لاحظت ما يلي: إذا كان عامل الربح كبير للغاية في التدريب (الأمثل) الفاصل مع الرافعة المالية 1: 1، يمكننا أن نقول على وجه اليقين أنه هو الإفراط في التدريب (الإفراط في التحسين). وفي المستقبل، في البيانات المجهولة، ونظام التداول مع هذه المعايير تعمل بشكل سيء (أي سوف تفقد الودائع). ويمكن ملاحظة أنه في الأرقام، ترتفع حقوق الملكية بسلاسة بدلا من الارتفاع الحاد. هل يمكن أن نستنتج أن ربحية هذا النظام التجاري ليست صغيرة جدا. على الرغم من أنه إذا قمت بزيادة النفوذ التداول أو استخدام إدارة الأموال أكثر عدوانية، والأرباح يمكن أن تزيد متعددة. كل شيء يعتمد على السحب، الذي يظهر مع الرافعة المالية من 1: 1، والتخفيض يسمح به التاجر.
- ما يقرب من عامين قد مرت منذ أتس 2008. ما الدروس التي تعلمتها من نتائج تلك البطولة؟ لماذا لم يتمكن مستشار الخبراء من الفوز في المسابقة؟
البطولة هي مسابقة. بدون مخاطرة لا فائدة. لقد تجرأت. وتجاوزت جميع المخاطر المحتملة بسبب إدارة أموالي. تمكنت من كسب 110،000 ثم سقطت إلى 14،749 بسبب ذلك إدارة الأموال العدوانية جدا. لمدة 3 أشهر، كان الربح ما يقرب من 50٪، والتي كانت جيدة جدا. لكن السحب كان 92٪، وهو أمر غير مقبول في الحياة الحقيقية. ثم، بعد تشغيل بلدي إي مع إدارة المال معقولة خلال نفس الفترة، حصلت على نفس النتيجة تقريبا من 14،000 $، ولكن مع السحب من حوالي 25٪ - وهذا هو نتيجة جيدة للحياة الحقيقية. الاستنتاج هو أنه يجب أن لا مطاردة الأرباح الزائدة، وإلا يمكنك أن تخسر. ولكن بطولة يجعل قواعدها الخاصة، وبطبيعة الحال، تحتاج إلى تحمل المخاطر للفوز.
- هل تغير أي شيء بشكل جوهري في تطوراتكم خلال هذه الفترة؟ ربما، هل وجدت أي الدراية وتطبيقه في الممارسة العملية؟
لا، في الواقع كل شيء لا يزال هو نفسه. لم يحدث شيء جديد. وعلاوة على ذلك، فإن نفس المستشار الخبراء مع نفس المعلمات لا تزال تعمل، على الرغم من أنني وجدت غيرها، أكثر "مربحة" المعلمات. جوهر السوق لا يتغير - فقط طابعه يتغير، الذي تاجر من ذوي الخبرة يجب أن تتبع، ضبط في الوقت المناسب له تيسي لظروف السوق الجديدة المتغيرة.
- وكان مستشار الخبير الكسندر توفيلو، الفائز في أتس 2007، يتألف من ثلاثة أنظمة فرعية مستقلة. ومع ذلك كان صاحب البلاغ يتقدم في هذا الاتجاه، وإنشاء لجنة من الشبكات العصبية. هل تستخدم هذه اللجان في تطوراتك؟
- لا، رفضت استخدام اللجان بسبب صعوبة تنفيذها والمحافظة عليها. على مر السنين، لقد جئت إلى استخدام تيسي بسيطة، لأن تيسي معقدة للغاية، وكذلك مع اللجان، لا يمكن ضمان ربح أكثر استقرارا وأكبر بالمقارنة مع واحد بسيط.
- المؤلف من مستشار واحد متعدد العملات خبير واحد بين الفائزين في أتس، ويعتقد نيكولاي كوسيتسين أن قواعد البطولة القادمة مواتية للولايات المتحدة متعددة العملات وتترك فرصة ضئيلة للروبوتات العملة واحدة. هل تستخدم عملات متعددة في مستشاري الخبراء؟ ما هي الأزواج التي تقوم بها تجارتك؟
- بالطبع أنا استخدامها. وهذا يسمح للتحوط الصفقات والحصول على أكثر سلاسة الإنصاف. إلى جانب ذلك، إذا كنت تستخدم متعدد العملات للتحليل، وهذا يساعد على إنشاء أنظمة تجارية أكثر استقرارا وموثوقية. على بطولة، وأنا أعتزم التجارة ور / أوسد، أوسد / جبي و أود / أوسد - يعتمد على كيفية تغير الوضع في السوق أقرب إلى بطولة.
- ليونيد، شكرا لك على المقابلة. حظا سعيدا في بطولة!
في هذه المقالة سوف تظهر كيفية كتابة مستشار الخبراء وتجنب الأخطاء التي قد تمنعك من المشاركة في بطولة التجارة الآلي القادمة 2018.
إدارة المخاطر في التداول الآلي.
إدارة المخاطر هي عنصر أساسي في أي نظام تداول. وبدون ذلك، فمن المستحيل تقريبا أن نتصور التداول مربحة. في هذه المقالة، والمطورين من ذوي الخبرة من أنظمة التداول الآلي تبادل النصائح حول إدارة المخاطر مع المشاركين في البطولة.
الشبكة العصبية نظام تداول الفوركس R موديل.
تعتبر الشبكات العصبية لتكون اختراق منظمة العفو الدولية الأكثر ثورية.
الشبكات العصبية تستخدم الآن في العديد من المجالات الآن.
هل يمكننا تدريب شبكة عصبية لتداول العملات الأجنبية؟
نحن أولا تصنيف البيانات إلى ثلاثة فئة، أعلى، أسفل والمدى.
ثم نبني نموذجا يمكنه التنبؤ بما إذا كان السوق سيتحرك صعودا أو هبوطا أو نطاقا.
باستخدام الكمبيوتر كوادكور يمكننا التنبؤ بالسوق في أقل من ثانية.
لذلك يمكننا بسهولة استخدام هذا النموذج الشبكة العصبية للتداول 5 دقائق الخيارات الثنائية وكذلك 1 دقيقة الخيارات الثنائية.
يمكننا أيضا تغيير نموذج الشبكة العصبية قليلا واستخدامها للتداول على الأطر الزمنية أعلى مثل 60 و 240 دقيقة.
فوركس.
12 327 & # 32؛ пользователей находятся здесь.
МОДЕРАТОРЫ.
ورايغستين ترادينغ بينيس فور دولارس فسماركيتماكر بروفيسيونال ترادر Hot_Biscuits_ نماذج وزجاجات spicy_pasta ريتشيغ المنجم المالي El_Huachinango مود finance_student بروب ترادر о команде модераторов & راكو؛
مرحبا بكم في رديت،
الصفحة الأولى للإنترنت.
والاشتراك في واحدة من الآلاف من المجتمعات المحلية.
تريد إضافة إلى المناقشة؟
помощь правила сайта центр поддержки вики реддикет مود غدلينس связаться с нами.
приложенияи инструменты رديت لأيفون رديت لالروبوت موقع الجوال кнопки.
Использование данного сайта означает، что вы принимаете & # 32؛ пользовательского соглашения & # 32؛ и & # 32؛ Политика конфиденциальности. &نسخ؛ 2018 ريديت инкорпорейтед. Все права защищены.
يتم تسجيل ريديت وشعار ألين علامات تجارية مسجلة لشركة رديت إنك.
وبي. تم تقديمه بواسطة بيد 7666 على & # 32؛ أب-164 & # 32؛ في 2018-01-20 13: 33: 41.743148 + 00: 00 تشغيل a0460f3 رمز البلد: وا.
الشبكات العصبية للتجارة الخوارزمية. بسيطة سلسلة الوقت التنبؤ.
تحديث هام:
هذا هو الجزء الأول من تجاربي على تطبيق التعلم العميق للتمويل، ولا سيما في التداول الخوارزمي.
أريد أن أطبق نظام التداول من الصفر فقط على نهج التعلم العميق، وذلك لأي مشكلة لدينا هنا (التنبؤ السعر، واستراتيجية التداول، وإدارة المخاطر) ونحن ستعمل استخدام أشكال مختلفة من الشبكات العصبية الاصطناعية (أنس) والتحقق من مدى ما يمكن امسك هذا.
الآن أعتزم العمل على الأقسام التالية:
التنبؤ بالسلاسل الزمنية مع البيانات الأولية التنبؤ بالسلاسل الزمنية مع الخصائص المخصصة تحسين فرط المعاملات تطبيق إستراتيجية التداول وإدارة المخاطر وإدارة المخاطر استراتيجيات التداول الأكثر تطورا والتعلم التعزيزي العيش والوسطاء أبي وكسب المال (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 الطوابع الزمنية) واختيار دمية هيبيرباراميترز.
يمكنك إعادة إنتاج النتائج والحصول على أفضل استخدام التعليمات البرمجية من المستودع.
أعتقد أننا يمكن أن نحصل على نتائج أفضل سواء في الانحدار والتصنيف باستخدام ميزات مختلفة (ليس فقط سلسلة زمنية متقنة) مثل بعض المؤشرات الفنية، وحجم المبيعات. أيضا يمكننا أن نحاول البيانات أكثر تواترا، دعونا نقول القراد دقيقة تلو الأخرى للحصول على مزيد من البيانات التدريب. كل هذه الأشياء سأفعلها لاحقا، حتى لا تنزعج :)
عن طريق التصفيق أكثر أو أقل، يمكنك أن تشير لنا القصص التي تبرز حقا.
أليكس هونشار.
وآلات التدريس و الراب.
آلة التعلم العالم.
أفضل حول التعلم الآلي، رؤية الكمبيوتر، التعلم العميق، معالجة اللغة الطبيعية وغيرها.
SnowCron.
مجانا E - فئات البريد.
في هذه المقالة: مثال على استخدام برامج الشبكات العصبية لدينا لإنشاء نظام التداول الشبكي العصبي الكامل.
يستخدم هذا المثال لغة البرمجة المضمنة في اللحاء، لذا يرجى قراءة دليل لغة البرمجة النصية أولا.
استخدام الشبكات العصبية لخلق استراتيجية تداول الفوركس.
في هذا البرنامج التعليمي على الانترنت مجانا سوف تجد "دورة كاملة" من استخدام الشبكات العصبية (اللحاء الشبكات الشبكات العصبية) لتداول العملات الأجنبية (أو تداول سوق الأسهم، والفكرة هي نفسها).
سوف تتعلم كيفية اختيار المدخلات للشبكات العصبية الاصطناعية، وكيفية اتخاذ قرار ما لاستخدامها كما الإخراج.
سوف تجد مثالا للنص البرمجي جاهز للاستخدام الذي يسمح لأداء الشبكات العصبية الأمثل لكل من بنية الشبكة العصبية (عدد من الخلايا العصبية) ونظام تداول العملات الأجنبية (وقف الخسارة الخ)
وأخيرا (الجزء الذي ليس موجودا في معظم الدروس)، وسوف تتعلم ما يجب القيام به بعد ذلك. بعد كل شيء، اللحاء الشبكات العصبية البرمجيات لا تستطيع أن تفعل التداول في الوقت الحقيقي، تحتاج إلى استخدام شيء مثل محطة التجارة، ميتاكوتس أو ميتاترادر. كيفية منفذ نظام التداول الفوركس من اللحاء إلى منصة التداول المفضلة لديك؟ هل لديك للتعامل مع دلز، عناصر تحكم أكتيفكس والبرمجة على مستوى منخفض؟ الجواب هو لا.
كورتيكس نيورال نيتوركس نتووركس يأتي مع ميزة سهلة الاستخدام التي تسمح لك بسهولة الميناء الناتج (المدربين) الشبكة العصبية إلى لغة البرمجة من منصة التداول الخاصة بك. لا دلز، ددي، أكتيفكس أو أي حلول أخرى منخفضة المستوى - كل شيء سهل وبسيط.
ملاحظة هامة: هذه ليست "كيفية التجارة" البرنامج التعليمي. بدلا من ذلك، فإنه يخبرك كيفية استخدام اللحاء الشبكات الشبكات العصبية البرمجيات، ولكن لا تزال تحتاج إلى اختراع نظام التداول الخاص بك. واحد الذي نستخدمه هنا هو بالكاد نقطة انطلاق، ولا ينبغي أن تستخدم كاستراتيجية تداول العملات الأجنبية "كما هي". فكرة هذا النص هو أن يعلمك لإنشاء أنظمة التداول القائمة على ن ومنفذها إلى منصة التداول من اختيارك. على سبيل المثال، هو أوفيسيمبليفيد المثال، ويمكن أن تستخدم إلا كرسم توضيحي للمبادئ التجارية. وبنفس الطريقة، فإن نظام التداول ماسد، الذي يمكن العثور عليه في العديد من الدروس، لا يعمل بشكل جيد بعد الآن (كما تغيرت الأسواق)، ولكن لا يزال مثالا جيدا على استخدام مؤشرات للتجارة الميكانيكية.
في كلمتين: القيام بالتحليل الخاص بك.
ملاحظة هامة أخرى: البرنامج التعليمي يستخدم أمثلة، والكثير منهم. لجعل حياتك أسهل، لقد شملت كل منهم، وليس فقط شظايا. ومع ذلك فإنه يجعل النص أطول من ذلك بكثير. أيضا، أنا ذاهب من أول، الخرقاء، نظام تداول العملات الأجنبية، إلى أكثر تقدما، في كل مرة شرح ما تم تحسينه ولماذا. التحلي بالصبر، أو القفز مباشرة إلى القسم الذي تحتاجه.
ملاحظة هامة النهائية: رمز ليست شيئا منحوتة في الحجر، فإنه يمكن أن تتغير في حين أن هذا النص مكتوب. يتم تضمين الإصدارات النهائية من الملفات النصية في أرشيف اللحاء.
مضايقات الفوركس شراء / بيع إشارات: ما هو الخطأ مع أمثلة "بسيطة"؟
في دليل المستخدم كورتيكس الشبكات العصبية البرمجيات استخدمنا مثال بسيط من الشبكة العصبية أفتيفيسيال، والتنبؤ سعر الأسهم جينز. لمعرفة ما هو الخطأ في هذا النهج، دعونا نفعل نفس المثال "بسيط"، باستخدام MSFT. TXT، بدلا من GENZ. TXT (استخدام 800 سجل في مجموعة التعلم، كما MSFT. TXT هو أقصر قليلا، ثم GENZ. TXT).
انها فقط لن تعمل! لماذا ا؟
وسوف يصبح السبب واضحا، إذا سألت نفسك: "ما هو السبب في التنبؤ الشبكة العصبية للقيم المستقبلية يمكن أن يتم في المقام الأول؟"
الجواب هو: أنها تعلم أن تفعل ما يسمى الشبكات العصبية الاعتراف نمط، للتعرف على أنماط، وإذا كان هناك منطق مخفي في هذه الأنماط، ثم حتى نمط جديد (مع نفس المنطق) سيتم الاعتراف.
هذا هو خدعة - "مع نفس المنطق". ليس هناك حتى واحد، ولكن ثلاث مشاكل هنا.
أولا وقبل كل شيء، إذا نظرتم إلى سعر سهم ميكروسوفت، ستلاحظون أنه كان يتراجع في جزء "التعلم" من بياناتنا، وعلى جانبي - في الجزء "اختبار". لذلك فمن الممكن، أن المنطق قد تغير.
ثانيا، والأهم من ذلك - ما هو النمط؟ ترى، إذا علمنا الشبكة العصبية في نطاق 10 - 100، ومن ثم قدمته مع شيء في مجموعة 1 إلى 3 - فهي أنماط مختلفة! 10، 20، 30 و 1، 2، 3 تبدو مماثلة للإنسان لأنه - لأن لدينا هذه القدرة على تقسيم عشرة، عندما قدمت مع الأرقام تنتهي مع الصفر. وهو ما يسمى تجهيز مسبق للبيانات، وبشكل افتراضي، فإن ن لا يمكن أن تفعل ذلك.
هل يمكننا تعليمه؟ بالتاكيد. ما هو بالضبط نحن بحاجة إلى تعليمه؟
هذا هو الثالث، والأكثر أهمية. نحن لسنا بحاجة إلى التنبؤ السعر! نحن لا نهتم! ما نحتاج إليه هو شراء الفوركس إشارات البيع.
الآن، انتظر لحظة! نحن بحاجة إلى) أن يكون لدينا مدخلات (التعلم والاختبار) في نفس النطاق، ونحن بحاجة ب) لتكون قادرة على اتخاذ قرارات التداول على أساس ذلك؟ أليس هذا ما نسميه مؤشرا؟ البنغو؟
لذلك، هذا ما سنقوم به - سنقوم ببناء مؤشر، لإطعامه إلى ن كمساهمة، وسنحاول الحصول على التنبؤ بقيمة المؤشر، وليس سعر السهم لا قيمة لها!
في المثال الأول، سنقوم بتحميل أسعار الأسهم من القرص، وفتح ملف الشبكة العصبية وبدء التعلم - كل ذلك في وضع الآلي.
إنشاء ملف نصي جديد (أو فتح واحد الذي يأتي مع كورتيكس الشبكات العصبية برامج أرشيف) وندعو إليها stock_nn. tsc.
أولا وقبل كل شيء، نحن بحاجة إلى تحميل قيم الأسعار من ملف MSFT. TXT. سنقوم باستخدام مؤشر كلف (انظر أدناه)، ولكن لحساب ذلك، نحن بحاجة إلى قيم مقسمة إلى تقسيم للارتفاع والمنخفض، وليس فقط للإغلاق. هنا هو كيفية الحصول عليها.
stock_nn. tsc، بارت 1.
السطر الأول بتعيين المسار إلى متغير ستروستباث، بطبيعة الحال، سيكون لديك لتعديله، إذا كان ملف البيانات موجود في الدليل مختلفة.
في السطر الثاني نحدد، أن هذا المسار غير نسبي ("النسبية" إلى موقع ملف Cortex. exe).
يتلقى TABLE_LOADER المسار، السلسلة الفارغة ل "ستارت لين"، 1 - لتخطي السطر الأول (أسماء الأعمدة)، جزء من خط تذييل الملف (السطر الأخير في MSFT. TXT لا يحتوي على بيانات)، فهو أيضا تعليمات لتحميل العمود رقم 0 (وندعوه أرتديت)، 2 (أرهي)، 3 (ارلو)، 4 (أرك) و 6 (أكلوس).
للحصول على وصف كامل ل TABLE_LOADER، راجع دليل مرجع سلانغ.
ثم نقوم بحساب الانقسام، عن طريق قسمة إغلاق إغلاق عن طريق إغلاق، واستخدام هذه القيمة لضبط منخفض وعالي.
يحتوي الملف MSFT. TXT على أحدث البيانات فيرست، بينما نريد لهم لاست.
بعد ذلك، نحن بحاجة إلى إنشاء مؤشر. لنفترض أنه سيكون مؤشر قيمة موقع إغلاق، على الرغم من أنه في "الحياة الحقيقية" ربما استخدم أكثر من مؤشر كمدخل ن.
يتم حساب مؤشر قيمة الموقع القريب مثل.
كلف = ((كلوز - لو) - (هاي-كلوز)) / (هاي-لو)، حيث كلوز، لو أند هاي هي للفاصل الزمني، وليس بالضرورة لشريط واحد. ملاحظة، أننا نريد ذلك في نطاق 0 - 1، لجعله أسهل لتطبيع إلى نطاق ن لدينا (وهو، مرة أخرى، 0-1).
stock_nn. tsc، بارت 3.
بعد ذلك، نحن بحاجة إلى إنشاء ملف تأخر. دعونا نستخدم التأخر يساوي 1، 2. 9 (للحصول على تفاصيل حول وظائف الملف، راجع الدليل المرجعي سلانغ). لاحظ أن الحوار ن اللحاء يمكن أن تنتج تأخر بسيط تلقائيا (يمكنك استخدام زر "توليد تأخر"). ولكن في وقت لاحق من هذا النص، سنعمل مع تأخيرات معقدة (مما يعني أنها ليست 1، 2، 3. ولكن 1، 3، 64. أيا كان)، لذلك نحن بحاجة إلى إنشاء التعليمات البرمجية التي يمكن التعامل مع هذه المهمة في طريقة أكثر مرونة.
stock_nn. tsc، الجزء 4.
وجود ملف تأخر، ونحن مستعدون لإنشاء أول شبكة العصبية لدينا. هذه الوظيفة تأخذ الكثير من المعلمات، لذلك تكون متأن. ومع ذلك، فإن رمز بسيط حقا.
بالمناسبة، يمكن إزالة معظم هذه التعليمات البرمجية، إذا كنت تعتقد أنك يمكن التعامل مع الأرقام، بدلا من أسماء معنى في التعليمات البرمجية الخاصة بك، ومع ذلك، من شأنها أن تكون ممارسة الترميز سيئة للغاية.
stock_nn. tsc، الجزء 5.
الآن، بعد أن يكون لدينا شبكة العصبية والملف متخلفة مع البيانات، ونحن بحاجة لتعليم الشبكة. ملف التأخر (msft_ind. lgg) لديه 1074 السجلات، لذلك فمن المعقول أن استخدام 800 كمجموعة التعلم، و 274 المتبقية كمجموعة اختبار.
يمكنك، بطبيعة الحال، فتح ملف شبكة وانقر فوق زر "تشغيل" في علامة التبويب "التعلم". ولكن لأن هذا هو مقدمة إلى المتقدمة اللحاء الشبكات العصبية برامج البرمجة، دعونا استخدام سلانغ المدمج في لغة البرمجة بدلا من ذلك.
الرمز التالي إحضار الحوار مشروط مع إعدادات آن ن. ملاحظة، أنه إذا كنت تريد أن يكون لها امتياز النقر على زر "تشغيل"، تحتاج إلى تغيير.
stock_nn. tsc، الجزء 6.
و بستارتلارنينغ يمكن أن يكون 0، في هذه الحالة الحوار سوف تنتظر المدخلات الخاصة بك، أو 1، ثم سوف تبدأ التعلم أيتوماتيكالي.
سوف بريسومسكريبت، إذا يساوي 1، استئناف السيناريو، إذا قمت بإغلاق الحوار عن طريق النقر فوق الزر موافق.
يتم استخدام بريسيت لإعادة الشبكة قبل بدء التعلم.
تشغيل البرنامج النصي، والانتظار حتى العداد العصر لتجاوز 1000، ثم انقر فوق "إيقاف". انتقل إلى علامة التبويب "تطبيق"، وانقر على "تطبيق". سيقوم هذا بتشغيل مجموعة البيانات بأكملها (التعلم والاختبار) من خلال ن، وإنشاء ملف. APL، الذي يحتوي على كل من المدخلات والمخرجات الأصلية، والتنبؤ الذي تم إنشاؤه ن، وبهذه الطريقة يمكنك بسهولة رسم لهم ومقارنة ضد بعضها البعض .
انتقل إلى علامة التبويب "الإخراج"، وحدد ملف msft_ind. apl، ثم انقر فوق "استعراض الملف"، "حدد الحقول"، ثم حدد "لا" في مربع القائمة اليسرى، و (بالضغط باستمرار على المفتاح كترل أثناء التحديد بالماوس ) كلف و ن: كلف في مربع القائمة اليمنى. انقر على "مخطط" لمعرفة مدى جودة توقعاتنا. حسنا. إنه جيد نوعا ما، مما يمكننا أن نقوله من خلال النظر إليه. ومع ذلك، لا شيء غير عادي.
وكان هذا مجرد مثال على ما يمكنك القيام به مع البرمجة النصية سلانغ، وكيفية أتمتة المهام الروتينية اللحاء. ومع ذلك، حتى الآن، لم نفعل شيئا كنت لا تستطيع أن تفعل "باليد". حسنا. لا شيء تقريبا، لأنه إذا كنت ترغب في إنشاء ملف تأخر مخصص، مع القول، كلف-100، كلف-50، كلف-25. الأعمدة، ثم سيكون لديك لاستخدام سلانغ (أو إكسيل.)، لأنك لا تستطيع أن تفعل في اللحاء دون البرمجة.
الفوركس استراتيجية التداول: ما لتحسين؟
هنا هي مشكلتنا التالية. هل نحن بحاجة إلى تنبؤ جيد المظهر، أم أننا بحاجة إلى واحد يمكننا استخدامه للتجارة مع الربح؟ يبدو السؤال غريبا، ولكن مجرد التفكير في ذلك للحظة. دعونا نقول لدينا توقعات جيدة جدا 1 ساعة. 95٪ دقيقة. ومع ذلك، إلى أي مدى يمكن أن يذهب السعر في ساعة واحدة؟ ليس بعيدا جدا، وأخشى. قارن ذلك إلى الوضع، عندما يكون لديك غير دقيقة بدلا من 10 ساعة التنبؤ. سوف يكون أفضل؟
للإجابة على هذا السؤال، نحن بحاجة إلى التجارة في الواقع، مقارنة بسيطة من الأخطاء المتوسطة التي تنتجها اثنين من ننس لن تساعد.
الجزء الثاني (من نفس المشكلة) هو في الطريقة التي نحدد "التنبؤ الجيد". لنفترض أن لدينا شبكة، والتي تنتج التنبؤ، وهو 75٪ دقيقة. مقارنة ذلك إلى ن، التي تنتج 100٪ التنبؤ الدقيق. آخر واحد هو أفضل. الآن، تقسيم الإخراج (التنبؤ) من 100٪ دقيقة ن من قبل 10. سيكون لدينا شبكة غير دقيقة للغاية، كما إشارة لها في أي مكان بالقرب من إشارة استخدمنا ك "الإخراج المطلوب". ومع ذلك، فإنه يمكن أن تستخدم نفس الطريقة استخدمنا 100٪ دقيقة ن، كل ما علينا القيام به هو مضاعفة إلى 10!
انظر، يتم إنشاء ن، من خلال ضبط متوسط الخطأ التربيعي، وليس الارتباط، لذلك، على الأقل من الناحية النظرية، يمكن أن ن أفضل تظهر نتائج سيئة، عند استخدامها لتداول الأسهم / الفوركس الفعلي.
لحل هذه المشكلة، نحن بحاجة لاختبار لدينا ن باستخدام التداول، واستخدام نتائج هذا التداول (الربح والانسحاب) لاتخاذ قرار، إذا كان هذا ن أفضل من الآخر.
دعنا نقوم به. دعونا إنشاء برنامج، التي يمكن استخدامها لضبط ن، وهذه المرة، عن طريق صقل، ونحن سوف يعني نتائج التداول.
تجارة الشبكة العصبية: بعض الملاحظات القصيرة.
أولا وقبل كل شيء، في مثالنا أعلاه، والتعلم "التلقائي" لن تتوقف أبدا، لأننا لم تحدد أي معايير التوقف. في مربع الحوار، أو في وظيفة CREATE_NN، يمكنك توفير دقيقة. خطأ (عند وصول ن إلى ذلك، فإنه يتوقف، وإذا تم تعيين بريسومسكريبت إلى 1، سيتم إغلاق الحوار وسوف السيناريو استئناف). أيضا يو يمكن أن توفر الحد الأقصى لعدد من الحقائب، أو كليهما. أنا لا تستخدمه في المثال أدناه، على الأقل ليس دائما، لأنني أخطط لمشاهدة التعلم وانقر فوق إيقاف عندما أعتقد أن ن جاهزة. إذا كنت تريد أن تفعل ذلك في وضع تلقائي بالكامل، والانتباه إلى هذه المعلمات.
ثانيا. واحدة من الطرق لجعل شبكة أصغر وأسرع وأكثر دقة، هو أن تبدأ مع الشبكة الصغيرة، وزيادة حجمه، والخلايا العصبية عن طريق الخلايا العصبية. وبسرعة، يتم تحديد عدد الخلايا العصبية المدخلات من خلال عدد من أعمدة بيانات المدخلات (ولكن يمكننا أن نختلفها أيضا)، وينبغي أن يكون عدد الخلايا العصبية الإخراج مساويا لعدد أعمدة بيانات الإخراج (عادة واحدة، ولكن ليس بالضرورة ). وهذا يعني أننا بحاجة إلى تحسين عدد الخلايا العصبية في طبقة (طبقات) خفية.
أيضا، كما ذكرت، ونحن لا نعرف حقا البيانات التي تستخدم. سوف كلف-15 (15 يوما تأخير) زيادة دقة التنبؤ لدينا؟ هل نحن بحاجة إلى كلف-256؟ هل سيكون من الأفضل استخدام كل منهما في نفس ن، أو ستضيف كلف-256 تدمر أدائنا؟
باستخدام دورات متداخلة لتجربة معلمات إدخال مختلفة، يمكنك:
إنشاء ن، بنفس الطريقة فعلنا ذلك لبيانات الأسهم (اسمحوا لي أن أكرر، ل ن، ليس هناك فرق بين الأسهم وفوركس، حدث فقط أن لدي زوجين من ملفات البيانات عالية الجودة فوركس أن أريد أن معالجة ، أثناء كتابة هذا النص). محاولة مجموعات مختلفة من التأخر. حاول عدد مختلف من الخلايا العصبية في طبقة خفية. . ومجموعات مختلفة من المؤشرات المختلفة. . وما إلى ذلك وهلم جرا.
ومع ذلك، إذا حاولت كل تركيبات الممكنة من جميع المعلمات الممكنة، فلن تحصل على النتائج الخاصة بك، بغض النظر عن مدى سرعة جهاز الكمبيوتر الخاص بك. أدناه، سوف نستخدم زوجين من الحيل لتقليل الحسابات إلى الحد الأدنى.
بالمناسبة، قد يبدو، أنه إذا كنت تبدأ من الخلايا العصبية الخفية واحدة، ثم زيادة إلى 2، 3 وهلم جرا، وعند نقطة ما الخطأ (جودة التنبؤ) أو الربح (إذا كنت اختبار ن من قبل التداول باستخدامه) سوف تبدأ في النزول، ثم لديك الفائز الخاص بك. لسوء الحظ، لا أستطيع أن يثبت، أنه بعد أول "ذروة الأداء" لا يمكن أن يكون هناك ثانية واحدة. وهذا يعني، أن الخطأ قد تذهب مثل 100، 30، 20، 40، 50 (كان فقط في الحد الأدنى، أليس كذلك؟) ثم 30، 20، 10، 15،. (الحد الأدنى الثاني). لدينا فقط لاختبار جميع الأرقام المعقولة.
الثالث. التحسين هو سيف ذو حدين. إذا قمت بتحسين شفرتك بشكل مفرط، فقد لا تعمل خارج البيانات التي استخدمتها لضبطها. وسوف أبذل قصارى جهدي لتجنب هذا الخلاف. إذا كنت ترغب في إجراء تحسينات إضافية على التعليمات البرمجية الخاصة بك أو ن، أنصحك لإجراء بحث في الإنترنت، لمعرفة المزيد عن المشاكل المخفية من هذا النهج. ألسو، أنا ذاهب لدفع بعض الانتباه إلى نعومة منحنى الربح. الربح الذي يبدو وكأنه 0، -500، 1000، -100، 10000 قد يكون كبيرا، ولكن الربح 0، 100، 200، 300، 400. هو أفضل، لأنه أقل خطورة. قد نتحدث عن ذلك لاحقا.
وأخيرا، في هذا المثال سنستخدم الفوركس، بدلا من أسعار الأسهم. من وجهة نظر ن لا يوجد فرق، ومن وجهة نظري - الفوركس هو أكثر متعة للتجارة. إذا كنت تفضل الأسهم، يمكن بسهولة تعديل التعليمات البرمجية.
استراتيجية تداول الفوركس للعب مع.
أولا وقبل كل شيء، دعونا خلق نموذج من التعليمات البرمجية لدينا، واحدة التي يمكن بسهولة أن يكون الأمثل في المستقبل. وسوف يكون نظام التداول، والذي يستخدم شبكة العصبية للتجارة وتنتج الرسم البياني (الربح ضد عدد التجارة). وسوف يحسب أيضا السحب، كمقياس متانة نظام التداول لدينا.
forex_nn_01.tsc، بارت 1.
الفرق الرئيسي هنا هو أننا نستخدم وظائف، بدلا من وضع كافة التعليمات البرمجية في الكتلة الرئيسية للبرنامج. بهذه الطريقة فإنه من الأسهل بكثير لإدارة.
ثانيا، لدينا وظيفة تستنيت. أنا باستخدام خوارزمية بسيطة جدا من التداول. ويقتصر المؤشر كلف على 0-1 الفاصل الزمني (لدينا نسخة من كلف هو)، لذلك عندما مؤشر يعبر عن دبويليفيل (انظر التعليمات البرمجية أعلاه)، وأنا شراء، عندما هو عبور أسفل دسلليفيل، وأنا أبيع.
من الواضح، أنها ليست أفضل استراتيجية التداول، لكنها لن تفعل لغرضنا (فقط في الوقت الراهن). إذا كنت ترغب في تحسينه، وهنا بعض المؤشرات. أولا، قد ترغب في الحصول على نظام، وهذا ليس دائما في السوق. ثانيا، قد ترغب في استخدام أكثر من مؤشر واحد كمدخلات، وربما أكثر من واحد ن، بحيث يتم اتخاذ قرار التداول على أساس المؤشرات القليلة المتوقعة. سنضيف بعض التحسينات على خوارزمية التداول لاحقا.
نحن نستخدم بعض الافتراضات القياسية للتداول الفوركس: انتشار هو 5 نقاط، ليفيراد هو 100، دقيقة. الكثير هو $ 100 (مصغرة-- فوريكس).
دعونا نلقي نظرة على نظامنا "التداول". مرة أخرى، هو واحد مفرط التبسيط. ملاحظة هامة: تستن () تسمى آخر، ولها حق الوصول إلى كافة المتغيرات التي تم إنشاؤها إلى تلك النقطة. حتى إذا كنت ترى متغير أن أستخدمه، دون تهيئة ذلك، فإنه ربما يعني أنه تم التهيئة في نيون ()، تيتشن () أو بعض الدالة الأخرى التي كانت تسمى قبل تستن ().
لتسهيل الأمور، يتم وضع التعليقات في الشفرة.
forex_nn_01.tsc، بارت 2.
بضع كلمات حول الانسحاب. هناك طرق قليلة لحسابه، ونحن نستخدم ما أعتبره أكثر "صادق". ويعد السحب التدريجي مقياسا لعدم استقرار نظامنا. ما هي فرصة، وأنه سوف تفقد المال؟ دعونا نقول المبلغ الأولي هو 1000 $. إذا كان الربح يذهب 100، 200، 300، 400. السحب هو 0. إذا كان يذهب 100، 200، 100. ثم السحب هو 0.1 (10٪)، ونحن قد فقدت للتو مبلغا، أي ما يعادل 1/10 من الإيداع الأولي (من 1200 إلى 1100).
وأود أن أشير بقوة ضد استخدام أنظمة التداول مع سحب كبيرة.
أيضا، هنا يمكنني استخدام السحب، وهذا هو أن تستخدم مع حجم متغير الكثير. ومع ذلك، في العينات الفعلية، التي تأتي مع الكتاب الاليكترونى، سترى نسخة أخرى:
كما ترون، وهنا نحن دائما استخدام 1000 (المبلغ الأولي) لحساب السحب. والسبب بسيط: نحن دائما استخدام نفس حجم الكثير (أي إدارة الأموال حتى الآن)، لذلك ليس هناك فرق، كم من المال لدينا تراكمت بالفعل على حسابنا، يجب أن يكون متوسط الربح ثابت. السيناريو الأسوأ المحتمل في هذه الحالة يشبه هذا: من البداية (1000 $ على حساب) نحن نفقد المال. إذا كنا نستخدم 1000 $ لحساب السحب، وسوف نحصل على السحب أسوأ. وهذا سوف يساعدنا على عدم خداع أنفسنا. على سبيل المثال، لنفترض أنه تم تداولنا لبعض الوقت، ولدينا حساب بقيمة 10000 دولار أمريكي (أو ما يعادله بالعملة المحلية) على حسابنا. ثم نحن تفقد بعض المال، ونحن الآن لدينا $ 8،000. ثم تعافينا، وحصلنا على 12،000 دولار. نظام تداول جيد؟ على الاغلب لا.
دعونا نكرر المنطق مرة أخرى، كما هو مهم جدا (وسوف تصبح أكثر أهمية، عندما نبدأ في إدارة المال). نحن التجارة باستخدام حجم ثابت الكثير. لذلك، إحصائيا، لا يوجد ضمان، أن الخسارة القصوى لن يحدث في البداية، عندما يكون لدينا فقط 1000 $. وإذا حدث ذلك، سيكون لدينا -1000 $ (10،000 - 8،000)، وبالتالي فإن نظام التداول هو على الأرجح محفوف بالمخاطر.
عندما نتحدث عن إدارة الأموال (ربما، وليس في هذا النص)، سيكون لدينا لاستخدام نهج مختلف لحساب السحب.
ملاحظة، أنه في هذا النظام التجاري، وأنا باستخدام السيناريو الأسوأ ممكن: أنا شراء باستخدام عالية وبيع، وذلك باستخدام منخفضة. العديد من المختبرين لا تتبع هذه القواعد، وخلق أنظمة التداول، التي تعمل بشكل جيد على البيانات التاريخية. ولكن في الحياة الحقيقية، هذه الأنظمة التجارية لديها أداء ضعيف للغاية. لماذا ا؟
نلقي نظرة على شريط الأسعار. انها مفتوحة، عالية، منخفضة وإغلاق. هل تعرف، كيف كان السعر يتحرك داخل شريط؟ لا، لذا، لنفترض أن نظام التداول الخاص بك قد ولد إشارة "شراء"، في أسفل شريط الأسعار (إذا كان منخفضا.
لاحظ أن أستخدم دلوتسيزي يساوي 0.1 لوت (100 دولار). من الواضح، في التداول "الحقيقي"، سوف تستفيد كثيرا، إذا تم احتساب حجم الكثير اعتمادا على المال لديك، شيء من هذا القبيل:
forex_nn_01.tsc، بارت 3.
ومع ذلك، نحن نفعل الاختبار هنا، وليس التداول. وللاختبار، نحن بحاجة، من بين أمور أخرى، لنرى كيف سلاسة منحنى الربح هو. هذا هو أسهل بكثير إذا كان حجم الكثير هو نفسه (في الوضع المثالي، ل دلوتسيزي = 100 سوف نحصل على خط مستقيم، مع بعض الميل الإيجابي، في حين في حالة حجم الكثير قابل للتعديل سوف نحصل على الأس، وهذا هو أصعب بكثير لتحليل).
في وقت لاحق من هذا النص، سنطبق قواعد إدارة الأموال على نظام التداول لدينا، ولكن ليس بعد.
بعد أن يتم ذلك مع الجزء الأخير من وظيفة الاختبار لدينا، دعونا المشي من خلال بقية التعليمات البرمجية.
تقوم الدالة التالية بإنشاء مؤشر كلف. فإنه يأخذ الفاصل الزمني كمعلمة، مما يعني أننا يمكن أن نسميها عدة مرات، خلال التحسين، ويمر أرقام مختلفة.
لاحظ أن أنا باستخدام ن الذي يعمل في الفترة 0-1. يمكن تطبيع البيانات، بطبيعة الحال، ولكن اخترت لتقسيم المؤشر بنسبة 2 وإضافة 0.5، بحيث يكون في 0-1 النطاق.
forex_nn_01.tsc، بارت 4.
لجعل ملف تأخر، يمكننا استخدام الدالة CREATE_LAG_FILE. بدلا من ذلك، يمكننا أن نفعل ذلك من خلال توفير صراحة كل التعليمات البرمجية اللازمة. في هذه الحالة، لدينا المزيد من السيطرة، ونحن بحاجة إلى ذلك، إذا بدأنا عدد متفاوت من الأعمدة المتخلفة وهلم جرا.
forex_nn_01.tsc، بارت 5.
المعلمة نريموفيرست مهم. العديد من الوظائف، مثل المؤشرات، والمتوسطات المتحركة، والمولدات المتخلفة، لهذه المسألة، لا تعمل بشكل جيد في السجلات القليلة الأولى من مجموعة البيانات. لنفترض أن لدينا ما (14) - ما الذي سيضع في السجلات 1 - 13؟ لذلك نختار ببساطة إزالة السجلات القليلة الأولى (غير موثوقة).
ل نيون، وكذلك لجميع وظائف هذا البرنامج، ونحن بحاجة لتمرير كمعلمات فقط ما يمكن تغييره خلال عملية التحسين. على سبيل المثال، ليست هناك حاجة لتمرير "تخطي قبل" المعلمة، كما هو دائما نفسه.
forex_nn_01.tsc، بارت 6.
وظيفة تيتشن ببساطة جلب الحوار ن.
forex_nn_01.tsc، الجزء 7.
وأخيرا، نحن بحاجة إلى وظيفة رسم. أنها ليست إلزامية، ولكن من الجيد دائما أن نرى ما يبدو خط الربح لدينا. تستخدم التعليمات البرمجية التالية شمل لإنشاء مخطط، لذلك فمن الجيد قراءة البرنامج التعليمي. بدلا من ذلك، يمكنك رسم المخطط، بدلا من حفظه في ملف. للقيام بذلك، استخدم واحدة من العينات، التي هي في عينات / دليل البرامج النصية. وأخيرا، يمكنك تعديل التعليمات البرمجية، لإنتاج هتمل، بدلا من شمل. هتمل هو أسهل للتعلم، ولكن الرمز نفسه سيكون أقل قليلا للقراءة.
forex_nn_01.tsc، بارت 8.
ترجمة وتشغيل البرنامج النصي.
حسنا. كما هو متوقع، باستخدام 7 ساعات كفاصل زمني ل كلف نتائج سيئة للغاية:
استراتيجيات التداول الفوركس والتحسين.
والسبب في النتائج الضعيفة واضح تماما: استخدمنا الفاصل الزمني، وقف الخسارة، وشراء وبيع المستويات وغيرها من المعالم، التي كانت عشوائية بحتة - اخترنا فقط أولا أن جاء في الاعتبار! ماذا لو حاولنا مجموعات قليلة؟
الفوركس إشارات التداول: ما لتحسين؟
أولا وقبل كل شيء، من خلال أوفيروتيميزينغ مستويات شراء وبيع، ونحن يمكن أن تدمر أدائنا في المستقبل. ومع ذلك ما زلنا يمكن ضبط لهم، وخاصة، إذا كان أداء قريب لقيم وثيقة من حدود البيع والبيع. على سبيل المثال، إذا كان لدينا -10٪ الربح عند حد الشراء يساوي 0.3، و + 1000٪ الربح عندما يساوي 0.35، ثم هناك ربما من قبيل الصدفة محظوظا، ونحن يجب أن لا تستخدم 0.35 لنظام التداول لدينا، كما في المستقبل سوف ربما لا يحدث مرة أخرى. إذا، بدلا من ذلك، لدينا -10٪ و + 10٪ (بدلا من + 1000٪)، قد يكون أكثر أمانا للاستخدام.
عموما، يجب أن يبنى نظام التداول لدينا لسيناريو ممكن ممكن، كما لو كان خلال التداول "الحقيقي" الأداء سيكون أفضل، ثم خلال الاختبار، ونحن سوف البقاء على قيد الحياة، ولكن ليس العكس.
يمكننا أن نختلف قيمة الفاصل الزمني للمؤشر، شريطة أن يكون لدينا ما يكفي من الصفقات، حتى نتمكن من أن نكون واثقين، من حيث الإحصاءات، في أداء نظام.
نحن بالتأكيد يمكن أن تختلف عدد الخلايا العصبية، وأنا لا أعتقد أنه يمكن أوفيروبتيميزد بسهولة.
يمكننا أن نختلف عدد المدخلات والتخلف عن المدخلات. فمن الممكن أن يفرط في تحقيق ذلك، ولكن ليس من المرجح جدا أن يحدث.
وبطبيعة الحال، يمكننا أن نحاول مؤشرات مختلفة.
إشارات فوريكس دقيقة: كيفية تحسين؟
وكما سبق ذكره، إذا بدأنا في محاولة جميع التوليفات الممكنة، فإنه سيستغرق إلى الأبد. لذلك نحن ذاهبون للغش. سنقوم بإنشاء مجموعات محددة مسبقا من المعلمات، التي نعتقد أنها معقولة، وتمريرها إلى البرنامج.
لجعل عدد قليل من الحسابات ممكن، لاحظ أن كلف-1 و كلف-2 هي، ربما، مهمة، ولكن ماذا عن كلف-128؟ و - إذا كان لدينا بالفعل كلف-128، هل نحن بحاجة كلف-129؟ على الاغلب لا. لذلك نحن ذاهبون لدينا شيء مثل كلف-1، كلف-2، كلف-4، كلف-8،. كلف-128 مع عدد قليل من الاختلافات، الأمر الذي سيجعل لدينا حساب الوقت آلاف مرات أقصر.
فوريكس نظام التداول المهني: هل يمكن أن تعمل على الإطلاق؟
ما هو بالضبط ما نريد التنبؤ به؟ حتى هذه النقطة استخدمنا الرسم البياني لكل ساعة ل يوروس، وكنا نتوقع كلف الشريط التالي. هل سيكون كلف + 2 أفضل؟ ماذا عن كلف + 3؟
أيضا، خاصة بالنظر إلى ضعف أداء نظام التداول الأول، سيكون من الجميل أن نعرف أنه - على الأقل في العالم "المثالي"، يمكن تحقيق الهدف (التداول المربح).
للإجابة على هذه الأسئلة، دعونا نخلق برنامج اختبار بسيط. نحن نفترض، أن التنبؤ لدينا هو 100٪ دقيقة، وبناء على هذا الافتراض، وسوف نستخدم كلف + N، وليس ن توقع واحد. هذا صحيح - نحن نذهب إلى أخذ البيانات من المستقبل، واستخدامها بدلا من التنبؤ ن. هذا النهج لن يعمل في الحياة الحقيقية، بطبيعة الحال، ولكن في الدرجات، وسوف تعطينا بعض الأفكار من ما يمكن توقعه.
عند النظر إلى النتائج، يرجى أن نضع في اعتبارنا، أننا لا تستخدم أي إدارة الأموال المتقدمة، يتم تعيين حجم الكثير لدينا إلى الحد الأدنى 100 $. إذا كنت تستخدم أحجام متغيرة الكثير، فإن النتائج ستكون مختلفة بشكل كبير. ولكن حتى في حجم الكثير تعيين إلى 0.1 يمكننا أن نرى (أدناه) أن الحصول على المعلومات من المستقبل هو المتداول النهائي "هولي غراال".
forex_nn_02.tsc، بارت 1.
كنت بالفعل على دراية هذا الرمز، تم استخدامه في FOREX_NN_01.TSC. فإنه يتعامل مع تحميل البيانات. والفرق الوحيد هو في الجزء الذي يحصل على قائمة الملفات في "الصور" الدليل وحذف كافة الملفات مع. PNG إكستنتيون. والسبب في هذا الرمز بسيط: خلال الاختبارات لدينا ونحن في طريقنا لخلق العديد - قد يكون، الآلاف - ملفات الصور. نحن لا نريد لهم أن يعلقوا بعد أن يتم ذلك. حتى في بداية البرنامج النصي نحن حذف الصور، التي تم إنشاؤها بواسطة البرامج النصية الأخرى.
forex_nn_02.tsc، بارت 2.
فقط بعض التعليقات. نحن لا نريد أن نحاول كل القيم الممكنة ل، على سبيل المثال، كلف الفاصل الزمني. بدلا من ذلك، يمكننا إنشاء مصفوفة تحتوي على القيم التي نريد اختبارها فقط. ثم (انظر أدناه) ونحن سوف يمشي من خلال هذه المصفوفة.
وقف الخسائر هي جزء مهم من أي استراتيجية التداول، لذلك قررت أن تختلف لهم كذلك. ولكنها فكرة خطرة، حيث أنه من السهل الإفراط في تحسين النظام.
أنا أخطط لاختبار قيم مختلفة لشراء وبيع المستويات، ولكن سيتم ذلك في دورة، دون استخدام المصفوفات.
على عكس المثال السابق، نريد أن يكون لدينا ملف شمل كبير، يحتوي على العديد من الصور. للقيام بذلك، لقد قمت بتحريك التعليمات البرمجية التي تقوم بتشكيل رأس وتذييل شمل خارج الدالة مخطط. اقرأ أحد برامج شمل التعليمية عبر الإنترنت للحصول على التفاصيل.
لاحظ أن أنا باستخدام 0 كما تأخر الأول، مما يعني، أن الأول أنا اختبار المؤشر (كلف) التي لم "تحول" من المستقبل. فقط للحصول على فكرة، كيف جيدة من "نظام التداول" سيكون دون ن (الرهيبة، هو الكلمة الصحيحة، ويفقد كل المال).
يستخدم اللحاء عنصر تحكم إنترنيت إكسبلورر لعرض صفحات شمل. عندما تنمو الصفحات كبيرة، فإنه يأخذ الكثير من الذاكرة. إذا كان جهاز الكمبيوتر الخاص بك لا يمكن التعامل معها، والنظر في إنشاء صفحات شمل أو هتمل متعددة، بدلا من ذلك. في حالة forex_nn_02، يجب ألا تكون مشكلة، حيث أن الصفحة قصيرة نسبيا. بدلا من ذلك (وهذا ما أقوم به في النصوص في وقت لاحق في هذا النص)، إنشاء ملف شمل، ولكن لا تفتحه من اللحاء. فتحها باستخدام إنترنيت إكسبلورر بدلا من ذلك - على عكس التحكم إي، لا يوجد إنترنيت إكسبلورر مشكلة الذاكرة.
الآن التعليمات البرمجية التي تحاول مجموعات مختلفة من المعلمات.
forex_nn_02.tsc، بارت 3.
هنا، نحن نستخدم دورات متداخلة. في كل دورة، نحن أسيدنينغ بعض المتغير (على سبيل المثال، نينتيرفال للدورة الخارجية). وبهذه الطريقة تعين الدورة قيم جميع عناصر صفيف مطابق، واحدة في كل مرة. ثم داخل ذلك، يتم استخدام الدورة الداخلية، وهلم جرا، بحيث يتم اختبار جميع مجموعات من جميع عناصر مجموعة.
في دورة أعمق، وأنا استدعاء الدالة اختبار ()، إلى "اختبار التجارة"، و الرسم البياني () لإضافة صورة جديدة إلى قائمة الصور المحفوظة على القرص. لاحظ أن هذا المخطط () لا يظهر أي صور، حتى يتم الانتهاء من جميع الدورات.
تكون الدالة تيست () و كريتكلف () هي نفسها تقريبا كما في المثال السابق. الفرق الحقيقي الوحيد يرجع إلى حقيقة أنه يسمى أكثر مرة واحدة. للقيام بذلك، وأنا استدعاء ARRAY_REMOVE لتنظيف المصفوفات.
أيضا، لاحظ، أننا خلق فقط المخططات لمجموعات من المعلمات، التي تنتج نظام التداول مع ربح إيجابي. وإلا، فإننا نسمي "متابعة"، لتخطي الدالة تشارت ().
وأخيرا، لدينا جني الأرباح الآن، لذلك نظام التداول لدينا يمكن أن يكون قليلا أكثر مرونة.
forex_nn_02.tsc، بارت 4.
تم تقسيم وظيفة المخطط () إلى قطعتين. يجب كتابة الرأس والتذييل إلى ملف شمل مرة واحدة فقط، لذا تم نقلهما إلى الجزء الرئيسي من البرنامج.
أيضا، أنا باستخدام العداد، لحفظ الملفات تحت أسماء مختلفة. يتم كتابة المعلومات حول المعلمات إلى رأس صورة، حتى نتمكن من رؤية بسهولة أي واحد هو عليه. وأخيرا، يتم حفظ الصور فقط للفوز تكوينات، وهذا يعني أن التوازن في نهاية يجب أن يكون أكثر، ثم في البداية.
forex_nn_02.tsc، بارت 5.
تشغيل البرنامج (وسوف يستغرق بعض الوقت لإكمال). سوف ينتهي بك المطاف مع صفحة شمل كبيرة مع الصور، واحدة لكل تكوين الفوز.
بعض النتائج كبيرة، ومع ذلك، كما استخدمنا البيانات "من المستقبل"، وهذا النظام لا تعمل في الحياة الحقيقية. في الواقع، إذا نظرتم إلى اختبار () وظيفة، ستلاحظ، أن دورة توقف قبل أن نصل إلى العنصر الأخير من أكلوس:
ل (نبار = نريموفيرست + 1؛ نبار.
هذا هو C ++، مجرد مثال.
كما ترون، رمز بسيط حقا. الآن يتيح القيام بنفس الشيء باستخدام البرنامج النصي سلانغ. وكما هو الحال في الأمثلة السابقة، سنحتفظ بالهيكل العام للمدونة، حتى يبدو هذا المثال مألوفا. والفرق الوحيد هو أنه بدلا من استخدام المدمج في وظيفة APPLY_NN، ونحن ندعو وظيفة خاصة بنا. يتم التعليق على التعليمات البرمجية التي لا نستخدمها (مثل دورات)، ولكن لم تتم إزالتها.
ملاحظة، أن المنطق وراء ذلك تمت مناقشته في الشبكات العصبية و الأسهم / تجارة الفوركس المادة بالفعل. باختصار، يتم تكوين ناتج هذا السيناريو لتكون متوافقة مع مقل، محرك البرمجة النصية ميتاترادر. ميتاترادر هو منصة التداول التي نستخدمها، إذا كنت تريد شيئا مختلفا، مثل ترادستاتيون، على سبيل المثال، سيكون لديك لتغيير التعليمات البرمجية للامتثال لهيكله.
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. هذا مجرد مثال.
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.
No comments:
Post a Comment