مساعدة في ترميز النظاممكافحة EA
Results 1 to 2 of 2

Thread: مساعدة في ترميز النظاممكافحة EA

  1. #1
    تحية طيبة!

    أعتقد أنني أتابع القصة المعتادة هنا. جديد إلى MQL4 ، بعض خلفية الترميز (BASIC و HTML) ، بلاه ، بلاه ، بلاه ، الآن أنا أحاول يدي في كتابة EA الخاصة.

    إنه لا شيء خاص. أنا أعمل على EA EA الاختراق. كما أنها واحدة من أول ما اعتقدت أنني سأبقيه بسيطًا. لذلك تعمل EA على أساس فتح شريط أسفل 20 EMA ثم تغلق فوق الخط. في الشريط التالي يفتح طلبًا بمقدار 3 نقاط أعلى ارتفاع شريط سابق. نظرًا لأنه عبارة عن EA أساسي ، يتم إغلاق الطلب عند الوصول إلى نقطة TP أو SL ، لا يحتوي على ترميز آخر لإغلاق أحد الطلبات.

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

    إليك رمز الإصدار 1 (آسف ، لا أعرف كيفية وضعه في مربع صغير أنيق):

    بداية int ()
    {
    //----

    int cnt، total، ticket؛


    double emaT = iMA (NULL، 0،20،0، MODE_EMA، PRICE_CLOSE، 0)؛
    double MacdCurrent = iMACD (NULL، 0،12،26،9، PRICE_CLOSE، MODE_MAIN، 0)؛

    مجموعه = OrdersTotal ()؛
    إذا (totallt؛ 1)


    bool buy = false؛
    bool sell = false؛

    if ((اسأل == High [1] gt؛ 3 * Point) (فتح [1] lt؛ emaT) (Close [1] gt؛ emaT) (MacdCurrent gt؛ 0)) buy = true؛
    if ((Low [1] == Bid ​​gt؛ 3 * Point) (emaT gt؛ Close [1]) (Open [1] gt؛ emaT) (MacdCurrent lt؛ 0)) sell = true؛


    {
    إذا (شراء)


    ticket = OrderSend (Symbol ()، OP_BUY، Lots، Ask، 0، Ask-StopLoss * Point، Ask TakeProfit * Point، Momo Trade، magicnumber، 0، Green)؛
    إذا (ticketgt، 0)

    إذا (OrderSelect (تذكرة، SELECT_BY_TICKET، MODE_TRADES))


    عودة (0)؛
    }

    {
    إذا (بيع)


    ticket = OrderSend (Symbol ()، OP_SELL، Lots، Bid، 0، Bid StopLoss * Point، Bid-TakeProfit * Point، Momo Trade، magicnumber، 0، Red)؛
    إذا (ticketgt، 0)

    إذا (OrderSelect (تذكرة، SELECT_BY_TICKET، MODE_TRADES))

    عودة (0)؛

    }

    عودة (0)؛
    }
    //----

    الإصدار 2 هو نفسه ، ولكن مع إضافة هذا الرمز إلى عداد:

    أوامر = OrdersTotal ()؛
    ل(المركز الوطني للاستشعار = 0؛ cntlt، OrdersTotal ()؛ المركز الوطني للاستشعار )

    {
    إذا (OrderSelect (المركز الوطني للاستشعار، SELECT_BY_POS))
    OrderSelect (cnt، SELECT_BY_POS، MODE_TRADES)؛
    إذا (OrderSymbol () == رمز ())
    {
    إذا (OrderType () == OP_BUY)



    أيضا ، في حين أن انتباه الجميع هو رمز بلدي الصحيح لوضع أمر على أساس ارتفاعانخفاض السابق مع رمز (Ask == High [1] gt؛ 3 * Point)؟

    مع الشكر!

  2. #2
    Hi Skeebo يوجد خطأ واضح مع تضمين عبارة If مع أقواس {}. على سبيل المثال ، قارن ذلك برمزك: if (totallt؛ 1) {bool buy = false؛ bool sell = false؛ } أتمنى أن يساعدك هذا

أذونات النشر

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