PDA

View Full Version : كيف يمكنني جعل EA



فرج عاطف
09-05-2009 15:34, 03:34 PM
هل يؤدي استدعاء وظيفة deinit () إلى إنهاء EA؟ كيف يمكن أن أقوم بإنقاذ خدمة EA أو تركها ، إذا كنت لا تستطيع الاتصال بخادم أو هكذا؟

estano88
12-05-2021 12:28, 12:28 PM
هل يؤدي استدعاء وظيفة deinit () إلى إنهاء EA؟ كيف يمكن أن أقوم بإنقاذ خدمة EA أو تركها ، إذا كنت لا تستطيع الاتصال بخادم أو هكذا؟
في وظيفة البداية ، كأول شيء إذا كان (creteria to stop == true) return (0)؛ هذا فقط سوف يمنعه من فعل أي شيء بعد بيان if إذا كان صحيحًا. لن يقوم بإزالة EA من النظام الأساسي.

فرج عاطف
12-05-2021 13:49, 01:49 PM
شكرا على الرد حتى إذا اتصلت بالعودة (0) في init () من اختبار startegy سوف تنقذ؟ لا يمكنك منع وظيفة start () من تشغيل كل علامة ، لذلك يجب تحديد معاييرك الخاصة. أعتقد أنني حصلت عليه الآن

estano88
12-05-2021 15:10, 03:10 PM
شكرا على الرد حتى إذا اتصلت بالعودة (0) في init () من اختبار startegy سوف تنقذ؟ لا يمكنك منع وظيفة start () من تشغيل كل علامة ، لذلك يجب تحديد معاييرك الخاصة. أعتقد أنني حصلت عليه الآن
لا ، سيتم فقط إرجاع (0) في دالة init إلى start () يجب عليك استخدامه في start () للتسبب في حلقة بدون تعليمات في الحلقة. يجلس EA في وضع الاختبار الخاص بك في حالة (...) يمكن أن يكون مكالمة إلى وظيفة أخرى حيث يتم إجراء الاختبارات الخاصة بك. مثل إذا (yourcriteria () == true) return (0)؛ ربما هناك آخرون ممن هم أكثر موهبة في برنامج MT4 من أنا. ربما واحد من هؤلاء الناس يعرف كيف يتسبب بالفعل في إزالة EA نفسها.

سلطانة دعاء
12-05-2021 16:31, 04:31 PM
شكراً على الرد. إذا اتصلت بالعودة (0) في init () من اختبار الاستراتيجية فسوف تنقذ؟
الإنقاذ من init () نعم. ثم ينتقل مباشرة لبدء () يمكنك استخدام الدالة IsConnected () لمعرفة ما إذا كان mt4 الخاص بك متصلاً بملقم broker. إذا كنت تريد معرفة ما إذا كان EA يعمل على backtester ، فيمكنك استخدام الدالة IsTesting (). مثال على ما ستضعه في الأسطر القليلة الأولى من الدالة start (). Inserted code int start () {if (IsTesting ()) {return (0)؛ }/... رموز أخرى هنا ...} من الناحية المثالية ، وهذا سوف يعطل بشكل فعال backtesting EA. لست متأكدًا من سبب رغبتك في ذلك.