هل يؤدي استدعاء وظيفة deinit () إلى إنهاء EA؟ كيف يمكن أن أقوم بإنقاذ خدمة EA أو تركها ، إذا كنت لا تستطيع الاتصال بخادم أو هكذا؟
Printable View
هل يؤدي استدعاء وظيفة deinit () إلى إنهاء EA؟ كيف يمكن أن أقوم بإنقاذ خدمة EA أو تركها ، إذا كنت لا تستطيع الاتصال بخادم أو هكذا؟
في وظيفة البداية ، كأول شيء إذا كان (creteria to stop == true) return (0)؛ هذا فقط سوف يمنعه من فعل أي شيء بعد بيان if إذا كان صحيحًا. لن يقوم بإزالة EA من النظام الأساسي.Quote:
Originally Posted by ;
شكرا على الرد حتى إذا اتصلت بالعودة (0) في init () من اختبار startegy سوف تنقذ؟ لا يمكنك منع وظيفة start () من تشغيل كل علامة ، لذلك يجب تحديد معاييرك الخاصة. أعتقد أنني حصلت عليه الآن
لا ، سيتم فقط إرجاع (0) في دالة init إلى start () يجب عليك استخدامه في start () للتسبب في حلقة بدون تعليمات في الحلقة. يجلس EA في وضع الاختبار الخاص بك في حالة (...) يمكن أن يكون مكالمة إلى وظيفة أخرى حيث يتم إجراء الاختبارات الخاصة بك. مثل إذا (yourcriteria () == true) return (0)؛ ربما هناك آخرون ممن هم أكثر موهبة في برنامج MT4 من أنا. ربما واحد من هؤلاء الناس يعرف كيف يتسبب بالفعل في إزالة EA نفسها.Quote:
Originally Posted by ;
الإنقاذ من init () نعم. ثم ينتقل مباشرة لبدء () يمكنك استخدام الدالة IsConnected () لمعرفة ما إذا كان mt4 الخاص بك متصلاً بملقم broker. إذا كنت تريد معرفة ما إذا كان EA يعمل على backtester ، فيمكنك استخدام الدالة IsTesting (). مثال على ما ستضعه في الأسطر القليلة الأولى من الدالة start (). Inserted code int start () {if (IsTesting ()) {return (0)؛ }/... رموز أخرى هنا ...} من الناحية المثالية ، وهذا سوف يعطل بشكل فعال backtesting EA. لست متأكدًا من سبب رغبتك في ذلك.Quote:
Originally Posted by ;