أي نصائح ل EA تنفيذ أسرع؟
الصفحة 1 من 289 12 الأخيرةالأخيرة
Results 1 to 10 of 12

Thread: أي نصائح ل EA تنفيذ أسرع؟

  1. #1
    مرحبا،

    كنت أتساءل ما إذا كان أي شخص سيكون قادرا على إعطاء أي نصائح أو نصائح حول كيفية جعل التعليمات البرمجية الخاصة بك تنفيذ أسرع من فضلك. أنا لا أحاول أن أقوم ببناء HFT algo حتى التنفيذ الفعلي هو ثانوي (ولكن بالطبع مكافأة). بدلاً من ذلك ، أحاول خفض وقت اختبار الاستراتيجية بين كل ممر.
    هذا سيكون له فوائد واضحة لاستخدام الوقت عند تشغيل تحسين كبير (كما أنا).

    أنا أعمل في بيئة MetaTrader ولكنني أرحب بالنقاش مع أي لغة قد يستخدمها.
    لدي الأفكار التالية التي نقوم بتنفيذها بالفعل:

    MetaTrader 5 (64 بت ويستخدم جميع النوى)
    أقوى وحدة المعالجة المركزية (ضمن ميزانية تلك)
    استخدام الأعداد الصحيحة
    البرمجة الموجهة كائن (لست 100٪ على هذا ولكن يبدو منطقيًا أن عددًا من الملفات .mqh الأصغر طولًا ستكون أسرع من ملف .mq5 عملاق - أفكار؟)

    أي اقتراحات أخرى؟

    شكرا جزيلا!

  2. #2

    Quote Originally Posted by ;
    البرمجة الموجهة كائن (لست 100٪ على هذا ولكن يبدو منطقيًا أن عددًا من الملفات .mqh الأصغر طولًا ستكون أسرع من ملف .mq5 عملاق - أفكار؟)
    على الاغلب لا. هذا ليس كيف تعمل أجهزة الكمبيوتر ... يتم تجميع التعليمات البرمجية على أي حال.

  3. #3
    شكرا على التوضيح.
    ليس لدي خلفية في أجهزة الكمبيوتر ولكن كنت أقوم بتدريس نفسي للبرمجة منذ فترة ، لذا ستكون هناك فصول كبيرة من معرفتي في علوم الكمبيوتر مفقودة. آسف إذا كان هذا خطأ واضح. تبحث عن عادات جيدة لالتقاط ، حريص على التعلم.

  4. #4
    Quote Originally Posted by ;
    شكرا على التوضيح.
    ليس لدي خلفية في أجهزة الكمبيوتر ولكن كنت أقوم بتدريس نفسي للبرمجة منذ فترة ، لذا ستكون هناك فصول كبيرة من معرفتي في علوم الكمبيوتر مفقودة. آسف إذا كان هذا خطأ واضح. تبحث عن عادات جيدة لالتقاط ، حريص على التعلم.
    زيادة قوة الحساب هي آخر قياس يجب أن تتخذه. يأتي انخفاض الحساب الحقيقي في تحسين الخوارزميات. يمكنك رؤية تأثير تحسين الخوارزمية بشكل جيد إذا حاولت حساب رقم فيبوناتشي تكراري مقابل تكراري. يأخذ واحد منهم دقائق واحد آخر فقط ميلي ثانية. محرر mql45 لديه بناء في أداة التنميط الذي يجب أن يمنحك فهم أساسي حول أي جزء من الخوارزمية يستغرق وقتا طويلا. كم مرة تنفذ التعليمات البرمجية الخاصة بك؟ هل من المهم حقاً أن يتم محاكاة كل قطة أم أنها كافية للتحقق من فتح القضبان فقط؟ سيعطيك ذلك انخفاضًا بنسبة xxx٪ في وقت backtesting. هل هناك أجزاء كبيرة من الشفرة لا تحتاج إلى التنفيذ مرارا وتكرارا؟ يمكنك كتابة ببساطة إذا تحقق وتجاهل الكثير من الحسابات كل دورة؟ التحسين المصغر (إذا كنت تريد فعلاً أن تقوم mql4 بت آخر) مثل تخطيط القيم المستخدمة غالبًا بدلاً من حسابها مرارًا وتكرارًا. المخزن المؤقت المتغيرات الشرطية. أعتقد أن المتغيرات المحلية أسرع قليلاً وكذلك النطاق العالمي. لذلك يمكنك حفظ جزء من الثانية هناك. استخدام التحول قليلا بدلا من القسمة. في محاولة لتجنب modulo الخ .... ولكن هذا هو نوع من المبالغة بالنسبة لك أفترض. </P>

  5. #5
    مرحبًا ، من خلال ما أعرفه: قد يكون MT5 multicore جيدًا ، لكنك تحتاج إلى برمجة وفقًا لذلك. هذا يعني فصل التعليمة البرمجية الخاصة بك في العديد من سلاسل الرسائل التي يمكن تنفيذها بشكل متزامن. أكثر وحدة المعالجة المركزية قوية ، نعم ، من شأنها أن تسرع وقت التنفيذ الخاص بك ، ولكن إذا كان وقت الإرسال (الإنترنت) بطيء لا معنى له. استخدام الأعداد الصحيحة؟ أنا لا أفهم هذا ، كنت ترغب في تحويل الزوجي إلى الأعداد الصحيحة والعكس بالعكس؟ سوف يجعلك وقت التحويل تفقد مكاسب استخدامهم ما لم تقم بإجراء حسابات ثقيلة فعلاً. OOP ، لا ، يسمح فقط بإعادة تنظيم التعليمات البرمجية ، لا يكون الملف الثنائي الناتج أسرع من الكود الإجرائي. وطول ملفات رأس أو وجود ملفات رأس متعددة بدلاً من واحد كبير ليس له علاقة بسرعة التنفيذ. BT

  6. #6
    Quote Originally Posted by ;
    شكرا على التوضيح.
    ليس لدي خلفية في أجهزة الكمبيوتر ولكن كنت أقوم بتدريس نفسي للبرمجة منذ فترة ، لذا ستكون هناك فصول كبيرة من معرفتي في علوم الكمبيوتر مفقودة. آسف إذا كان هذا خطأ واضح. تبحث عن عادات جيدة لالتقاط ، حريص على التعلم.
    لا أعرف الكثير عن MQL ، لقد دخلت للتو خلال عطلة نهاية الأسبوع. لدي الكثير من المعرفة عن اللغات الأخرى بالرغم من ذلك. الشيء هو: لغات البرمجة ليست مصممة لأجهزة الكمبيوتر ، فهي مصنوعة للبشر. الكمبيوتر يقرأ نسخة مترجمة - ولدت من قبل المجمع. ليس لمخرجات المجمعين تشابه كبير مع ما تراه في المحرر. سوف يقوم المترجم بتغيير (تحسين) الكثير ، بما في ذلك تحديد التعليمة البرمجية والتي بدورها ستجعل الشفرة أكبر بدلاً من أصغر. نصيحة عامة: لا تذهب إلى التحسين الصغير حتى يعمل الرمز الخاص بك بالفعل. انها مضيعة للوقت. تعامل مع هيكل البرنامج الكلي والمنطق وربما الحسابات الخاصة بك (إذا كنت تعتمد بشدة على تلك). بمجرد النظر إلى بنية EA على سبيل المثال ، من الواضح تمامًا أن الحساب (غير الضروري) في OnTick () فكرة سيئة لأن هذا الروتين يسمى في كثير من الأحيان.

  7. #7

    Quote Originally Posted by ;
    {quote} زيادة قوة الحساب هي آخر قياس يجب عليك اتخاذه. يأتي انخفاض الحساب الحقيقي في تحسين الخوارزميات. يمكنك رؤية تأثير تحسين الخوارزمية بشكل جيد إذا حاولت حساب رقم فيبوناتشي تكراري مقابل تكراري. يأخذ واحد منهم دقائق واحد آخر فقط ميلي ثانية. يحتوي محرر mql45 على بنية في أداة التعريف التي يجب أن تعطيك فهمًا أساسيًا حول أي جزء من الخوارزمية يستغرق وقتًا طويلاً. كم مرة تنفذ التعليمات البرمجية الخاصة بك؟ هل من المهم حقا لكل القراد ...
    مرحبا كيليان ، شكرا على الرد. تكراري مقابل تكراري فيبوناتشي: لم يسمع من هذا و هو شيء سأستمر في قراءته. وجدت بعض الاشياء على stackoverflow. mql5 محرر أداة التنميط: لا شيء كنت قد استخدمت من قبل ، وجدت بعض المقالات عليها والقراءة عنها الآن. حل واضح ، شكرا لك! OnTick: لقد كنت على وعي تام بهذا الأمر وحاولت الحفاظ على غالبية المهام OnBar ولكن نعم أحد أنواع التجارة هو OnTick الذي سوف يتم تناوله في وقت المعالجة. هذا يبدو وكأنه بعض الفاكهة المعلقة منخفضة. أجزاء من الشفرة يتم تنفيذها مراراً وتكراراً ؟: هذه ليست منطقة نظرت فيها كثيرًا ويجب أن ننظر فيها. أعتقد أنك صحيح يجب أن يكون هناك بعض الكفاءة الجيدة التي يمكن العثور عليها هنا. التحسين الجزئي: أحب الاقتراحات ، وإذا حصلت على هذا الحد سأحاول بالتأكيد أي شيء (جيد لتعلمتي بغض النظر). مقدر جدا.

  8. #8

    Quote Originally Posted by ;
    مرحبًا ، من خلال ما أعرفه: قد يكون MT5 multicore جيدًا ، لكنك تحتاج إلى برمجة وفقًا لذلك. هذا يعني فصل التعليمة البرمجية الخاصة بك في العديد من سلاسل الرسائل التي يمكن تنفيذها بشكل متزامن. أكثر وحدة المعالجة المركزية قوية ، نعم ، من شأنها أن تسرع وقت التنفيذ الخاص بك ، ولكن إذا كان وقت الإرسال (الإنترنت) بطيء لا معنى له. استخدام الأعداد الصحيحة؟ أنا لا أفهم هذا ، كنت ترغب في تحويل الزوجي إلى الأعداد الصحيحة والعكس بالعكس؟ سوف يجعلك وقت التحويل تفقد مكاسب استخدامهم ما لم تقم بإجراء حسابات ثقيلة فعلاً. OOP ، لا ، يسمح فقط بإعادة تنظيم ...
    Hey Broketrader، MT5 multicore: لم أكن أدرك أبداً أنه يمكنك فصل التوليف الخاص بك إلى خيوط مختلفة كهذه. هذا يمكن أن يحدث فرقا كبيرا. في الوقت الحالي ، لا يمكنك الاستفادة من ميزة multicore إلا عند تشغيل المُحسِّن. (وهو فرق ملحمي على mt4). وحدة المعالجة المركزية: ايم تبحث في الحصول على آلة جديدة حاليا. رقائق Haswell جديدة تبدو بقعة جميلة. سرعة اتصال الإنترنت ليست قضية. أنا فقط ركز على تنفيذ التعليمات البرمجية. الأعداد الصحيحة: يمكن أن أكون مخطئًا تمامًا ولكن بفضل فهمي المحدود ، أصبح من السهل على الأعداد الصحيحة أن تقوم بحساب الماكينة بدلاً من قول ”مزدوج”. مثلا تعمل فقط في النقاط أو _Points عند حساب أشياء مثل التوقف والأهداف. غير مهتم في تحويل الأعداد الصحيحة ويضاعف ذهابا وإيابا. int StopLoss = 300 ؛/StopLoss in _Points غير قادر على القيام به في كل مكان ، حيث تقدم الفرصة نفسها. شكرا لجميع المدخلات الخاصة بك هو موضع تقدير كبير.

  9. #9

    Quote Originally Posted by ;
    {quote} لا أعرف الكثير عن MQL ، لقد دخلت للتو خلال عطلة نهاية الأسبوع. لدي الكثير من المعرفة عن اللغات الأخرى بالرغم من ذلك. الشيء هو: لغات البرمجة ليست مصممة لأجهزة الكمبيوتر ، فهي مصنوعة للبشر. الكمبيوتر يقرأ نسخة مترجمة - ولدت من قبل المجمع. ليس لمخرجات المجمعين تشابه كبير مع ما تراه في المحرر. سوف يقوم المترجم بتغيير (تحسين) الكثير ، بما في ذلك تحديد التعليمة البرمجية والتي بدورها ستجعل الشفرة أكبر بدلاً من أصغر. نصيحة عامة: لا تذهب إلى التحسين الصغير ...
    شكرا على النصيحة العامة. انا سوف اقوم بعمل ذلك فقط. تعامل مع المشكلة الأكبر (البنية والمنطق والحسابات) ثم اعمل على الوصول إلى المستوى الجزئي. يبدو OnTick () وكأنه مكان رائع لبدء تحقيق مكاسب سهلة. جديد إلى mql؟ حظا سعيدا في تجارتك! إذا كنت معتادًا على البرمجة بشكل عام ، فيجب أن تتمكّن من استخدام mql بسرعة كبيرة. Mql4 هو بالتأكيد نكهة الاختيار ، ولكن إذا كنت تعرف أن مادتك تذهب مباشرة إلى mql5. فوائد في اختبار أكل أي ميزة يمكن أن تقدم mql4. في حصان قديم متعب والجميع يواصل جلده.

  10. #10
    أشاهد مدير المهام ويندوز ، ورأيت mt4 فقط يمكن استخدام 25 وحدة المعالجة المركزية في الحد الأقصى ، ثم ، متري mt4. كيفية زيادة استخدام ٪ من وحدة المعالجة المركزية ل mt4 من أجل تشغيل mt4 بسرعة ، لا تتعثر؟

أذونات النشر

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
  • رمز BB مفعل
  • الابتسامات مفعلة
  • رمز[IMG] مفعل
  • رمز [VIDEO] مفعل
  • رمز HTML غير مفعل
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.