أيهما تفضل: Metatrader (MQL) أم cTrader (cAlgo)؟
الصفحة 1 من 289 12 الأخيرةالأخيرة
Results 1 to 10 of 13

Thread: أيهما تفضل: Metatrader (MQL) أم cTrader (cAlgo)؟

  1. #1
    أشعر بالفضول تجاهكم أيها الناس هناك. هل يستخدم أي شخص هنا بالفعل 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.

    إذن ، كيف هي خبرتك ، أيها الناس؟

  2. #2
    Quote Originally Posted by ;
    اقتباس صحيح. وللسبب نفسه مثلك (العكس تمامًا). عندما بدأت 10 عقود مضت ، كنت منزعجًا من نقص وظائف الإطار في MQL واخترت إنشاء الإطار بنفسي (انظر Github). لدي وسيستغرق الأمر محاولة ووقتًا لمنصة أخرى. هذا هو قلقي فيما يتعلق بـ cTrader ، فليس لدي أي شيء منها. دعم الوسيط ليس كبيرًا بعد ولكن هناك عدد قليل من الوسطاء يدعمونه بالفعل. سيختلف معلمك. افعل ما يناسب رغباتك بشكل أفضل ....
    نعم يا رجل. المشكلة الوحيدة هي أن cTrader لم تكن موجودة قبل 10 سنوات.
    Quote Originally Posted by ;
    quote أي آلية تكوين قادرة على التعبير عن هياكل البيانات ستفعل. يتم استخدام JSON بواسطتك ويتطلب أيضًا محلل JSON. بخير. أنا أستخدم مستندات .ini وأحتاج إلى محلل .ini. لقد كتبت بلدي. هذه هي حياة المبرمج. : - RRB- صور
    لم أسمع ملفات INI لفترة طويلة. يمكن أن يعطي هذا أيضًا بنية أفضل.

  3. #3
    1 مرفق (مرفقات)
    Quote Originally Posted by ؛
    اقتباس ... أحتاج إلى العثور على قائمة بالأوقات والتواريخ لوضع علامة عليها في EA. أنا أبحث عن نظام تداول يمكن أن يكون آليًا ، ومراقبة أقل ، وعاطفة أقل في اللعبة ، يبدو من حين لآخر ، ثم ينسى. مع أخذ ذلك في الاعتبار ، أحتاج إلى مجموعة من التكوينات المعقدة مثل هذا: picture
    أي آلية تكوين قادرة على تحديد هياكل البيانات ستفعل. أنت تستخدم JSON وتحتاج إلى محلل JSON. بخير. أنا أستخدم ملفات .ini عادية وأحتاج إلى محلل .ini. لقد كتبت بلدي. هذه هي حياة المبرمج. : - RRB-

  4. #4

    Quote Originally Posted by ;
    اقتبس أوه ، ربما تكون قد رأيت (أو حاولت) cAlgo ، لكنك لم تبحث كثيرًا لأنني أفترض؟ N الحفاظ على استمرار هذه المناقشة ...؟
    صحيح. ولنفس السبب مثلك (العكس تمامًا). عندما بدأت قبل 10 سنوات كنت منزعجًا من عدم وجود وظائف الإطار في MQL وقررت تكوين الإطار بنفسي (قم بزيارة Github). لدي ميزات أحتاجها وقد يستغرق الأمر محاولة ووقتًا شاقًا لنقل كل شيء إلى منصة أخرى. هذا هو قلقي الأساسي فيما يتعلق بـ cTrader ، ليس لدي أي شيء ضده. دعم الوسيط ليس رائعًا ولكن بعض الوسطاء الأفضل يدعمونه. سيختلف معلمك. افعل ما يناسب رغباتك. :-)

  5. #5
    1 مرفق (مرفقات)
    Quote Originally Posted by ؛
    هذه المتطلبات تقيد خياراتنا. قد لا تكون Java (لغتي المفضلة) و C # لطيفين للغاية ولكن التجارة الآلية (التجزئة) غير ممكنة بواسطتها. لذلك إذا كنت متداولًا آليًا ، فلدي خيارات أقل فيما يتعلق بأطر العمل. إذا كنت متداولًا تقديريًا C # مع مؤشرات مخصصة محلية (ربما cTrader) فهي رائعة.
    ربما تكون متطلباتي عالية جدًا ، وذلك لأنني كسول جدًا.
    أرغب في الوصول إلى تداول مؤتمت بالكامل ، لكن يبدو أنه شبه آلي. لأنني بحاجة إلى العثور على قائمة التواريخ والمناسبات لوضع علامة عليها في EA. أبحث عن نظام تداول يمكن أن يكون آليًا بالكامل ، وأقل تتبعًا ، وأقل عاطفة في اللعبة ، ويبدو من حين لآخر ، ثم أنسى. مع وضع ذلك في الاعتبار ، أحتاج إلى مجموعة من التكوينات المعقدة من هذا القبيل:

  6. #6
    Quote Originally Posted by ;
    مع cAlgo لديك بالفعل بيئة تطوير نظيفة للغاية ولكنك لا تزال تواجه جدرانًا في كل خطوة تقريبًا. ليس وقتك cAlgo بعد ، ربما ليس بعد ...
    أوه ، ربما تكون قد رأيت (أو حاولت) cAlgo ، لكنك لم تستكشف الكثير لأني أعتقد؟ في cAlgo ، قد تتم كتابته فقط باستخدام منصة التداول تمامًا مثل MQL ، قم بتجميع الكود ، وإنشاء مستند * .algo ، بنفس الطريقة! ولكن هناك ميزة تسمى Open from Visual Studio ، ويتم تحرير Visual Studio IDE (
    https://visualstudio.microsoft.com/vs/community/). وفي كل مرة تقوم فيها بإنشاء المستشار الخبير (cAlgo هو العنوان المحدد) ، فإنه يولد بالضبط مشروع Visual Studio. يمكنك إخراجها ، وتوسيع الفصل إلى آخر ، وحتى إضافة مكتبة أخرى ، وما إلى ذلك. لذا ، حتى هنا ، لا أرى أي جدران. يمكن ترميز أي شيء أحتاجه بواسطتي ، بدءًا من إرسال رسالة Twitter إذا كنت بحاجة ، والاتصال بخدمة إنترنت أخرى ، وخطافات الويب ، وحتى عناصر إنترنت الأشياء ، والتكامل مع الكل و Azure.
    Quote Originally Posted by ;
    لذا فإن النظام الأساسي المثالي موجود فقط للأشخاص الذين لديهم ميزانية كبيرة (على سبيل المثال ، واحدة لـ Deltix) وأيضًا مهمة البيع بالتجزئة لدينا هي تحقيق أقصى استفادة من عالم البيع بالتجزئة غير الكامل هذا. quote ما كنت تبحث عنه ولكن عليك تغطيته. أن الأرنب يجري. (هكذا läuft der Hase): - RRB- الصورة
    أرى ملف PDF بالفعل ، فهم يستخدمون أيضًا C # و .NET Framework. لقد اكتشفت بالفعل ما أبحث عنه.
    على أي حال ، مناقشة جيدة وحسن فهمك يا رجل! ربما يمكننا مواصلة هذا الحوار ...؟

  7. #7

    Quote Originally Posted by ;
    .. .ربما كنت مرتبكًا للاعتقاد بأن MQL هي C ...
    أنا أفهم وجهة نظرك تمامًا. ربما يجب أن تفكر أكثر في منظور مطور التطبيق. يتم إدخال مدخلات المستخدم دائمًا من خلال القيم العددية. لا أعرف حقًا أي برنامج على الأرض يتم فيه إدخال إدخال المستخدم من خلال مثيل كائن. قد يتم تمرير مثيلات الكائن عبر المعلمات على الرغم من إدخال أقل من المستخدم. على أي حال ، فإن نهج تباين اللغات لن يسفر حقًا عن أي شيء لأن القدرات والأذواق هي ببساطة متميزة لتلائمنا جميعًا. من الأفضل مقارنة حالات الاستخدام Imho. هذا هو التداول التقديري باستخدام المخططات المجردة ، وهو تداول تقديري باستخدام مؤشر مخصص يدعم التداول التقديري باستخدام إنشاء إشارة عن بُعد تداول مؤتمت بالكامل (عن بُعد) لجميع حالات الاستخدام هذه ، ستكون هناك متطلبات مسبقة مختلفة لهذه المنصةاللغةإطار العمل ، وهذا هو المكان الذي نحتاج إلى ذلك اتخاذ قرار ما يناسبنا. لا يمكن الوصول إلى مكتبات مثل XML أو JSON. إنه أيضًا تفاعل مع المستهلك أو البرامج البديلة مثل البريد الإلكتروني ، والتسجيل ، والمراقبة ، والرسائل ، والتحكم عن بعد ، إلخ. هذه المطالب تحد من خياراتنا. قد لا تكون Java (لغتي المفضلة) و C # لطيفة جدًا ولكن التداول الآلي (التجزئة) غير ممكن معها. لذلك إذا كنت متداولًا آليًا ، فلدي خيارات أقل فيما يتعلق بأطر العمل. إذا كنت متداولًا تقديريًا C # مع مؤشرات مخصصة محلية (ربما cTrader) فهذا جيد.

  8. #8
    Quote Originally Posted by ;
    المهمة هي تحديد منطق التجارة بطريقة سهلة. على سبيل المثال ، فإن EasyLangugae في Tradestation يتجاوز أداء MQL مقارنة بـ MQL. هذا لسبب ومتعمد. من السهل التبديل إلى لغة وجسر مختلفين يتضمن كلاهما إذا كنت تحتاج إلى دعم برمجة كامل مع جميع الميزات التي يستخدمها المرء من تطوير التطبيقات العادية بعد ذلك. في MQL ، يتم ذلك من خلال استخدام مكتبات DLL (CC ، و Pascal ، و C #) وهنا تكمن الميزة المهمة لـ MQL. من بين جميع منصات التداولاللغات المتاحة ، تتمتع MQL بأكثر ...
    لقد أجريت بحثًا في الماضي ، وقمت بتقييم هذا ، ما يسمى بلغة التجسير بين MQL ولغة برمجة أخرى. لكن في كل مكون في السوق ، يستخدمون نفس الشيء تمامًا: فتح مقبس النظام ، والسماح له بالاتصال عبر حزم الشبكة مع الجسر في اللغة. الآن هذا رائع إذا قمت بالتسجيل في شيء ما هو طلب واحد في وقت محدد. ليس من غير المألوف أن تطلب هذا المستوى من الاستجابة وتحتاج إلى فتح العديد من المعاملات لتكون هناك كما لو كنت ترمز MQL. لأنه في الأساس يتحدث من خلال مقبس الشبكة. تحتاج إلى مراقبة المصافحة ، حيث يتم تحويل التحكم من أحد الطرفين إلى عنصر تحكم متكرر واضح من كلا الطرفين وسيتم نقله عبر المقبس ، وبعد ذلك بعد وصوله إلى الطرف الآخر سيتم تحويله إلى رمز MQL بشكل أساسي. لقد أجريت سلسلة من المناقشات مع مبرمج MT4API في ذلك الوقت. MT4API ، لأنه مجاني تمامًا! البعض الآخر غير مجاني ، على ما يبدو يستخدم أيضًا مقبس نظام للتواصل. هذا يعني أنه يمكنك التنبؤ بالنتيجة.
    Quote Originally Posted by ;
    تعد MQL جيدة جدًا بسبب واجهة برمجة التطبيقات البسيطة هذه ، ولا يتعين عليها دعم جميع الميزات التي تفتقدها. حاول أن تفعل الشيء نفسه في أي منصة تداول أخرى (سمها ما شئت) وستعرف ما أعنيه.
    حسنًا ، إذا كانت MQL هي الأسهل ، فهذا لا يعني أنها يمكن أن تشجع السيناريوهات المعقدة مثل تلك التي لدي.
    إنه حقًا لا يتطلب سمة واسعة النطاق. ومع ذلك ، إذا احتاج الشخص ، فعليه الدفع للحصول على جزء بين MQL و C # ، أو الانتقال تمامًا إلى cTrader. BUTI أتفق معك تمامًا على أن MQL هي الأبسط الأبسط إذا كان المرء يريد الترميز للحصول على EA.
    [QUOTE=؛] أكثر القطع المفقودة هي معالجة الاستثناءات وواجهة COM مثل EasyLanguage. ومع ذلك ، فإن أكبر ألم في المؤخرة لا يقتصر على الأداء. إنها غزارة في الميزات.

  9. #9
    ربما كنت مرتبكًا عندما اعتقدت أن MQL هي C . لكن قد يكون تركيزي على MQL نفسها ، بدلاً من C .
    Quote Originally Posted by ;
    التاريخ 31 مارس 2020 12:00:00 لا يتم التعبير عنه كرقم صحيح ولكن كـ D'2020.03.31 12:00:00 '. من الصعب تخيل شيء أكثر سهولة.
    يتم التعبير عن DateTime في صورة عدد صحيح ، وكنت مخطئًا بشأن العلامات لأنها تمثل مقدار اللحظات ، لكنك تحصل على النقطة. نقلا عن:
    https://docs.mql4.com/dateandtimeعدد صحيح يمثل مقدار الثواني المنقضية من 0 ساعة 1 يناير 1970 هدفي ليس فقط استخدام التاريخ كما هو. ولكن للتلاعب (أضف الأيام والدقائق والساعات والتحويل إلى نص والعكس صحيح). هذا المنشور هو من بين أسباب عدم تشجيعي على الاستمرار في استخدام MQL:
    https://www.mql5.com/en/forum/101178. هذا مجرد الكثير من المسارات في اليوم لإضافتها ببساطة.
    Quote Originally Posted by ;
    تدعم معلمة إدخال التاريخ والوقت منتقي التاريخ والوقت الأصلي الذي يوفره نظام التشغيل. من الصعب تصور شيء أفضل.
    أوافق ، إنه مدعوم. لكنني أمضيت وقتًا لا يُحصى في البحث لأرى بأي طريقة تقريبًا أنه يمكن أن يدعم مصفوفة من DateTime كأحد معلمات إدخال EA ، ولا يمكنه تلبية توقعاتي. أعني أنني بحاجة إلى معلمة إدخال تكون مجرد كائن به أنواع مختلفة ، والتي تحتوي أيضًا على مصفوفة وخصائص كائنات مختلفة داخل الكائن وهي أيضًا مصفوفة (معقدة) ، بدلاً من معلمات الإدخال غير المنظمة المسطحة التي تقدمها MQL كما نرى في هذا زمن. ولكن هناك حل بديل ، استخدم مسار الملف كمعامل إدخال. قراءة الملف فقط تحمل لي سطورًا من التعليمات البرمجية (وبالطبع إغلاق مقبض الملف وجميع الملاحظات). لا أرى وظائف مضمنة تدعم XML أو JSON. هناك بعض المكتبات المتاحة في السوق ، لكنها لا تلبي المتانة تمامًا كما هو الحال في C # ، لا سيما أنه لا يمكن أن يكون أبسط من ذلك:
    https://www.newtonsoft.com/json/help...lizeObject.htmأن السطر الأساسي للشفرة يتكون من سطرين فقط. سيكون الباقي هو التخلص من القيمة ، والمسار نفسه.

  10. #10
    Quote Originally Posted by ;
    quote بعض النقاط في رسالتك التي تتبادر إلى ذهني (قائمة غير كاملة): تشير معظم أمثلتك إلى مشاكل ناجمة عن الخلط بين لغة البرمجة وإطار عمل البرنامج. MQL ليس C . لغة MQL هي لغة برمجة تشبه إلى حد كبير C. يمكن تنفيذ MQL بواسطة مترجم مثل JavaScript ويتم تجميعها في رمز بايت. تضمن الوظائف المضمنة المتاحة بعض الأداء المتاح في C.
    شكرًا. أخيرًا C pro
    لست خبيرًا في C و MQL ، لكن أعتقد أنني اخترت عدم التعمق أكثر. يوضح افتراضي أن MQL هو شيء مثل MEF في dotnet ، والذي يعمل بشكل مشابه للوظيفة الإضافية. أعتقد أن هذا هو السبب (في رأيي) لا يزال cAlgo أفضل لأنه تم تجميعه وليس تفسيره. يرث لأنه C # ، نفس الشيء مثل C #. يشرح سوثيس أيضًا سبب صعوبة استخدام MQL لأفكاري.

أذونات النشر

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
  • رمز 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.