كيفية جعل روبوت التداول في أي وقت من الأوقات.
لجعل روبوت التداول، تحتاج إلى نظام التداول.
ينطوي التداول في الأسواق المالية على العديد من المخاطر بما في ذلك المخاطر الأكثر أهمية - وهي مخاطر اتخاذ قرار تداول خاطئ. حلم كل تاجر هو العثور على الروبوت التداول، الذي هو دائما في حالة جيدة ولا تخضع لنقاط ضعف الإنسان - الخوف والجشع ونفاد الصبر.
كل الوافد الجديد يريد الحصول على أو إنشاء نظام تجاري واضح وصارم يمكن تقديمه في شكل خوارزميات والتخلص تماما من العمليات الروتينية. هل هو ممكن؟
نظام التداول هو شرط ضروري لدخول السوق وهذا النظام يجب أن تكون مربحة، بطبيعة الحال. عندما يأتي القادمون الجدد إلى السوق، وعادة ما تطغى عليها كتلة كبيرة من المعلومات من الصعب فهم. يمكن لمنتديات الكتب والتاجر تقديم بعض المساعدة في هذه الحالة.
لسوء الحظ، ليس كل المؤلفين تجار ناجحين وليس كل التجار الناجحين يكتبون الكتب. يتم إنشاء العديد من الموارد الخاصة على شبكة الإنترنت فقط لكسب الربح لأصحابها، كما أنه من الصعب جدا للتجارة المال الخاص بك من إصدار التنبؤات وتعليم أنظمة التداول.
يجب على كل تاجر أن يمر بشكل مستقل جميع مراحل إنشاء نظام التداول. هناك قول مأثور أنه لا يهم ما النظام الذي تستخدمه للتداول، والشيء الرئيسي هو أنه يجب عليك حقا التجارة وفقا لهذا النظام. وإلا فإن التداول في السوق يتحول إلى مقامرة ذات نتيجة يمكن التنبؤ بها.
روبوتات التداول والفوركس.
ويعتقد أن سوق الفوركس لديها سيولة كبيرة. أيضا، فإنه يسمح التداول على مدار 24 ساعة في اليوم، على عكس العديد من الأسواق الأخرى. لذلك، يحاول العديد من التجار جعل الروبوتات التجارية خصيصا لسوق الفوركس، كما أنه يوفر عددا كبيرا من الأدوات التجارية.
ومع ذلك، يدعي المتشككون أن جميع أزواج العملات ترتبط ارتباطا قويا مع بعضها البعض وتوفير تقلبات منخفضة جدا في السوق. لكن خصومهم يستجيبون أن كل زوج من العملات لديه سماته الخاصة ويعوض التقلبات المنخفضة عن طريق الرافعة المالية الكبيرة.
على أية حال، أدوات الفوركس جذابة لجعل الروبوتات التجارية ومعظم مؤيدي التداول الآلي شحذ مهاراتهم على أزواج العملات.
تم تصميم ميتاترادر 4 و ميتاترادر 5 محطات التداول خصيصا لتطوير بسهولة أنظمة التداول الآلي ولكن في نفس الوقت واجهة هي أيضا مريحة للتداول اليدوي.
كيفية البدء في صنع روبوت التداول؟
هناك العديد من الطرق لبناء نظام التداول الآلي. وسوف نصف فقط عدد قليل منها.
النهج الأول يعتمد على الرياضيات. يحاول المطور إنشاء نوع من المعادلة التي يمكن أن تأخذ في الاعتبار العديد من العوامل. ويستند هذا النهج إلى الاعتقاد الراسخ بأن تحركات الأسعار تدار بواسطة نموذج يمكن العثور عليه باستخدام البيانات التاريخية المتاحة.
في معظم الحالات، أتباع مثل هذا النهج يعرف الكثير من الرياضيات ولكن لا يعرفون شيئا عن / ليست مهتمة في السوق. السوق هو التجريد النقي، وهو نوع من لعبة الفكرية بالنسبة لهم. هذا النهج عادة ما يؤدي إلى سنوات عديدة من الدراسة والتنمية، في حين أن نتيجة محددة في شكل نظام التداول الآلي العمل ليست مهمة جدا.
ويستند النهج الثاني إلى دراسة قوانين السوق. لا تبذل محاولات لفهم سبب ارتفاع السعر أو هبوطه عند ظهور أرقام مختلفة للتحليل الفني على الرسم البياني. ميزة هذا النهج هو أنه لا يتطلب أي معرفة خاصة من الرياضيات ولا يقدم أي افتراضات حول قوة دافعة السوق.
فمن الأكثر وضوحا ومريحة عند دراسة التداول. هو الأكثر شعبية بين التجار الذين تلقوا الاعتراف العالمي. وعيب النهج هو ضرورة تتبع جميع الرموز الضرورية باستمرار.
عاجلا أو آجلا، تاجر يبدأ النظر في أتمتة العمليات التجارية، ويبدو أن القضية الأكثر أهمية في تلك المرحلة - تعقيد إضفاء الطابع الرسمي على قواعد التداول عند محاولة التعبير عنها في شكل خوارزميات. في بعض الحالات التجار الذين يحاولون طلب روبوت التداول لا يمكن وصف قواعد التداول والعثور على أرضية مشتركة مع المبرمجين.
ويستند النهج الثالث على محاولة لخلق «الصندوق الأسود» على أساس الشبكات العصبية مع استخدام الأدوات الجاهزة المتاحة على نطاق واسع في حزم البرمجيات والرياضيات الخاصة. إنشاء نظام التداول الآلي مع عناصر الذكاء الاصطناعي هو مهمة مثيرة وصعبة حتى بالنسبة للقادمين الجدد، لأنها لا تتطلب خلفية رياضية عميقة، ولا تجربة البرمجة - يتم كل شيء باستخدام الوسائل البصرية.
يجب على المتداول معرفة أساسيات المؤشرات الفنية، لديه القدرة على إعداد بيانات الأسعار الضرورية والخبرة في بعض الحزمة المحددة للعمل مع الشبكات العصبية. العيب الرئيسي لهذا النهج هو أن الروبوت التداول التي تم الحصول عليها باستخدام هذه الأدوات المتخصصة للعمل مع الشبكات العصبية هو في الواقع "الصندوق الأسود". التجار لا يعرفون مبادئ عمله، وعموما، فإنه من المستحيل التنبؤ ما مرحلة السوق ستكون الأكثر إشكالية للروبوت.
المبرمجين غالبا ما تختار النهج الرابع - أنها تبدأ في صنع الروبوت التداول من البداية دون قضاء بعض الوقت للتداول اليدوي. لماذا التجارة يدويا؟ يمكنك جعل الروبوت قضاء بضعة أشهر وجني فوائد جهودكم بعد ذلك.
ولكن «لا آلام، لا مكاسب». في معظم الحالات، يبدأ المبرمجون في إنشاء كل البنية التحتية اللازمة باستخدام لغة برمجة مألوفة بدلا من مجرد جعل روبوت التداول - الحصول على بيانات الأسعار ومعالجتها، والتمثيل البصري للمخططات والمؤشرات، والوسائل المخصصة لاختبار الاستراتيجيات المتعلقة بالبيانات التاريخية وما إلى ذلك.
يكتسبون خبرة كبيرة في هذه العملية. ولكن في معظم الحالات، فإن هذه التجربة لا تجعلها أقرب إلى الهدف النهائي - إنشاء نظام تجاري آلي. وحتى إذا تم إنشاء الروبوت التداول، ليس هناك ما يضمن أنها ستكون مربحة. وماذا لو أراد مبرمج أن يكتب نظاما تجاريا آخر؟ إعادة هيكلة عميقة وأخطاء البرمجة الجديدة أمر لا مفر منه.
وهناك أيضا النهج الخامس - شراء نظام التداول الجاهز في شكل روبوت التداول. في هذه الحالة، يعمل التاجر كمشغل أو موالف. هذا النهج يوفر الكثير من الوقت (لا حاجة لتعلم أشياء جديدة كثيرة) ويسمح للتجار للدخول بسرعة عالم التداول الآلي.
العائق الرئيسي لهذا النهج ينبع من مزاياه - كنت لا تعرف مبادئ عملية الروبوت التداول الخاص بك وهيكلها. وحتى لو كان البائع قد قدم لك وصفا مفصلا لنظام التداول المنفذة، فلن تكون متأكدا تماما في ذلك.
ومع ذلك، فإن أيا من النهج المذكورة يمكن أن تعطيك ضمان المطلق باستثناء إيداع البنك. ولكن هذا ليس حلا مناسبا جدا للأشخاص المهتمين بتداول السوق وسبل زيادة أصولهم الخاصة.
ما هو أفضل نهج للتداول الآلي للتاجر؟
كل من خمسة طرق وصف لها مزاياه ويقابل بعض نوع محدد من التاجر. فمن غير المحتمل أنك سوف تختار النهج الأول (وصف السوق التحليلي) دون خلفية رياضية جيدة. ومن غير المرجح أيضا أن تبدأ من صنع الروبوتات التجارية على أساس الشبكات العصبية. ومع ذلك، كل من هذه النهج هي مثيرة للغاية وتوفير ممارسة فكرية جيدة.
أدناه سوف نناقش فقط النهج الثاني، الذي يعتبر بالفعل أن يكون الكلاسيكي. هذا هو النهج الذي يختاره عادة المتتبعون الجدد للتداول الآلي، حيث يظل التحليل الفني مجال المعرفة الرئيسي عند تعلم أساسيات التداول.
ميزة أخرى من النهج الثاني هو أنه بعد قضاء بعض الوقت للتداول اليدوي والحصول على الشعور بالسوق، سيكون لديك بالفعل فهم جيد لأدوات التحليل الفني. الى جانب ذلك، سوف تكون قادرة على برنامج استراتيجيات التداول أو إنشاء الشبكات العصبية على مستوى أعلى.
الخطوات الأولى في صنع روبوت التداول.
لجعل نظام التداول الآلي، تحتاج مهارات البرمجة والمعرفة من جميع تعقيدات معالجة طلبات التجارة. ولكن أولا يمكنك البدء من المستشارين الخبراء الجاهزة - الروبوتات التجارية من مكتبة قاعدة التعليمات البرمجية الحرة.
تحميل أي مستشار الخبراء (الروبوت التداول) وإطلاقه في اختبار استراتيجية من ميتاتريدر 4 أو ميتاترادر 5 محطات العميل. حدد الفاصل الزمني التاريخ يظهر اتجاها قويا وفترة مع شقة. إجراء التحسين من معلمات الإدخال مستشار خبير وفحص الاختلافات بينهما على هاتين الفاصلتين.
إطلاق مستشار خبير مع المعلمات الأمثل لشقة على الفاصل الزمني الاتجاه ومع المعلمات المثلى للاتجاه على فاصل مسطح. دراسة الفروق في نتائج التداول، صفقات التوزيعات وغيرها من المعايير الإحصائية. ونتيجة لذلك، سوف تعرف كم من سلوك نظام التداول الخاص بك يمكن أن تختلف عندما يتغير الوضع في السوق.
سيكون من الأفضل لمحاولة العديد من استراتيجيات التداول القياسية باستخدام هذه الطريقة على أجزاء مختلفة من التاريخ ورموز مختلفة. ويمنع مثل هذا التشغيل التجريبي من تركيب نظام تجاري لبعض الفترات الزمنية المحددة ويوفر فهما أفضل لنظم الاتجاه والاتجاه المعاكس.
والخطوة التالية ستكون لإنشاء أنظمة تجارية أكثر تعقيدا استنادا إلى مجموعة من الإشارات البسيطة الموجودة بالفعل من مجموعة MQL5 معالج. يمكنك اختبار وتطوير الحدس التجاري الخاص بك فرز الإشارات السيئة من نظام واحد باستخدام مرشح على أساس نظام آخر دون وسائل البرمجة.
الشيء الرئيسي هنا هو عدم تجاوز. والمزيد من المعلمات المدخلات نظام التداول لديها، وأسهل هو أن يتم تركيبها. كانت هناك مناقشات كثيرة حول الاختلافات بين التحسين والتركيب. لا توجد حلول مقبولة على نطاق واسع هنا. ولكن التصور من نتائج الاختبار / التحسين والحس السليم الخاصة بك يمكن أن تساعدك.
تعلم كيفية التعرف على أهم معلمات الإدخال التي تؤثر على نظام التداول الخاص بك من مجموعة كاملة من البيانات المدخلات. لا تولي اهتماما كبيرا للمعلمات الثانوية التي تستغرق وقتا أثناء التحسين ولكن لا تؤثر على منطق جدا من النظام. تذكر أن نظام التداول الجيد يظهر دائما حركة حرة صغيرة للمعلمات الثانوية ولكنه لا يظهر تقلبا دراماتيكيا في حالة تغيرات السوق غير المعقولة.
يمكنك قضاء الكثير من الوقت في هذه المرحلة، كما يحلو لك، حتى كنت متأكدا من أنك يمكن أن نفهم أي استراتيجية التداول فحص الاختبار وتحسين النتائج. معرفة نقاط القوة والضعف في النظم القياسية سوف تسمح لك أن تكون أفضل استعدادا عند إنشاء الروبوت التداول الخاص بك.
برمجة روبوت التداول.
لنفترض أنك تعلمت / تتعلم لغة البرمجة MQL4 أو MQL5 والآن أنت على استعداد لكتابة أول خبير استشاري لمحطة عميل ميتاترادر. العديد من الحالات ممكنة هنا.
أولا، يمكنك فحص العديد من الروبوتات التجارية الجاهزة وصفها في المواد لفهم أفضل تعقيدات البرمجة.
ثانيا، يمكنك طرح الأسئلة على MQL4munity أو MQL5munity، إذا كان لديك أي قضايا لم يتم حلها. وعادة ما يساعد المشاركون من ذوي الخبرة في المجتمع القادمين الجدد الذين يبدون اهتماما صادقا بالموضوع.
ثالثا، يمكنك طلب إمبروفيمنت أو تطوير مستشار خبير أو مؤشر في خدمة وظائف، إذا كنت غير قادر على كتابة برنامج ضروري لوحدك. ولكن حتى إذا قمت بإجراء أمر عبر الخدمة لحسابهم الخاص، يجب أن يكون لديك بعض فكرة عن اختبار استراتيجية للعثور على لغة مشتركة مع المطور.
إلى جانب ذلك، المعرفة الأساسية للغة البرمجة يسمح لك لتنفيذ الإصلاحات الطفيفة والتغييرات في التعليمات البرمجية بعد الانتهاء من العمل بالفعل. بعد كل شيء، فإنه لن تكون مريحة جدا لاستدعاء مبرمج لإصلاح كل قضية صغيرة واجهتك. سيكون أكثر سهولة وأسرع لإصلاح ذلك بنفسك.
لا حاجة إلى إعادة اختراع العجلة.
كيفية العثور على استراتيجية التداول الخاصة بك، أو على الأقل في أي اتجاه يجب أن تركز البحث الخاص بك؟ جميع التجار حماية أنظمة التداول الخاصة بهم، إذا كان لديهم واحد. جميع القادمين الجدد يريدون إنشاء نظام مربح أو الحصول على واحدة جاهزة. وفي الوقت نفسه، يبدو أن أي حل تم الحصول عليه بسيط جدا مقارنة بأفكار القادمين الجدد حول نظام تداول حقيقي.
رجال الجيش في جميع أنحاء العالم عرضة لمستويات مفرطة من السرية. هناك العديد من النكات حول ذلك بما في ذلك ما يلي: "إن السر العسكري ليس في ما تدرسه، - يقول ضابط لطلاب المدارس العسكرية، ولكن في حقيقة أن كنت تدرس بالضبط". الوضع مع أنظمة التداول متشابه بما فيه الكفاية: معظم التجار يستخدمون أفكارا تجارية بسيطة ومعروفة مع تعديلات طفيفة، على سبيل المثال، إضافة وقف زائدة أو تأكيدات من مؤشرات الاتجاه.
هناك الكثير من المنتديات التاجر مع وصول محدود حيث المشاركين الانضمام جهودهم لتطوير أو تحسين بعض أنظمة التداول السرية. الشيء الأكثر إثارة للاهتمام هو أن هذه الأنظمة لا تحتوي على أي شيء خاص على الإطلاق. وعادة ما تستخدم فكرة معروفة (مثل "التجارة مع الاتجاه") كأساس. ثم يتقن مع بعض المؤشرات الجديدة غير معروفة لعامة الناس.
لذلك، يمكنك بسهولة اتخاذ رموز التداول المتاحة الروبوت المصدر ومحاولة استخدامها بشكل صحيح مع مختلف الرموز والأطر الزمنية. ويمكن ذكر قول شعبي آخر هنا: "أنت لا تحب القطط، فأنت لا تعرف كيف تطبخها!" فمن الصعب أن نصدق ولكن احتمال أن تقوم بتطوير شيء جديد حقا هو صغير جدا. الشيء الرئيسي هنا هو إنشاء نظام باستخدام المكونات المتاحة. لا أعتقد أن بعض العباقرة لديهم إمكانية الوصول إلى بعض النظم السرية من مختبرات ناسا. هذا هو سر الكأس.
فقط عدد قليل سوف تجعل من خلال.
لذلك، لماذا لا أحد يستخدم الأفكار التجارية، إذا كانت حرفيا في متناول اليد؟ الجواب ربما يكمن في علم النفس البشري. ويشمل موظفو العديد من البنوك وصناديق الاستثمار الكبيرة التجار الذين يؤدون صفقات وفقا لقواعد صارمة وفي حدود محدودة. ولكن لبعض الأسباب، فقط عدد قليل من التجار المؤسسي ترك شركاتهم وبدء التداول باستخدام أموالهم الخاصة.
اتضح أنه لا تحتاج فقط إلى استراتيجية التداول ولكن أيضا الانضباط الحديد لمتابعة ذلك. ووجد العديد من التجار مع الأسف أن لديهم أيضا نفس المشاكل النفسية وصفها في الكتب. بعد إدراك أن أسوأ عدو للتجار هي نفسها، الوافد الجديد يبدأ التفكير في جعل الروبوت التداول للقضاء على العبء النفسي.
على الرغم من أنني أحرف قليلا عن الموضوع، وأود أن أذكر تجار السلاحف الأسطوري الذي نجح في التداول في أسواق متعددة في أواخر القرن 20th. قراءة "الطريق من السلاحف" وسترى أن الشيء الأكثر أهمية للتاجر هو الانضباط الذاتي وليس بعض النظام السري العلوي. للأسف، فإن معظم القادمين الجدد لن تكون قادرة على اتباع استراتيجية مربحة، حتى لو أنها تحصل عليه مجانا.
والمشكلة هي أن معظم استراتيجيات التداول التي يتم تركيبها تماما للتداول اليدوي بالكاد يمكن أن تكون رسمية ونسخ إلى لغة البرمجة. فالاستراتيجيات التي يمكن إضفاء الطابع الرسمي عليها بسهولة (على سبيل المثال، تلك التي تنطوي على تقاطع متوسطين متحركين) بسيطة جدا وتتطلب الكثير من التحسينات والتحسينات، حتى يمكن استخدامها في الممارسة العملية. وبالتالي، فإن فكرة بسيطة معقدة تدريجيا من قبل الكثير من المعلمات الخارجية منع الروبوت التداول من إدخالات خاطئة والأخطاء واضحة للعيان المطور. وتظهر قضية التداول الروبوت الأمثل. ولا ينبغي أن تتحول هذه العملية إلى إفراط في التناسب والملاءمة لفترة زمنية معينة.
لمعالجة هذه المشكلة، تم تنفيذ الاختبار الأمامي باستخدام معلمات النظام التي تم الحصول عليها في محطة ميتاتريدر 5. إذا كانت نتائج الاختبار إلى الأمام لا تختلف كثيرا عن تلك التي تم الحصول عليها في قسم التحسين، فهناك احتمال بأن يكون روبوت التداول مستقرا بما فيه الكفاية لبعض الوقت بعد إطلاقه على حساب التداول. طول الفاصل الزمني لتحسين المعلمات والقيمة الفعلية لتلك "بعض الوقت" تعتمد على نظام تداول معين.
وبالتالي، فإن الاستفادة المثلى من روبوت التداول قبل إطلاقه على حساب التداول تذكر الفك حبال - أكثر بعناية لدينا غير مرغوب فيه ونفخ قذيفة من حبال، وأبعد أنها سوف تطير وأكثر دقة مسارها سيكون. سوف الروبوت التداول وضعت بشكل كامل الحفاظ على نتيجة إيجابية على حساب التداول لفترة أطول من الروبوت التداول التي تم الحصول عليها نتيجة لتركيب. يمكننا القول أن الكأس هو فكرة العمل والتكيف الصحيح من المعلمات أداءها من وقت لآخر في لحظات من تغيرات ظروف السوق.
هذا يمكن أن يتضح من نتائج بطولة التداول الآلي الذي عقد لسنوات عديدة بالفعل. تقديم المستشارين الخبراء من جميع المشاركين تمر من خلال الاختبارات التلقائية على الفاصل الزمني من يناير إلى نهاية يوليو. الشرط الرئيسي لاجتياز الاختبار التلقائي هو الربح المكتسب لمدة ثمانية أشهر من الاختبار. ولكن أقل من نصف الروبوتات التجارية اعترف للبطولة لا تزال مربحة بعد أشهر عملك المستقل.
يمكنك أيضا محاولة مهاراتك في صنع وتعديل الروبوت التداول الخاص بك للمشاركة في بطولة والحصول على نتائج الاختبار إلى الأمام من مستشار الخبراء الخاص بك. الى جانب ذلك، والمشاركة مجانية والجوائز مثيرة للإعجاب. نأمل أن نراكم هناك!
استنتاج.
يقضي التجار اللحظيين المحترفين ساعات طويلة يجلسون على أجهزة الكمبيوتر الخاصة بهم وينتظرون اللحظة المناسبة لإجراء صفقة. وبطبيعة الحال، فإنها لا يمكن أن تكون في حالة جيدة في كل وقت.
معظم التجار يأتون إلى استنتاج مفاده أن أفعالهم تنتهك قواعد التداول الخاصة بهم. لا يمكن أن تكون جميع أنظمة التداول رسمية تماما، ولكن حتى هذه الأنظمة يمكن في معظم الحالات اعتماد أدوات إضافية، مثل المؤشرات والنظم التحليلية والمرشحات إشارات كاذبة.
نحن لا نقدم أي توصيات خاصة هنا بخصوص MQL4 أو MQL5 تعلم اللغات، كما أن هناك الكثير من المواد المفيدة الأخرى المتعلقة بهذا الموضوع. الغرض من هذه المقالة هو تقديم بعض الفكرة الأولية حول كيفية البدء في جعل الروبوت التداول الخاص بك ل ميتاتريدر 4 و ميتاترادر 5 محطات.
نأمل أن توفر هذه المادة الوقت للقادمين الجدد وتظهر الاتجاه الصحيح في المهمة الصعبة المتمثلة في تطوير نظام التداول الآلي.
ترجمة من الروسية من قبل شركة ميتاكوتس سوفتوار Corp.
خبير أدفيسور بروجرامينغ & # 8211؛ الطريق القديم لإنشاء الروبوتات الفوركس.
6 سبتمبر 2017.
برمجة المستشارين الخبراء هي عملية إنشاء أنظمة التداول الآلي لاستخدامها في سوق الفوركس. سوف تحتاج إلى إتقان ميتاكوتس اللغة 4 (MQL4) أو اللغة ميتاكوتس 5 (MQL5) لخلق الروبوتات التداول بشكل فعال. سوف تحتاج إلى مئات الساعات لتعلم كل ذلك وبسبب هذه البرمجة المخصصة تعتبر الطريقة القديمة لإنشاء الروبوتات الفوركس.
التداول في سوق الفوركس هو عمل مربح للغاية ويطمح كل تاجر لإيجاد وسيلة لتحقيق أرباح متسقة. على هذا النحو، اكتشف معظم التجار أن المستشارين الخبراء (الروبوتات الفوركس) هي أفضل وسيلة لتحقيق أرباح متسقة والتغلب على العديد من المخاطر في سوق الفوركس.
مستشار برمجة البرمجة.
لغات البرمجة الروبوت الفوركس تقترض المفاهيم من لغات أخرى، مثل لغة C ++. لذلك، كونها ممتازة في لغات البرمجة الأخرى يمكن أن تجعلك خبير خبير مستشار مبرمج.
الروبوتات التجارية تحتاج إلى برمجتها، والتجار دون مهارات البرمجة الكافية أو المال لتوظيف مبرمج أبدا يدركون فوائد أنظمة التداول الآلي. ولكن إذا كنت في البرمجة ثم يمكنك الاستفادة من التداول الآلي الوقت الكبير.
بعد تحديد استراتيجية مربحة، يمكنك استخدام إما MQL4 أو لغة البرمجة MQL5 لكتابة سطور من التعليمات البرمجية التي تمثل استراتيجيتك.
اللغات هي متعددة جدا، وسوف تسمح لك لخلق مستشارين مدهش الخبراء لإنجاح نجاح التداول الخاص بك.
إذا لم تكن المختصة في الفوركس الروبوت لغات البرمجة، يمكنك استئجار مبرمج لترجمة استراتيجيات التداول الخاصة بك إلى الروبوت.
هناك العديد من المواقع مع المبرمجين يمكنك استئجار لتطوير مستشار الخبراء الذي يناسب متطلبات التداول الخاصة بك.
موقع MQL5 لمبرمجي التوظيف.
يمكنك أيضا إجراء فحص الخلفية على مواقع مثل فوركس بيس أرمي أو فوريكس فيريفيد. وبهذه الطريقة، يمكنك معرفة ما إذا كان مبرمج تريد توظيف أو مستشار خبير كنت ترغب في شراء هو مشروع.
موقع فوركس سلام الجيش.
الفوركس التحقق من الموقع.
من المهم أن نلاحظ أن هذا الأسلوب من خلق مناطق العد التي تتطلب منك إما إتقان لغة البرمجة أو استئجار مبرمج هو الحصول على القديم وعدد قليل من الناس لا تزال متابعة ذلك.
تعلم البرمجة صعب وقليل من الناس على السيطرة على تعقيداتها. وبالمثل، توظيف مبرمج مكلفة وكنت غير متأكد ما إذا كان المبرمج سوف تبقي على التعليمات الخاصة بك.
ونتيجة لذلك، لبرمجة رخيصة ومستشار خبير بسيط ل ميتاتريدر 5 أو 4، وكثير من الناس يلجأون إلى بناة مستشار الخبراء والمولدات مستشار الخبراء. مع هذه الأدوات، يمكنك بناء مستشار خبير دون أي مهارات البرمجة أو المهارات التقنية الأخرى.
وقد أدى ظهور مؤخرا بناة إي ومولدات إي عملية إنشاء الروبوتات الفوركس سريعة وغير معقدة.
بدلا من إتقان لغات البرمجة المعقدة، تحتاج فقط إلى إدخال تفضيلات الاستراتيجية الخاصة بك، والباقي سيتم الانتهاء في غضون دقائق.
أكثر من ذلك، باستخدام مولدات الفوركس إي بسيطة ومناسبة لكل نوع من المتداول بغض النظر عما إذا كنت تاجر على المدى القصير أو تاجر على المدى الطويل.
ما هو مستشار خبير في تجارة الفوركس؟
كما يلمح أعلاه، مستشار خبير في تداول العملات الأجنبية يشير إلى تطبيق يسمح التداول حر اليدين. بدلا من القيام بالعمل الشاق من تحديد الفرص التجارية، ووضع الصفقات، وإدارة الصفقات، والخروج من الصفقات، فإن الروبوت الفوركس يوفر لك من المتاعب مما يسمح لك لقضاء بعض الوقت في القيام بأنشطة هامة أخرى.
سوف المستشارين الخبراء اتخاذ القرارات التجارية على أساس الخوارزمية التي تحدد فيها. إذا كان لديك أي استراتيجية التداول التي يمكن برمجتها، ويمكن أن تكون مكتوبة في تطبيق وتستخدم للتداول الحية.
المستشارين الخبراء في منصة MT4.
على سبيل المثال، إذا كان لديك إستراتيجية تقوم بإنشاء إشارة تجارية كلما عبر متوسطان متحركان بعضهما البعض، فيمكنك ترميزه في روبوت تداول، ونسيان التداول اليدوي.
متوسطان متحركان يعبران بعضهما البعض.
ويعتمد العديد من التجار حول العالم على تجارة الروبوت لتحقيق أرباح ضخمة من سوق الفوركس.
على عكس التداول اليدوي، الذي يجبرك على أن تكون موجودة جسديا وصقها على جهاز الكمبيوتر الخاص بك، لا يتطلب التداول المستشار المستشار وجودك المادي، كما أن كل عمل شاق سيتم تنفيذها لك من قبل الجهاز.
فائدة أخرى من استخدام المستشارين الخبراء في تداول العملات الأجنبية هي أنها ليست عرضة للعواطف.
مثال على الفوركس إي.
وبما أن التجار هم أيضا من البشر، الذين غالبا ما يميلون إلى التمسك بالمشاعر قبل اتخاذ القرارات، فإنهم غالبا ما يجدون أنفسهم يتخذون قرارات تجارية مدفوعة بالجشع أو خوفا من الدفع.
ومع ذلك، الفوركس إي هي الآلات التي ليست عرضة لأي عواطف. الروبوتات هي السلكية التمسك بقواعد محددة، وسوف تولد فقط إشارات التجارة إذا تم الوفاء الشروط المحددة - دون أن تصبح بخيبة أمل من الخسائر أو بهيجة مفرطة من انتصارات.
الروبوتات الفوركس هي أيضا قادرة على الاستجابة بسرعة للتغيرات في السوق. في حين أن التجار البشر قد تنفق بضع دقائق أو أكثر في محاولة لفهم ما يجري في السوق، والروبوتات قادرة على تحليل الفور تحركات السوق ووضع النظام دون التخمين الثاني.
وأخيرا، أنظمة التداول الآلي ليست عرضة لخطأ بشري. في بعض الأحيان يكون الإنسان مساويا لكونه عرضة للخطأ، على عكس الآلات.
بعد في بناء استراتيجية في الروبوت، وسوف تتبع الأوامر المقدمة، دون أي أخطاء. عادة ما يميل البشر إلى أن يكونوا عاطفيين عند اتخاذ القرارات، وهو ما يؤدي عادة إلى تداول الأخطاء والخسائر.
كيفية كتابة مستشار الخبراء في MT4.
برمجة مستشار خبير في MT4 شاقة وغير متوقعة. لمبرمج مستشار خبير لخلق الروبوت العمل، وسوف يستغرق من يوم واحد لعدة أسابيع.
ومع ذلك، بعد قضاء الكثير من الوقت في كتابة إي، وهذا لا يعني أنه سيعطي نتائج موثوقة عند اختبارها ضد البيانات التاريخية. عادة ما تفشل هذه الروبوتات لأن قواعد الدخول والخروج محددة مسبقا حتى قبل أن تبدأ برمجتها.
على العكس من ذلك، إذا كنت تستخدم مولد الفوركس إي لبرمجة مستشار خبير، فلن تواجه مثل هذه المشاكل.
باستخدام خبير مستشار باني سوف تسمح لك لتطوير الروبوت بسرعة في حين توفر لك نتائج باكتستد موثوق بها. ما هو أكثر من ذلك، يمكنك بسهولة إجراء تحسينات على الروبوت دون الحاجة إلى القلق حول كسر أي سطر من التعليمات البرمجية.
دون مهارات البرمجة الكافية، كتابة مستشار خبير في MT4 من الصعب تحقيقه. البرمجة ليست سهلة وقد لا تكون مناسبة للجميع.
تحتاج إلى قضاء مئات الساعات ممارسة وشراء مجموعة من الموارد المختلفة لتمكين لك لإتقان كيفية رمز.
إذا كنت لا تزال تعتمد على الطريقة القديمة لإنشاء الروبوتات، واعتمادا على وثائق مستشار بدف البرمجة لتطوير مناطق العد، ثم كنت في عداد المفقودين على العديد من الفوائد.
مع تقدم اليوم في التكنولوجيا، وخلق المستشارين الخبراء ليست شاقة. و، لا تحتاج لقضاء الكثير من الوقت والمال في محاولة لمعرفة كيفية برمجة الفوركس الروبوت أو تبحث عن مبرمج.
مستشار خبير بدون مؤشر.
باستخدام البرمجة المخصصة، يمكنك بناء مستشار خبير أن بناة إي والمولدات لا يمكن أن تنتج. بما أنك سوف تكتب خطوط التعليمات البرمجية بنفسك، يمكنك برمجة الروبوت الفوركس مع قدرات غير متوفرة في أي مكان آخر.
على سبيل المثال، يمكنك برمجة الروبوت التداول الخاص بك لتنفيذ أساليب تجارية محددة، مثل التداول الشبكة، التحوط، مارتينغال، أو سلخ فروة الرأس. ومع ذلك، فإن برمجة مثل هذا التقييم يتطلب المزيد من الجهد والمهارات التقنية المتخصصة.
وبصرف النظر عن وجود مهارات برمجة ممتازة، تحتاج أيضا أن تكون ممتازة في أسلوبك المفضل من التداول. إذا كنت المضي قدما وخلق مثل هذا الروبوت المتقدمة دون مهارات التداول على مستوى الخبراء، قد ينتهي بك المطاف خلق إي الأكل المال، والتي يمكن أن تؤدي إلى المزيد من الخسائر. لذلك، اتقان كيفية برمجة الروبوت الفوركس ليست سهلة.
وعلاوة على ذلك، فإن مثل هذه الأنواع من الروبوتات عادة ما تكون معقدة للغاية بالنسبة للمستخدم العادي. لأي شخص لاستخدامها، وقال انه أو انها يجب أولا إتقان استراتيجيات التداول المتقدمة، الأمر الذي يستغرق وقتا وجهدا.
إذا حاولت التداول مع مثل هذه الروبوتات المعقدة دون مهارات تداول كافية، هل يمكن أن تتخذ قرارات محفوفة بالمخاطر، والتي يمكن أن تزيد أيضا من الخسائر الخاصة بك.
فوركس روبوت سورس كود.
رمز فوركس الروبوت يحتوي على قائمة الأوامر التي إي الخاص بك سوف تستخدم لتنفيذ قرارات التداول. هذا هو العنصر الأساسي من الروبوت التداول الخاص بك.
يمكن أن يكون لدى مستشار خبير واحد أو أكثر من رموز المصدر - اعتمادا على تعقيد التعليمات التي سيتم تنفيذها. يمكن للمبرمجين المستشارين الخبراء تضمين التعليقات في التعليمات البرمجية المصدر للمساعدة في زيادة قراءتها.
في حين أن الروبوتات التجارية المعقدة عادة ما تشير إلى مئات أو آلاف خطوط من التعليمات البرمجية، بل هو أكثر شيوعا للروبوتات بسيطة للإشارة فقط بضعة أسطر من التعليمات البرمجية.
إذا كان إي يحتوي على عدة ملفات المصدر، فإنه يمكن تنظيمها في أقسام مختلفة. إذا كان لديك ملف واحد مع وظائف متعددة والأوامر، قد يكون من الصعب العثور على بعض أقسام التعليمات البرمجية.
من المهم جدا أن يكون مصدر الروبوت، بغض النظر عن نوعه أو تعقيده. ويمكن أن تكون موجودة في مستند خبير البرمجة بدف وثيقة. بهذه الطريقة، يمكنك بسهولة تغيير التعليمات البرمجية إذا لزم الأمر.
على سبيل المثال، إذا تم تحديث منصة التداول أو حدثت بعض التغييرات الهامة في السوق، يمكنك بسهولة إجراء التحديثات.
إذا حاولت أداء الروبوت الفوركس الخاص بك تحت ظروف التداول الفوركس محاكاة وكنت غير راض عن أدائها، يمكنك بسهولة العودة إلى شفرة المصدر وإجراء التغييرات المناسبة. دون وجود شفرة المصدر، قد يكون من الصعب إجراء مثل هذه التحسينات.
وعلاوة على ذلك، يتيح لك الوصول إلى شفرة المصدر فوركس الروبوت لك أن تقدم مساهمة ذات مغزى للمجتمع. يمكنك مشاركة التعليمات البرمجية لمساعدة المتعلمين الآخرين أو يمكنك إعادة تدوير بعض أجزاء لاستخدامها في تطوير أنظمة التداول الآلي أكثر قوة.
الفوركس إي مولد.
مولد الفوركس إي هو طريقة جديدة لخلق الروبوتات التجارية يمكن الاعتماد عليها دون الحاجة إلى مهارات البرمجة أو المهارات التقنية الأخرى.
الاعتماد على الطريقة القديمة لخلق الروبوتات تستهلك الكثير من الوقت ومكلفة للغاية، وخاصة إذا كنت بدأت برمجة مستشار الخبراء مع ميتاتريدر.
مع بناء إي، يمكنك فقط إدخال تفضيلات استراتيجية التداول المفضلة لديك وبقية العملية يتم تلقائيا لك - دون كتابة سطر واحد من التعليمات البرمجية أو اتباع تعليمات معقدة في بعض البرمجة مستشار الخبراء للدليل بدف ميتاتريدر 5. إنفاق ساعات لا تعد ولا تحصى تعلم كيفية بناء مستشار خبير ستكون أيضا لا لزوم لها.
الأهم من ذلك، قبل استخدام باني مستشار الخبراء، تحتاج إلى إجراء البحوث الأولية لتحديد استراتيجية التداول الخاصة بك. يجب أن تأتي مع الأسلوب الذي يمثل أفضل الخصائص الشخصية الخاصة بك وأسلوب التداول المفضل.
على سبيل المثال، عوامل مثل الرغبة في المخاطرة، ومقدار رأس المال، والأوقات المفضلة للتداول كلها ضرورية للنظر عند وضع استراتيجية. تحتاج إستراتيجيتك المختارة إلى تسويق حصيفة وقادرة على تحقيق أرباح متسقة في سوق الفوركس.
بعد أن قمت بتطوير فكرة استراتيجية، يمكنك ثم إدخال تفضيلاتها في مولد الروبوت. الأداة القائمة على الانترنت لديها ميزات قوية لمساعدتك على إنشاء مستشارين موثوق بها الخبراء في غضون دقائق.
خبير مستشار البناء من أكاديمية الفوركس روبوت هو وسيلة سهلة لإنشاء الروبوتات دون كتابة سطر واحد من التعليمات البرمجية. انها أداة مبتكرة وطريقة تقنية أفضل لخلق الروبوتات الفوركس.
سوف أداة على الانترنت توليد النتائج باكتستد من الروبوت خلق، مما يسمح لك للتأكد من ربحيتها. إذا كانت النتائج غير مرضية، حتى بعد محاولتهم تحت ظروف تداول الفوركس المحاكاة، يمكنك ضبط معايير التداول الخاصة بك حتى تحصل على ما تريد.
بالإضافة إلى ذلك، باستخدام أداة لإنشاء الروبوتات التداول هو أسرع بكثير من مبرمج. لن تحتاج إلى القلق بشأن فقدان الفواصل المنقوطة أو أخطاء تجميع الرموز الأخرى؛ كل شيء سيتم الانتهاء تلقائيا بالنسبة لك في غضون بضع دقائق.
وفيما يلي المكونات الرئيسية لمولد الفوركس إي.
مولد: بعد إدخال معلمات الإستراتيجية المفضلة لديك، سيعمل هذا المكون على إنشاء إستراتيجية آلية لك. كما سيتم تزويدك بنتائج باكتستد للتحقق من ربحية الروبوت الخاص بك.
مكون مولد في مصنع الفوركس روبوت.
مجموعة: بعد إنشاء استراتيجية، يتم تخزينها في عنصر المجموعة. وبهذه الطريقة، يمكنك فرزها بسهولة وفقا لمتطلباتك المفضلة. المحرر: قبل تصدير استراتيجياتك المبرمجة إلى منصة التداول، يمكنك استخدام المحرر لتحريرها والتأكد من أنها سوف تقدم النتائج المتوقعة في ظل ظروف التداول الحية.
محرر مكون في مصنع الفوركس روبوت.
التحسين: مولد الفوركس إي لديها أدوات مختلفة لمساعدتك على تحقيق أقصى قدر من الأداء الخاص بك الروبوت خلق. ومن الأمثلة على ذلك اختبار خبير استشاري واختبار متعدد الأسواق. تقرير: إذا كنت بحاجة إلى تقرير شامل عن أداء مستشار الخبراء الخاص بك، يمكنك الحصول عليه في هذا القسم.
تقرير مكون في مصنع الفوركس روبوت.
المصدر: مع هذا المكون، يمكنك بأمان وبشكل آمن نشر الروبوت التداول الخاص بك إلى منصة.
استنتاج.
برمجة المستشارين الخبراء هي الطريقة القديمة لخلق الروبوتات الفوركس. استخدام مثل هذه الطريقة لبرنامج مناطق العد يتطلب منك إتقان البرمجة المتقدمة وقضاء عدة ساعات كتابة خطوط معقدة من التعليمات البرمجية، وهو أمر شاق وصعب تحقيقه.
باستخدام مولد إي الفوركس هو الطريقة الحديثة لإنشاء أنظمة التداول الآلي يمكن الاعتماد عليها دون الحاجة إلى مهارات البرمجة المتقدمة.
تحتاج فقط لتحديد فكرة استراتيجية التداول وإدخالها في أداة الخالق الروبوت، والباقي سيتم الانتهاء تلقائيا في غضون بضع دقائق.
الفوركس ميتاتريدر.
يمكن أن يكون من الصعب العثور على خدمات الترميز برمجية ميتاتريدر فوركس. خاصة بالنسبة للتجار العملة يبحثون عن نوعية جيدة، موثوقة وفعالة من حيث التكلفة الحل.
يمكنك الآن توظيف خبير لأتمتة إستراتيجية التداول الخاصة بك إلى مستشار الفوركس روبوت / خبير (إي)، وتصميم مؤشرات مخصصة متطورة، ودمج ميتاتريدر مع برامج طرف ثالث والمكتبات الخارجية، وترجمة نظام التداول الخاص بك من لغات أخرى والهجرة إلى ميتاتريدر.
برينيفوريكس يمكن أن تساعد التجار مع رؤى الصناعة وكذلك الاستعراضات العامة.
إذا كنت ترغب في محاولة لخلق الروبوت إي الخاص بك ثم مواصلة القراءة على الصفحة أدناه.
برنامج ميتاترادر MT4.
مكلستوديو مؤسس فرانتز يعمل الصغيرة ميتاتريدر الترميز خدمة الأعمال مقرها في كندا، وتقدم شخصية دعم مدى الحياة، وضمان الجودة وغير المشروط 100٪ ضمان استعادة الأموال للمشاريع التي لا تتفق تماما مع المتطلبات الأولية.
للحصول على خصم على المشروع الخاص بك، أذكر برومو كود: برينيفوريكس. انتقل إلى مكلستوديو.
تظهر التعليقات العامة هنا.
[بس: كان برينيفوريكس مشروع الانتهاء من مكلستوديو مع نتائج جيدة. قراءة التعليق الكامل في قسم المراجعة العامة].
تم تأسيس مبروغرامينغ في عام 2009 واستغرق مجلس إدارة جديد من خبراء البرمجة MT4 أكثر من عام 2017. العديد من الميزات الجديدة كانت & # xa0؛ نفذت لجعل خدمة سريعة بسرعة فائقة:
1. الآلي نظام البريدية لأي حاجة لعملائنا.
2. دعم كامل مكتب لربط العملاء مع مبرمج بهم.
3. مراقبة الجودة مع إشراف المشرف على كل مشروع شخصيا.
4. بأسعار تنافسية والعديد من الزبائن سعداء.
هناك المزيد في المستقبل منذ مجتمع العملاء ينمو ونحن سوف مفاجأة مع فرص مختلفة في المستقبل قادمة. زيارتنا متبروغرامينغ.
تظهر التعليقات العامة هنا.
ويوصى Mt4programming MT4 شركة خدمات البرمجة مع 10 عاما من الخبرة. تأسست الشركة على الجودة والخدمة التي يمكن التحقق من خلال التحقق من مستويات رضا العملاء من خلال باي بال. (99.9٪)
كما أنها توفر 7 أيام في الأسبوع مكتب الدعم، تعمل من خلال نظام التذاكر لضمان الحفاظ على أعلى مستوى من الجودة الدعم.
للحصول على خصم على المشروع الخاص بك، أذكر أن كنت قد أحيلت من قبل برينيفوريكس. انتقل إلى mt4programming.
تظهر التعليقات العامة هنا.
إميت-ترادينغ-سولوتيونس هو فريق محترف من المبرمجين المدربين تدريبا عاليا وذوي الخبرة التي تركز على الآلي الترميز استراتيجية التداول.
الخدمات هي في الغالب للتجار والمحللين بيع استراتيجيات التداول الخاصة بهم. تقوم إميت ترادينغ سولوتيونس بتطوير أنظمة تداول السيارات لمختلف المنصات: نينجاترادر، ميتاترادر (MT4 / MT5)، كترادر (كالغو)، ترادستاتيون، مولتيشارتس، أويك ترادر.
يتم اعتماد إميت ترادينغ سولوتيونس من قبل نينجاترادر و كترادر ويتحول مفاهيم التداول العملاء إلى استراتيجيات مؤتمتة بالكامل قابلة للتطبيق والمؤشرات المخصصة مع التفاني شخصية ودعم ما بعد التنمية لكل عميل. لماذا نحن الأفضل؟ يرجى قراءة شهادات العملاء على موقعنا.
المراجعة العامة الموضحة هنا.
تريد أن تجرب وجعل الروبوت الخاص بك الفوركس؟
ستراتيجيككانت إي معالج.
ستراتيجيككانت إي معالج هو الحل الكامل للتجار الراغبين في إنشاء الخاصة الخبراء الخبراء دون تعلم البرمجة.
انها سهلة الاستخدام، وسوف يوفر مئات / الآلاف من الدولارات عن طريق القيام بذلك بنفسك إذا كنت تبحث في تحسين استراتيجية أو خلق العشرات من الروبوتات.
عند شراء المنتجات ستراتيكانكوانت، تأكد من إدخال رمز القسيمة الترويجي للحصول على خصم 20٪. الرمز هو؛
ملاحظة: تم استخدام معالج إي من قبل برينيفوريكس لعدة سنوات، وسعيدة جدا مع البرنامج والدعم عبر المطور ومنتدى بهم. المنتج الموصى به للغاية. مراجعة الصفحة هنا.
إي منشئ. ل ميتاتريدر 4، Mt5 أو تراديستاتيون. الفوركس والأسهم والعقود الآجلة. يمكن أيضا إنشاء خيارات ثنائية إي.
السعر $ 97.00. الاتصال برينيفوريكس للحصول على خصم استرداد النقود 20٪ هنا.
نب شروط: استرداد النقود المرسلة إلى باي بال الخاص بك، سكريل أو حساب مصرفي الاسترالي بعد فترة استرداد و برينيفوريكس الفضل للبيع من خلال معرف كليكبانك على الجزء السفلي من صفحة أمر بيع يجب أن يكون brainy4x.
إيتري يمكن أن تساعد التجار لإنشاء مستشار الخبراء الخاصة بهم من خلال برنامج سهل الاستخدام سهل.
فوائد استخدام إيتري:
سهلة الاستخدام وفهم السحب والإفلات واجهة المستخدم الرسومية.
أنت لا تحتاج إلى خلفية البرمجة.
يمكنك أن تتعلم بسرعة مقل باستخدام البرنامج.
خصوصية أسرار التداول الخاصة بك.
يمكنك تقليل وقت تطوير مستشار الخبراء لدقائق بدلا من أيام أو أشهر.
يمكنك تطوير MQL5 الخبراء المستشارين المعقدة مع عملات متعددة وأطر زمنية متعددة؛
يمكنك دمج استراتيجيات تداول متعددة في مستشار خبير واحد؛
يمكنك بسهولة إعادة استخدام التعليمات البرمجية عن طريق حفظ وتحميل الرسوم البيانية (أشجار صناديق).
كنت لا تزال قادرة على استيراد مؤشرات مخصصة MQL5.
يمكنك إنشاء رمز ميتاتريدر 5 مقل الصحيح في كل مرة.
الفوركس بروكرز.
خيارات الفوركس.
EDUCATIONAL.
الادارة.
من قال أن أنظمة التداول الآلي لا تعمل؟ تحقق من صفحة اختبار الروبوت برينيفوريكس هنا.
ينطوي تداول الفوركس على مخاطر كبيرة من الخسارة. اقرأ إخلاء المسؤولية هنا.
(C) حقوق الطبع والنشر 2009 - 2017 برينيفوريكس. كل الحقوق محفوظة.
برنامج تعليمي روبوت تمهيدي.
دعونا نواجه الأمر، الروبوتات هي باردة. انهم أيضا ذاهبون لتشغيل العالم يوما ما، ونأمل في ذلك الوقت أنها سوف تتخذ الشفقة على الفقراء المبدعين سمين لينة (أكا الروبوتات المطورين) ومساعدتنا في بناء يوتوبيا الفضاء مليئة بالكثير. أنا أمزح بالطبع، ولكن فقط نوع من.
في طموحي أن يكون لها تأثير صغير على هذه المسألة، أخذت دورة في نظرية التحكم الآلي الروبوت في العام الماضي، والتي بلغت ذروتها في بناء بلدي محاكاة التي سمحت لي لممارسة نظرية السيطرة على الروبوت المحمول بسيط.
في هذه المقالة، أنا ذاهب لوصف مخطط السيطرة من بلدي الروبوت محاكاة، وتوضيح كيف يتفاعل مع بيئتها ويحقق أهدافها، ومناقشة بعض التحديات الأساسية للبرمجة الروبوتات التي واجهتها على طول الطريق.
تحدي الروبوت: الإدراك مقابل الواقع وهشاشة السيطرة.
التحدي الأساسي لجميع الروبوتات هو: من المستحيل أن نعرف من أي وقت مضى الحالة الحقيقية للبيئة. يمكن للروبوت تخمين فقط حالة العالم الحقيقي على أساس القياسات التي تم إرجاعها من قبل أجهزة الاستشعار. ويمكن أن تحاول فقط تغيير حالة العالم الحقيقي من خلال تطبيق إشارات السيطرة عليها.
وبالتالي، واحدة من الخطوات الأولى في تصميم السيطرة هو التوصل إلى تجريد من العالم الحقيقي، والمعروفة باسم نموذج، والتي لتفسير قراءات أجهزة الاستشعار واتخاذ القرارات. طالما أن العالم الحقيقي يتصرف وفقا لافتراضات النموذج، يمكننا أن نجعل التخمينات جيدة وممارسة السيطرة. وحالما ينحرف العالم الحقيقي عن هذه الافتراضات، لن نتمكن بعد ذلك من إجراء تخمينات جيدة، وستفقد السيطرة. في كثير من الأحيان، السيطرة مرة واحدة فقدت لا يمكن استعادتها. (ما لم تستعيده قوة خارجية خيرة.)
هذا هو واحد من الأسباب الرئيسية التي برمجة الروبوتات صعبة للغاية. نحن غالبا ما نرى الفيديو من أحدث روبوت البحوث في المختبر، وأداء مآثر رائعة من البراعة والملاحة، أو العمل الجماعي، ونحن نميل إلى أن نسأل: "لماذا لا يستخدم هذا في العالم الحقيقي؟" حسنا، في المرة القادمة التي ترى مثل هذا الفيديو، نلقي نظرة على كيفية عالية السيطرة على بيئة المختبر. في معظم الحالات، هذه الروبوتات هي قادرة فقط على أداء هذه المهام مثيرة للإعجاب طالما أن الظروف البيئية لا تزال ضمن حدود ضيقة من نموذجها الداخلي. وبالتالي، فإن مفتاح تقدم الروبوتات هو تطوير نماذج أكثر تعقيدا ومرونة وقوة - التقدم الذي يخضع لحدود الموارد الحاسوبية المتاحة.
[ملاحظة جانبية: سوف يلاحظ الفلاسفة وعلماء النفس على حد سواء أن المخلوقات الحية تعاني أيضا من الاعتماد على تصورها الداخلي الخاص لما هي حواسها تقول لهم. العديد من التقدم في الروبوتات تأتي من مراقبة المخلوقات الحية، ورؤية كيف تتفاعل مع المحفزات غير متوقعة. فكر في الأمر. ما هو النموذج الداخلي للعالم؟ وهو يختلف عن النمل، والسمك (نأمل). ومع ذلك، مثل النمل والأسماك، فمن المرجح أن يبالغ في تبسيط بعض الحقائق في العالم. عندما الافتراضات الخاصة بك حول العالم ليست صحيحة، فإنه يمكن وضعك في خطر فقدان السيطرة على الأشياء. في بعض الأحيان نسمي هذا "الخطر". بنفس الطريقة لدينا الروبوت الصغير يكافح من أجل البقاء ضد الكون المجهول، لذلك نحن جميعا. هذا هو نظرة قوية ل روبوتيستس.]
محاكاة الروبوت.
تم كتابة محاكاة بنيت في بيثون و بذكاء جدا يطلق عليها اسم سوبوت المحاكي. يمكنك العثور على v1.0.0 هنا على جيثب. انها لا تملك الكثير من أجراس وصفارات ولكن هو مبني على أن تفعل شيئا واحدا بشكل جيد للغاية: توفير محاكاة دقيقة للروبوت وإعطاء الروبوتية تطمح واجهة لممارسة برمجة الروبوت السيطرة. في حين أنه من الأفضل دائما أن يكون الروبوت الحقيقي للعب مع، محاكاة الروبوت روبوت هو أكثر سهولة الوصول إليها، ومكان عظيم للبدء.
البرنامج يحاكي روبوت البحوث واقع الحياة يسمى خيرا الثالث. من الناحية النظرية، يمكن تحميل منطق السيطرة في روبوت خيبيرا الثالث الحقيقي مع الحد الأدنى إعادة بيعها، وأنها سوف تؤدي نفس الروبوت محاكاة. وبعبارة أخرى، برمجة الروبوت محاكاة يشبه برمجة الروبوت الحقيقي. هذا أمر بالغ الأهمية إذا كان جهاز محاكاة ليكون من أي استخدام.
في هذا البرنامج التعليمي، وسوف أصف هندسة التحكم الروبوت الذي يأتي مع v1.0.0 من محاكي سوبوت، وتوفير مقتطفات من المصدر (مع تعديلات طفيفة للوضوح). ومع ذلك أنا أشجعكم على الغوص في المصدر وفوضى. وبالمثل، لا تتردد في مفترق المشروع وتحسينه.
منطق التحكم في الروبوت مقيد بهذه الملفات:
موديلز / supervisor. py موديلز / supervisor_state_machine. py الملفات الموجودة في دليل النماذج / وحدات التحكم.
كل روبوت يأتي مع قدرات مختلفة والمخاوف السيطرة. دعونا الحصول على دراية لدينا الروبوت محاكاة.
أول شيء أن نلاحظ هو أنه في هذا الدليل، سيكون الروبوت لدينا الروبوت المحمول مستقلة. وهذا يعني أنها سوف تتحرك في الفضاء بحرية، وأنها سوف تفعل ذلك تحت سيطرتها. هذا هو على النقيض من ذلك، على سبيل المثال، روبوت أرسي (التي ليست مستقلة) أو ذراع الروبوت مصنع (التي ليست النقالة). يجب أن الروبوت لدينا معرفة لنفسها كيفية تحقيق أهدافها والبقاء على قيد الحياة في بيئتها، مما يثبت أن تحديا صعبا بشكل مدهش لمبرمج الروبوتات المبتدئين.
مدخلات التحكم - مجسات.
هناك العديد من الطرق المختلفة التي يمكن أن يكون الروبوت مجهزة لمراقبة بيئتها. ويمكن أن تشمل هذه الأشياء أي شيء من أجهزة استشعار القرب، وأجهزة الاستشعار الخفيفة، والمصدات، والكاميرات، وهكذا دواليك. وبالإضافة إلى ذلك، قد الروبوتات التواصل مع أجهزة الاستشعار الخارجية التي تعطي معلومات الروبوت نفسه لا يمكن أن نلاحظ مباشرة.
وقد تم تجهيز الروبوت لدينا مع 9 أجهزة استشعار القرب الأشعة تحت الحمراء مرتبة في "تنورة" في كل اتجاه. هناك المزيد من أجهزة الاستشعار التي تواجه الجزء الأمامي من الروبوت من الخلف، لأنه عادة ما يكون أكثر أهمية للروبوت لمعرفة ما هو أمامه من ما هو وراء ذلك.
بالإضافة إلى أجهزة استشعار القرب، والروبوت لديه زوج من عجلة العجلات التي تتبع عدد دوران كل عجلة جعلت. واحد بدوره إلى الأمام الكامل من عجلة التهم قبالة 2765 القراد. يتحول في الاتجاه المعاكس العد إلى الوراء.
التحكم في النواتج - التنقل.
بعض الروبوتات تتحرك حول الساقين. بعض لفة مثل الكرة. حتى انزلق بعض مثل ثعبان.
الروبوت لدينا هو روبوت محرك التفاضلية، وهذا يعني أنه يدور حولها على عجلتين. عندما يتحول كل من العجلات في نفس السرعة، يتحرك الروبوت في خط مستقيم. عندما تتحرك العجلات بسرعات مختلفة، يتحول الروبوت. وهكذا، والتحكم في حركة هذا الروبوت يأتي إلى السيطرة بشكل صحيح على المعدلات التي كل من هاتين العجلات اثنين تتحول.
في سوبوت ريمولاتور، يتجسد الفصل بين الروبوت "الكمبيوتر" والعالم الفيزيائي (المحاكي) من خلال ملف robot_supervisor_interface. py، الذي يحدد واجهة برمجة التطبيقات بأكملها للتفاعل مع "العالم الحقيقي" على هذا النحو:
يعيد read_proximity_sensors () مصفوفة مكونة من 9 قيم في النسق الأصلي للمقاييس read_wheel_encoders () ترجع صفيف قيمتين يشيران إلى إجمالي القراد منذ بداية set_wheel_drive_rates (v_l، v_r) يأخذ قيمتين، في راديان-بير-سيكوند.
الروبوتات، مثل الناس، تحتاج إلى هدف في الحياة. والهدف من برمجة هذا الروبوت سوف تكون بسيطة جدا: وسوف محاولة لجعل طريقها إلى نقطة هدف محددة سلفا. يتم برمجة إحداثيات الهدف في برنامج التحكم قبل تنشيط الروبوت.
ومع ذلك، لتعقيد الأمور، والبيئة من الروبوت قد تكون متناثرة مع العقبات. الروبوت قد لا تتصادم مع عقبة في طريقها إلى الهدف. لذلك، إذا واجه الروبوت عقبة، فإنه يجب أن تجد طريقها حولها بحيث يمكن أن تستمر في طريقها إلى الهدف.
نموذج بسيط.
أولا، سيكون لدينا الروبوت نموذج بسيط جدا. وسوف يجعل العديد من الافتراضات حول العالم. بعض من أهمها ما يلي:
التضاريس هي دائما مسطحة وحتى العقبات هي أبدا جولة العجلات أبدا لا تنزلق أي شيء من أي وقت مضى لدفع الروبوت حول أجهزة الاستشعار أبدا تفشل أو إعطاء قراءات خاطئة عجلات تتحول دائما عندما يقال لهم.
حلقة التحكم.
الروبوت هو نظام ديناميكي. حالة الروبوت، وقراءات أجهزة الاستشعار، وآثار إشارات السيطرة لها، هي في تدفق مستمر. وتشمل السيطرة على طريقة لعب األحداث الخطوات الثالث التالية:
تطبيق إشارات التحكم. قياس النتائج. توليد إشارات التحكم الجديدة المحسوبة لجلب لنا أقرب إلى هدفنا.
وتكرر هذه الخطوات مرارا وتكرارا إلى أن نحقق هدفنا. والمزيد من الأوقات يمكننا أن نفعل هذا في الثانية الواحدة، ومراقبة أدق سيكون لدينا على النظام. (روبوت المحاكي سوبوت يكرر هذه الخطوات 20 مرة في الثانية الواحدة، ولكن العديد من الروبوتات يجب أن تفعل هذا الآلاف أو الملايين من المرات في الثانية الواحدة من أجل السيطرة الكافية.)
بشكل عام، في كل مرة يأخذ الروبوت لدينا قياسات مع أجهزة الاستشعار، ويستخدم هذه القياسات لتحديث تقديرها الداخلي لحالة العالم. ويقارن هذه الحالة مع قيمة مرجعية لما تريد الدولة أن يكون، ويحسب الخطأ بين الحالة المطلوبة والحالة الفعلية. وبمجرد معرفة هذه المعلومات، يمكن تقليل إشارات التحكم الجديدة إلى مشكلة تقليل الخطأ.
A خدعة أنيق - تبسيط النموذج.
للسيطرة على الروبوت نريد أن البرنامج، علينا أن نرسل إشارة إلى عجلة اليسرى نقول لها مدى سرعة التحول، وإشارة منفصلة إلى عجلة اليمنى تقول ذلك مدى سرعة التحول. دعونا ندعو هذه الإشارات v L و V R. ومع ذلك، والتفكير باستمرار من حيث V L و V R مرهقة للغاية. فبدلا من أن نسأل: "ما مدى السرعة التي نرغب في أن تتحول العجلة اليسرى إليها، ومدى السرعة التي نرغب في أن تتحول بها العجلات المناسبة؟" من الطبيعي أن نسأل: "ما مدى السرعة التي نريد أن يتحرك بها الروبوت، وكيف بسرعة هل نريد أن تتحول، أو تغيير عنوانها؟ "دعونا ندعو هذه المعلمات السرعة الخامس والسرعة الزاوية ω (ويعرف أيضا باسم أوميغا). اتضح أننا يمكن أن قاعدة لدينا نموذج كامل على v و ω بدلا من V ل و V R، وفقط مرة واحدة قررنا كيف نريد الروبوت مبرمجنا للتحرك، رياضيا تحويل هاتين القيمتين في V L و V R مع السيطرة على الروبوت. هذا هو المعروف باسم نموذج الدراجة الأحادية العجلة للسيطرة.
إليك الرمز الذي ينفذ التحويل النهائي في supervisor. py. لاحظ أنه إذا كان ω هو 0، فإن كلا العجلات تتحول في نفس السرعة:
تقدير الدولة - روبوت، اعرف نفسك.
باستخدام أجهزة الاستشعار، يجب على الروبوت محاولة تقدير حالة البيئة وكذلك دولتها. هذه التقديرات لن تكون مثالية، ولكن يجب أن تكون جيدة إلى حد ما، لأن الروبوت سوف تستند كل قراراتها على هذه التقديرات. باستخدام أجهزة استشعار القرب ودراجات العجلات وحدها، يجب أن تحاول تخمين ما يلي:
والاتجاه إلى العقبات المسافة من العقبات موقف الروبوت عنوان الروبوت.
يتم تحديد أول اثنين من الخصائص من قراءات مستشعر القرب، وهي واضحة إلى حد ما. ترجع الدالة أبي read_proximity_sensors () صفيف مكون من تسع قيم، واحد لكل مستشعر. ونحن نعرف في وقت مبكر أن القراءة السابعة، على سبيل المثال، يتوافق مع أجهزة الاستشعار التي تشير 75 درجة إلى حق الروبوت. وهكذا، إذا كانت هذه القيمة تظهر قراءة المقابلة لمسافة 0.1 متر، ونحن نعلم أن هناك عقبة 0.1 متر بعيدا، 75 درجة إلى اليسار. إذا لم يكن هناك عقبة، وأجهزة الاستشعار سيعود قراءة أقصى مدى لها من 0.2 متر. وهكذا، إذا قرأنا 0.2 مترا على جهاز استشعار سبعة، فإننا نفترض أنه لا يوجد في الواقع أي عقبة في هذا الاتجاه.
وبسبب الطريقة التي تعمل بها أجهزة الاستشعار بالأشعة تحت الحمراء (قياس انعكاس الأشعة تحت الحمراء)، فإن الأرقام التي تعود إليها هي تحويل غير خطية للمسافة الفعلية المكتشفة. وبالتالي، فإن رمز تحديد المسافة المشار إليها يجب تحويل هذه القراءات إلى متر. يتم ذلك في supervisor. py على النحو التالي:
تحديد موقف ورأس الروبوت (معا، والمعروفة باسم تشكل في برمجة الروبوتات)، هو إلى حد ما أكثر تحديا. يستخدم الروبوت لدينا القياسات لتقدير تشكله. هذا هو المكان الذي تأتي فيه عجلات عجلة القيادة. من خلال قياس مقدار كل عجلة تحولت منذ التكرار الأخير من حلقة التحكم، فمن الممكن الحصول على تقدير جيد لكيفية تغير الروبوت تشكل - ولكن فقط إذا كان التغيير صغير. هذا هو أحد الأسباب التي تجعل من المهم تكرار حلقة التحكم بشكل متكرر جدا. إذا انتظرنا وقتا طويلا لقياس مؤشر عجلة القيادة، فإن كلا العجلات قد فعلت الكثير جدا، وسيكون من المستحيل لتقدير حيث انتهينا.
وفيما يلي وظيفة القياس الكامل في supervisor. py أن يقوم بتحديث تقدير الروبوت تشكل. لاحظ أن تشكل الروبوت يتكون من الإحداثيات x و y، و عنوان ثيتا، الذي يقاس في راديان من المحور س الإيجابي. الإيجابية x هي إلى الشرق و y إيجابية إلى الشمال. وهكذا يشير عنوان 0 إلى أن الروبوت يواجه شرقا مباشرة. الروبوت يفترض دائما تشكل الأولي هو (0، 0)، 0.
الآن أن الروبوت لدينا هو قادرة على توليد تقدير جيد للعالم الحقيقي، دعونا نستخدم هذه المعلومات لتحقيق أهدافنا.
سلوك الانتقال إلى الهدف.
والغرض الأعلى في وجود الروبوت لدينا قليلا في هذا البرنامج التعليمي البرنامج هو للوصول إلى نقطة الهدف. فكيف يمكننا جعل العجلات تتحول للحصول عليه هناك؟ دعونا نبدأ من خلال تبسيط نظرتنا العالمية قليلا ونفترض أنه لا توجد عقبات في الطريق.
ثم يصبح هذا مهمة بسيطة. إذا كنا المضي قدما في حين تواجه الهدف، وسوف نصل الى هناك. بفضل القياسات لدينا، ونحن نعرف ما لدينا الإحداثيات الحالية والعنوان. ونحن نعلم أيضا ما هي إحداثيات الهدف، لأنها كانت مبرمجة مسبقا. لذلك، باستخدام الجبر الخطي قليلا، يمكننا تحديد المتجه من موقعنا إلى الهدف، كما هو الحال في go_to_goal_controller. py:
لاحظ أننا نحصل على ناقلات إلى الهدف في الإطار المرجعي الروبوت، وليس في إحداثيات العالم. إذا كان الهدف هو على محور س في الإطار المرجعي الروبوت، وهذا يعني أنه هو مباشرة أمام الروبوت. وبالتالي، فإن زاوية هذا المتجه من المحور السيني هي الفرق بين عنواننا والعنوان الذي نريد أن نكون عليه. وبعبارة أخرى، فإن الخطأ بين حالتنا الراهنة وما نريد أن تكون عليه حالتنا الراهنة. لذلك نريد ضبط معدل التحول لدينا بحيث تتغير الزاوية بين عنواننا والهدف نحو 0. نريد تقليل الخطأ.
self. kP في التعليمات البرمجية أعلاه هو كسب السيطرة. وهو معامل يحدد مدى السرعة التي نتحول بها إلى نسبة بعيدا عن الهدف الذي نواجهه. إذا كان الخطأ في عنواننا هو 0، ثم معدل التحول هو أيضا 0.
الآن لدينا سرعة الزاوي ω، كيف يمكننا تحديد سرعة الأمام v؟ وهناك قاعدة عامة جيدة هي أنك ربما تعرف الغريزة: إذا لم نكن بدورنا، يمكننا المضي قدما بأقصى سرعة، ولكن كلما كنا أسرع تحول، كلما كنا يجب أن تبطئ. هذا يساعدنا عموما الحفاظ على نظامنا مستقرة وتعمل ضمن حدود نموذجنا. وهكذا، v هي وظيفة ω. في go_to_goal_controller. py المعادلة هي:
حسنا، لقد أكملت تقريبا حلقة تحكم واحدة. الشيء الوحيد الذي تركه هو تحويل هذه المعلمات اثنين الدراجة الأحادية العجلة إلى سرعات عجلة التفاضلية، وإرسال الإشارات إلى العجلات. وفيما يلي مثال على مسار الروبوت تحت تحكم الذهاب إلى الهدف، مع عدم وجود عقبات:
كما نستطيع أن نرى، ناقلات إلى الهدف هو مرجعية فعالة بالنسبة لنا لقاعدة حساباتنا السيطرة على. وهو تمثيل داخلي "حيث نريد أن نذهب". كما سنرى، والفرق الرئيسي الوحيد بين الذهاب إلى الهدف والسلوكيات الأخرى هو أن الذهاب في بعض الأحيان نحو الهدف هو فكرة سيئة، لذلك يجب علينا حساب مختلفة إشارة مرجعية.
تجنب سلوك العقبة.
إن تحقيق الهدف عندما يكون هناك عقبة في هذا الاتجاه هو مثال على ذلك. فبدلا من أن نتعامل مع الأمور في طريقنا، دعونا نجد طريقة لتجنبها.
لتبسيط السؤال، دعونا ننسى الآن نقطة الهدف تماما ومجرد جعل هدفنا التالية: عندما لا تكون هناك عقبات أمامنا، والمضي قدما. عندما يتم مواجهة عقبة، والابتعاد عنها حتى لم يعد أمامنا.
وبالتالي، عندما لا يكون هناك عقبة أمامنا، ونحن نريد ناقلات المرجعية لدينا ببساطة تشير إلى الأمام. ثم ω سوف تكون صفر و v ستكون أقصى سرعة. ومع ذلك، حالما نكتشف عقبة مع أجهزة الاستشعار القرب لدينا، ونحن نريد ناقلات الإشارة إلى نقطة في أي اتجاه بعيدا عن العقبة. وهذا سوف يسبب ω لاطلاق النار حتى لتحويل لنا بعيدا عن العقبة، وتسبب الخامس لإسقاط للتأكد من أننا لا تعمل عن طريق الخطأ في عقبة في هذه العملية.
وهناك طريقة أنيقة لتوليد ناقلات المرجعية المرجوة لدينا من خلال تحويل قراءاتنا التسعة القرب إلى ناقلات، واتخاذ مبلغ مرجح. عندما لا توجد عقبات الكشف عن، ناقلات سوف تتناظر بشكل متناظر، مما أدى إلى ناقلات المرجعية التي تشير مباشرة إلى الأمام كما هو مطلوب. ولكن إذا كان جهاز استشعار على سبيل المثال، الجانب الأيمن يلتقط عقبة، فإنه سوف يساهم ناقلات أصغر للمبلغ، والنتيجة ستكون ناقلات المرجعية التي تحولت نحو اليسار.
في ما يلي الشفرة التي تفعل ذلك في recruitment_obstacles_controller. py:
باستخدام ao_heading_vector الناتجة كمرجعنا للروبوت في محاولة لمطابقة، وهنا نتائج تشغيل الروبوت باستخدام فقط تجنب العقبات تحكم، وتجاهل نقطة الهدف تماما. The robot bounces around aimlessly, but it never collides with an obstacle, and even manages to navigate some very tight spaces:
Hybrid Automata - Behavior State Machine.
So far we’ve described two behaviors – Go-to-Goal and Avoid-Obstacles – in isolation. Both perform their function admirably, but in order to successfully reach the goal in an environment full of obstacles, we need to combine both of them together.
The solution we will use lies in a class of machines that has the supremely cool-sounding designation of hybrid automata . A hybrid automaton is programmed with several different behaviors, or modes, as well as a supervising state machine that switches between these behaviors depending on conditions.
Equipped with our two handy behaviors, a simple logic suggests itself: When there is no obstacle detected, use the Go-to-Goal behavior. When an obstacle is detected, switch to Avoid-Obstacles behavior until the obstacle is no longer detected.
As it turns out, however, this logic will produce a lot of problems. What this system will tend to do when it encounters an obstacle is to turn away from it, then as soon as it has moved away from it, turn right back around and run into it again. The result is an endless loop of rapid switching that renders the robot useless. In the worst case, the robot may switch between behaviors with every iteration of the control loop - a state known as a Zeno condition .
What we need, therefore, is one more behavior, which is specialized with the task of getting around an obstacle and reaching the other side.
Follow Wall Behavior.
Here’s the idea: when we encounter an obstacle, take the two sensor readings that are closest to the obstacle and use them to estimate the surface of the obstacle. Then, simply set our reference vector to be parallel to this surface. Keep following this wall until A) the obstacle is no longer between us and the goal, and B) we are closer to the goal than we were when we started. Then we can be certain we have navigated the obstacle properly.
With our limited information, we can’t say for certain whether it will be faster to go around the obstacle to the left or to the right. To make up our minds, we select the direction that will move us closer to the goal immediately. To figure out which way that is, we need to know the reference vectors of the Go-to-Goal behavior, the Avoid-Obstacle behavior, as well as both of the possible Follow-Wall reference vectors. Here is an illustration of how the final decision is made (in this case, the robot will choose to go left):
Determining the Follow-Wall reference vectors turns out to be a bit more involved than either the Avoid-Obstacle or Go-to-Goal reference vectors. Take a look at follow_wall_controller. py to see how it’s done.
Final Control Design.
The final control design uses the Follow-Wall behavior for almost all encounters with obstacles. However, if the robot finds itself in a tight spot, dangerously close to a collision, it will switch to pure Avoid-Obstacles mode until it is a safer distance away, and then return to Follow-Wall. Once obstacles have been successfully negotiated, the robot switches to Go-to-Goal. Here is the final state diagram, which is implemented by supervisor_state_machine. py :
Here is the robot successfully navigating a crowded environment using this control scheme:
Tweak, Tweak, Tweak - Trial and Error.
The control scheme that comes with Sobot Rimulator is very finely tuned. It took many hours of tweaking one little variable here, and another equation there, to get it to work in a way I was satisfied with. Robotics programming often involves a great deal of plain old trial-and-error. Robots are very complex and there are few shortcuts to getting them to behave optimally in a robot simulator environment.
I encourage you to play with the control variables in Sobot Rimulator and observe and attempt to interpret the results. Changes to the following all have profound effects on the simulated robot’s behavior:
the error gain kP in each controller the sensor gains used by the Avoid-Obstacles controller the calculation of v as a function of ω in each controller the obstacle standoff distance used by the Follow-Wall controller the switching conditions used by supervisor_state_machine. py pretty much anything else.
When Robots Fail.
We’ve done a lot of work to get to this point, and this robot seems pretty clever. Yet, if you run Sobot Rimulator through several randomized maps, it won’t be long before you find one that this robot can’t deal with. Sometimes it drives itself directly into tight corners and collides. Sometimes it just oscillates back and forth endlessly on the wrong side of an obstacle. Occasionally it is legitimately imprisoned with no possible path to the goal. After all of our testing and tweaking, sometimes we must come to the conclusion that the model we are working with just isn’t up to the job, and we have to change the design or add functionality.
In the robot universe, our little robot’s “brain” is on the simpler end of the spectrum. Many of the failure cases it encounters could be overcome by adding some more advanced AI to the mix. More advanced robots make use of techniques such as mapping , to remember where it’s been and avoid trying the same things over and over, heuristics , to generate acceptable decisions when there is no perfect decision to be found, and machine learning , to more perfectly tune the various control parameters governing the robot’s behavior.
استنتاج.
Robots are already doing so much for us, and they are only going to be doing more in the future. While robotics programming is a tough field of study requiring great patience, it is also a fascinating and immensely rewarding one. I hope you will consider getting involved in the shaping of things to come!
Acknowledgement: I would like to thank Dr. Magnus Egerstedt and Jean-Pierre de la Croix of the Georgia Institute of Technology for teaching me all this stuff, and for their enthusiasm for my work on Sobot Rimulator .
Automating the Way you Trade by Programming a Forex Robot.
MetaTrader is the widely-used trading platform developed by MetaQuotes Software Corporation. It is a charting application designed for online trading for financial markets such as Stocks, Foreign Exchange, Futures, and more, but mostly it is offered by Forex brokers and used for Forex trading. To date, the two available versions of the platform are MetaTrader4 (MT4) and MetaTrader5 (MT5). MetaTrader became extremely popular because of its extendibility and has large catalog of default trading tools/indicators such as Bollinger Bands, CCI, MACD, Moving Averages, Stochastic Oscillator, etc. Traders at any level, from beginners to experts, can download the platform for free. MT4/MT5 have an exceptional capability to support Scripts, Custom Indicators and automated trading systems or Expert Advisors (EAs).
The MT4 Client terminal uses its embedded programming language, MetaQuotes Language (MQL), for the development, enhancement, and customization of trading systems such as Indicators, EAs (trading robots), and Scripts. Based on C programming language, MQL is very simple and allows anyone with basic programming skills to develop his or her own trading system. Any trading method that can be described in algorithmic language can be programmed and used for live trading. Many of these trading systems are being distributed for free and many others are sold online. MQL4 (specific MetaQuotes Language for MT4) has hundreds of programming functions used for mathematical and logical operations, from basic to complex arithmetic, as well as real-time and historical market data analysis. This trading platform also includes plenty of free Expert Advisors, Indicators and Oscillators which can be modified and enhanced.
What is an Expert Advisor (EA)?
Through MT4 programming, you can automate your manual trading method which can powerfully increase your trading opportunities. An EA automates your trading decisions and can do just about anything, from giving you a signal, to placing and managing the trade for you automatically.
A trading robot, or an EA, attached to an MT4 client terminal on a running internet-enabled computer, will monitor the markets for you every second on a 24/5 basis. Without any intervention, it can automatically handle all your trades according to your trading rules (that is, the trading rules that have been programmed into the robot). Unlike human traders, forex robots do not miss trading opportunities. It is able to open and close trades according to your trading strategy while you are engaged in some other activity. You could be swimming in your pool or vacationing overseas—it is like having a full time employee who never sleeps and always follows the trading rules you have assigned. It executes trade orders directly to your MT4 Broker’s Server. It can also send trade notification messages to your mobile phone and can do many other useful things. Unlike other trading platforms, MT4 allows EA backtesting based on historical market price data.
Another benefit of creating your own EA is the ability of a forex robot to trade markets without any emotions. It follows all your trading rules—no matter what the market condition is. ( Note: Sometimes this is not always a good thing though, as blindly trading during poor or unstable market conditions can lead to great loss.) A trading robot won’t panic in a losing trade or be motivated by revenge after a huge loss. It won’t jump back in the markets after a big win to try and make more money. It plays out your rules without clouding up the trading process with emotions.
You also don’t need to be glued on your screen and analyze the right chart close enough for potential trade setups. Your EA gives you the power to monitor dozens of forex pairs at once with the ability to identify and react to trading opportunities immediately. It executes trades in a fraction of a second and profits even from sudden market movements.
What is a custom indicator?
A Custom Indicator is a technical indicator coded independently of an EA which is basically intended to help traders with their market data analysis. It can be added to the default MT4 indicators which are already installed in the platform. Unlike EAs, MT4 built-in custom indicators are not used to trade automatically. They are designed to help traders with on-chart analysis in order to find possible trading opportunities.
With the MQL4 programming language, the MT4 platform offers an exceptional opportunity for traders to create and add their own custom indicators into their MT4 client terminals. It’s not only for technical traders. إذا كنت تتداول على أساس الأخبار الأساسية فقط، يمكنك تحميل جميع الأحداث الأخبار ذات الصلة على المحطة الطرفية الخاصة بك، وخلق مؤشر مخصص الخاصة بك وتعيين تنبيهات للأحداث الجديدة التي تعتبرها مهمة.
The internet at large and the MQL4 community have plenty of custom indicators for MT4 for free. Built-in indicators can also be customized to meet different traders’ requirements.
What is an MQL4 script?
A Script is a short program code that is intended to perform a single action. It is the simplest type of MQL4 program. Unlike an indicator and expert advisor that works continuously, a script only functions once. It stops after completing the task. A script is created, setup, and launched in the same manner as custom indicators and EAs.
An MT4 Script acts as a shortcut to perform a number of tasks on an MT4 platform such as closing all trades running on one currency, closing all trades running on the account, allowing you to set or edit all the stop loss and take profit orders at a set distance from the entry price, deleting all pending orders that are related to a currency pair, delete all pending orders, and many more. Depending on how it was programmed to execute the task, most scripts work by simply dragging and dropping onto the chart of the currency that needs the script’s function. A script performs these tasks faster than manually doing each task repeatedly.
How to choose the best MQL4 programmer.
You do not need to be an expert programmer to create your own EA, custom indicator, or script. The internet offers lots of MQL4 programmers that provide programming services for the MetaTrader trading platform. Various experts in the field of both trading and software development are available to maximize the quality of the job and minimize time required for building your EA. من أجل أتمتة التداول الخاص بك بنجاح، يجب أن يحدد نظام التداول الخاص بك بوضوح شراء وبيع ووقف الخسارة، وقواعد الربح المستهدف. You must be able to clearly describe the conditions under which a trade will be initiated, and when the trade should be closed at profit or at loss.
The duty of your MT4 programmer in automating your trading system is very critical since it involves real money in the markets. A little programming mistake may result in a loss of money. It is very important to hire the service of an excellent MQL4 programmer to ensure that you will get the trading software the way you envisioned it. Therefore, it is advisable to evaluate the following criteria:
Exceptional MQL4 programming capabilities – Of course, you must look for a highly skilled and experienced expert advisor and custom indicator programmer. The level of a programmer’s technical skills can be assessed through the samples of recent work. He or she must be able to build indicators and EAs from scratch based on clear specifications. Good Communication Skills – Your programmer must have good interaction capabilities so that issues will not be misinterpreted. He must be a prompt communicator in discussing concerns. Excellent communication skills avoid delays caused by incorrect interpretation of trading algorithms. All your trading rules must be understood and coded perfectly. Basic and Advanced Skills with Forex Trading – It is vital to a hire a programmer who knows how to trade currencies. He must have knowledge of MT4 broker execution issues and basic or even advanced skills in forex trading. He should be able to follow all your trading rules, as well as envision your programming requirements and needs. He should be able to grasp your trading ideas immediately without the need to explain trading jargon. Professionalism and Passion Towards Job – The programmer must be able to meet his own deadline, reply to emails on a timely manner, and ask help for clarification issues. The programmer must have an organized project development process in order to maximize the quality and minimize the time required for the project development. (These types of things you might not be able to see when first hiring, nor is it strictly necessary.) Online Availability – Knowing your programmer’s time availability certainly helps keep good communication, which is very important during the development of the project. Depending on the country you live in, you may not be in the same time zone as your programmer. This is not necessarily a problem and often is the case. You might be hiring a programmer from Eastern Europe while you live in Hong Kong, or maybe you live in the United States and are hiring a programmer from India. This happens all of the time, and since most communication is done by email, it doesn’t make for a world of difference. However, if you are the kind of person who needs to talk on the phone or on Skype about a project, you should make sure your programmer is in a time zone (or keeps hours) that is conducive to working together and completing the project. Confidentiality – You and your programmer must have a solid agreement on all things such as financial and ownership rights. All confidential information that you disclose to your programmer will remain as your property. Your programmer shall agree not to disclose any confidential information about you and your trading strategy to third parties, and not to use any confidential information as a basis upon which to develop a competing or similar automated trading system. Commitment – The programmer must be reliable and committed on working to the project. Most programmers charge in advance, and often this is unavoidable. If the project is very large, you might be able to negotiate for 50% down and 50% payment upon completion. Most programmers do not like to start work, however, before they receive complete payment in full. Cost of their service – A programmer may charge you a reasonable price or fixed or hourly paid price. The price indicates the professionalism of the programmer. A professional programmer will not complete a serious programming job for $5 and a simple script for $1000. It is often ‘You get what you pay for’ when it comes to programming services, though some programmers are simply more expensive than others. The higher the price does not necessarily translate into higher quality, though this is often the case. Feedback of real customers – Feedback and reviews from real people who have used the programmer in the past can share the truth on a programmer’s service. It is good to hire those that come from the positive recommendations of others. You can use sites like MyFXBook for reviews of some programmers, or if you are using sites like Elance or Odesk then they have their own built-in review system. Coding Support – The last, and most important, is your programmer’s support even after your automated trading system has been completed. He must be able to provide case-by-case MQL4 consulting services to assist with specific coding issues. The first version of a software will often have bugs—this is just the nature of software programming in general. You should be kind in providing feedback but also ask for the work to be mended according to the rules of the initial agreement. Bugs must be worked out and the programming work completed as agreed upon.
Before ordering an EA or a custom indicator from your chosen programmer, it is wise to ask some questions to a programmer to address the above criteria. Below is a list of ten questions that you should ask your programmer before starting work. You are not limited only to these questions. You could also ask for more information regarding the automation of your specific trading strategy.
Questions you should ask your programmer ahead of time.
1. What are the exact steps in hiring the programming service?
As a general step to hire a programming service, you need to contact the programmer and ask for a price quote on the specific project. You need to explain the EA requirements and provide complete details as to how they would be programmed.
After the complete requirements are laid out, the programmer will determine how much time it would take to complete a fully working EA, and how much the price will be. Some programmers require you to make a full or partial payment before the coding proceeds. Each programmer is different, but as mentioned, most programmers will ask for the complete project payment up-front before any work begins. However, if hiring using services like Odesk or Elance, you will have more flexibility and often only need to pay once the project is completed.
2. What is the rate of the programming service?
The charge is commonly project-based and price depends on the complexity of the requirements. On average, fixed price projects can costs between 250USD to 700USD. On an hourly basis, an EA that requires 2 to 40 hours could cost 40USD to 50 USD per hour. Typically, large projects have lower discounted hourly rates.
3. How long will it take for the EA to be programmed?
It depends on the complexity of the project and the speed of the programmer. In most cases, experienced and professional EA programmers can finish an EA in less than 72 hours. It will also depend on how many other active projects they have when your project begins.
4. What is the payment method for the service?
Payment methods may be through wire transfers or other online payment services like Skrill, PayPal, Western Union, and Money Bookers, and other methods.
5. Does the EA or the indicator programming have a 100% guarantee?
The EA or the indicator must work exactly as stated in your requirements. You cannot ask for a guarantee when it comes to the results of your trading system, as this is not in the hands of your programmer. What must be guaranteed is the precision of the programming itself—it must follow the rules that you laid out initially.
6. Are corrections of errors free of charge?
A programmer should let you test your EA once it was completed. Any errors on the programmer’s part should be fixed for free. Any change or additional functionality is of course subjected to additional charges.
7. Are there any standard EA features?
There are standard and ready-made features that come with every expert advisor and can be easily added to any trading system. These features are optional and can be added at no extra costs. Discuss with your programmer about money management options.
8. In case of project withdrawal, is it possible to refund the payments?
Refunds are the discretion of the programmer.
9. Will you agree to sign a Non-Disclosure Agreement (NDA)?
To address confidentiality issues, you can supply your own NDA that must be signed by you and your programmer. The software and source code is your property and not to be resold or publicly redistributed by your programmer without prior agreement.
10. What if an error is found after 6 months of using the delivered EA?
اعتمادا على مبرمج، وقال انه قد توفر ضمان مدى الحياة والدعم المستمر. Free updates, if necessary, may be available for an amount agreed upon.
What is a non-disclosure agreement (NDA)?
When you hire a programmer to write a program of your trading strategy, you need to disclose your proprietary trading strategy. An NDA is a signed legal contract between you and your programmer for the purpose of preventing the unauthorized disclosure of certain proprietary and confidential information. It prohibits the programmer from reselling your expert advisor or publishing your trading strategy, trade secrets, patents, trademarks, and any other intellectual property. Furthermore, the trading software, as well as the source code, is your property.
The programmer has the sole responsibility to keep all confidential information in strictest confidence and not to be used in any form. Any third party must be restricted from having access to the information. Aside from the programmer, any third party that is directly involved in the development of the software—such as employees and contractors—shall be required to sign the Non-Disclosure Agreement as well.
The NDA must carefully define the confidential information that is subject to the agreement. Exceptions should be precisely defined such as: information generally known by the public, information that is already known by the programmer prior to your disclosure, information that was known by the programmer from a third party who is not bound by a confidential agreement, and information that is independently developed by the programmer.
The agreement shall remain in effect until the confidential information no longer qualifies as a trade secret. Termination of the agreement shall be specified by you within the NDA or until you send your programmer a written notice of NDA termination.
An NDA signed between you and your programmer maybe applicable in your country of residence, though it is not a guarantee that it will be enforceable in other countries. It also important to address which state’s (or country’s) law applies when interpreting the NDA. Defining the appropriate law and jurisdiction is really useful in case a dispute arises. It is also necessary to address where a dispute will be resolved in case the NDA is breached.
After your Expert Advisor is completed and released for your personal trading use, you must make sure that you have complete copyright of your trading robot. The copyright prevents the unauthorized use, distribution, and alteration of your EA without your consent. Unauthorized distribution and modification of a copyrighted work entails civil liability and is subjected to criminal sanctions.
A well-crafted Non-Disclosure Agreement and the copyright law relating to it can provide you with legal remedies for improper disclosure or use of proprietary information. However, in the software industry, there are often unscrupulous parties who would abuse the information they are given. The agreements alone do not effectively stop third parties from potential disclosures. Thus, it is your responsibility to properly select the potential programmers that would receive your proprietary trading information. It is wise to confirm that such programmer(s) are professional and respected programmers in the field of forex trading. Sometimes you just need to take the risk in order to be able to move forward, but do so with good discretion and judgment.
Does it make sense to automate your trading strategy?
If your trading strategy has been proven effective, and you are able to trade it profitably yourself, then yes, it certainly can be automated. Personally, I never manually traded the strategy that I turned into an automated trading solution, so it isn’t an absolute requirement. If you have a good idea, and the funds to be able to build and test your idea, then go for it. “Nothing ventured, nothing gained,” it could be said. You will learn from your first programming experience. No one, that I know of, got it right their first time. As you develop your EA, you will learn and grow and gain very valuable experience from the investment. Be frugal with your money and make sure that you have done all the research and testing that you can before sending the idea off to be programmed.
شخصيا أنا لا إنشاء تطبيقات مفصل بعد الآن والتركيز فقط على المشاريع الخاصة بي. But I have several MQL4 programmers on my list that you can contact by submitting a price quote. Click here to request a price quote for MT4 programming services.
الوظائف ذات الصلة:
عن المؤلف.
أولا أنا أب، زوج ومن ثم مؤلف كتاب "كيف تبدأ الخاص بك الفوركس إشارات خدمة". I am also a Forex trader, a programmer, an entrepreneur, and the founder of ea-coder Forex blog. لقد أنشأت اثنين من الناسخات التجارية الأكثر شعبية وغيرها من أدوات التداول ل MT4 التي تستخدم بالفعل في جميع أنحاء العالم من قبل مئات من التجار العملات.
6 تعليقات.
Good Article ! Thank You !
may i know what the ea name and your build and may i see the result and where i can try you’re robot.
I have many EA, but most are private. One you can find online is FxMagnetic.
Hope you doing fine. As programmer and fxtrader, sure you know what it’s like trading with the right software. May I ask you this. Do you have any EA that I can test , buy, right now?
I’ll be thankful hearing your side soon.
Yes, I have strategies that you can follow: vavatrade.
إلغاء الرد.
اشترك لمزيد من المعرفة MT4.
أدخل اسمك الحقيقي وأفضل عنوان بريد إلكتروني أدناه للاشتراك في رسائلي الإخبارية. كن أول من يحصل على بلدي MT4 الدروس الجديدة والمقالات.
إذا لم تتمكن من رؤية نموذج التسجيل يجب أن تكون مخفية من قبل ادبلوك وسيكون لديك لتعطيله لأول مرة لهذا الموقع.
ملاحظة وسوف نرسل لك أيضا نسخة مجانية من الكتاب الإلكتروني معبأة المحتوى (19 $ القيمة) التي سوف يعلمك كيفية تحديد الحيل الفوركس.
اتبعني في الفيسبوك.
Most Popular Posts.
ريمانتاس بيتراوسكاس هو المؤلف، تاجر الفوركس، مبرمج، منظم، الأب والزوج. وقد تم إنشاء البرمجيات لتداول العملات وتسليم الإشارات منذ عام 2009، وخلق مئات من الروبوتات التجارية لعملائه. ويعتقد بقوة أنه مع موقف عقلي إيجابي يمكننا تحقيق أي هدف.
Comments
Post a Comment