أشعر بالفضول تجاهكم أيها الناس هناك. هل يستخدم أي شخص هنا بالفعل MetaTrader (لإنشاء MQL) كثيرًا ، لكن القليل جدًا يستخدم cTrader (cAlgo)؟
بصرف النظر عن الامتيازات التي يقدمها الوسيط ، أشعر أن MetaTrader ليست أفضل منصة لإنشاء المستشارين الخبراء. MQL = C يستخدمون C كرمز أساسي لهم. هو مكتوب في صفحة التعليمات الخاصة بهم:
https://www.mql5.com/en/docs
بينما تستخدم cTrader (cAlgo) C # كرمز أساسي لها.
أنا مستشار تقني بدوام كامل ، مطور برامج ، مصمم شبكة مبتدئ ، أعرف معظم تقنيات تطوير البرامج الحديثة. إذا اكتشفت أن كلا من Java و C # عبارة عن منافسات ضيقة وتقوم بذلك منذ 10 سنوات. تم تسمية كلاهما في أفضل 10 لغات برمجة سخونة ، إلى جانب Javascript و Scala و Go و Phyton. ومع ذلك ، لا يوجد أي منها C . من واقع خبرتي (بعد كتابة 3 EAs) ، فإن MQL صعب فقط. إذا كان منطقك بسيطًا مثل حساب شيء ما ، فقم بإجراء أوامر معلقة أو مراكز بناءً على السوق ، فإن MQL كافية. ولكن بمجرد أن تدخل في أفكار أكثر تعقيدًا ، فإن MQL لا تكفي ... آسف للقول.
خذ مثالاً واحدًا من EA الخاص بي ، Tunnel Martingale (TM). إذا كنت تطيع خيطي (
https://www.cavemantrading.com/tradi...ivots-win.html) في القسم التجاري ، فقد تم إنشاؤه بالفعل باستخدام MQL. لأن المنطق بسيط! ابدأ مركزًا في السوق بشكل عشوائي ، ثم ضع أمرًا معلقًا في الاتجاه المعاكس ، عندما يتم الوصول إلى الأمر المعلقتنفيذه ، ثم ضع الأمر المعلق الآخر في الاتجاه المعاكس تمامًا ، إلخ ... إلخ. الإستراتيجية هي مجرد إستراتيجية ، فاشلة ، تمتص الاستثمار ثم تعود إلى لوحة الرسم مرة أخرى.
نظرًا لأن الاقتراحات للتحسين لا تتقدم إلا قليلاً ، تزداد صعوبة البرمجة باستخدام MQL. أحد هذه الاقتراحات هو ، بدلاً من تخصيص وقت غير محدود للسلسلة مارتينجال وإلى أجل غير مسمى ، يمكننا قصر الإطار الزمني على التاريخ والوقت فقط لفترةمدة معينة فقط. ها هي الفائدة.
كيف تدير C التاريخ والوقت تستخدم حاليًا نوع البيانات القديم الذي يعتمد على عدد صحيح يرمز إلى الثغرات التي تم حسابها منذ 1 يناير 1970! هذا مثل بعض الأشياء التي تعود إلى ما قبل التاريخ. لذلك أعلم أنه يجب علي تحديد التاريخ والوقت من A إلى B ، فأنا بحاجة إلى معرفة تمثيل التجزئة للتاريخ.
وبالتالي ، إذا كنت بحاجة إلى كتابة TM تبدأ في 31 مارس 2020 الساعة 12:00:00 ، فيجب أن أقوم بتكوين 637212528000000000 في معلمة أو متغير أو أي نظام اتصال آخر بيني كمستخدم لـ EA. هذا ليس كل شيء ، أعمال DateTime محدودة للغاية في MQL.
الآن ، التحدي الآخر هو أنني أرغب في تقديم شيء لتلك التواريخ ، في معلمة الإدخال. هناك كلا من MQL ، لا توجد طريقة و cAlgo لتحديد معلمات الإدخال. ولكن يمكن القيام بذلك عن طريق إدخال تكوين ملف ، شيء مثل XML أو JSON. في MQL ، يتطلب الأمر بعض الأسطر لقراءة ملف. تحتاج إلى فهم فكرة المؤشر ، وتحتاج إلى التحقق مما إذا كان مقبض الملف مغلقًا ، وإذا لم يكن مغلقًا ، فيجب عليك إغلاق المقبض ، وإذا لم يكن الأمر كذلك ، فسوف يتعطل وما إلى ذلك.
في cAlgo ، يمكن تنفيذ هذه المهمة ببساطة عن طريق استدعاء دالة ثم تخصيصها لبعض المتغيرات. سطر واحد فقط.
الآن ، تحدث عن الشيء في عالم البرمجة ، بعد أن نقرأ ملف الإعداد ، يمكننا نوعًا من الوصول إلى التكوين باستخدام OOP ، حيث يوجد داخل الكائن أيضًا مجموعة من شيء آخر وما إلى ذلك. OOP في C يضيع الوقت تمامًا. إليك السبب: لا يمكنك قراءة XML أو JSON فقط. هناك العديد من الخطوات لتحقيق ذلك ، بينما في cAlgo يمكن إجراؤها في سطرين كحد أدنى. لا يمكنك فقط فرز مجموعة من الكائنات (وهذا مجرد غباء). يمكنك الفرز إذا كان نوع المعلومات المراد فرزها هو رقمك (int ، طويل ، قصير) ، وليس مع نوع البيانات الآخر تمامًا مثل تاريخ الوقت. والفرز بهذه البساطة فقط ، ولا توجد وظيفة أخرى. يجب على الفرد أن ينتج وظيفته الخاصة ، والقيام بذلك فقط يضيع وقتي كثيرًا. فقط هذين السببين ، لقد تخليت عن فرصي وانتقلت إلى cTrader.
ليس الأمر أنني لا أرغب في تعلم MQL. لكن مهلاً ، الكتابة مثل كتابة برنامج أعمال ، من المفترض أن تكون المستشارين الخبراء عادلة ، ويجب أن تكون قوية وسريعة وسريعة وبسيطة ، وتحافظ على الأشياء المهمة التي تعبر الطريق. ما لم تكن تكتب رمزًا لجهاز أو أشياء آلية أو مقامرة أو رمزًا يحتاج إلى وصول أسرع إلى طبقة لغة الآلة ، فإن C هو أفضل بديل لك.
فقط تخيل أنك تريد الخروج من موقعك الآن في هاواي إلى نيويورك وجهتك الخاصة. مع C # (أو حتى cTradercAlgo) ، ما عليك سوى استخدام (أو شراء) أي وسيلة نقل متاحة في السوق ، والسيارات ، وتذاكر العبّارة ، وتذكرة الطائرة ، والقطارات ، والحافلات ، وأي شيء للوصول إلى وجهتك بسرعة. حيث نحتاج إلى بناء قارب بأيدينا للوصول إلى هناك ، مع MQL ، أشعر وكأنني أعيش في عام 1781.
إذن ، كيف هي خبرتك ، أيها الناس؟