مؤشر MACD للتقاطع الصفري بعد 3 أشرطة
Results 1 to 6 of 6

Thread: مؤشر MACD للتقاطع الصفري بعد 3 أشرطة

  1. #1
    أحاول تطبيق indior الأول الخاص بي وسأقدر بعض المساعدة من مبرمجي MQL المخضرمين.

    يتم اشتقاق البرنامج النصي أدناه من نموذج MACD النصي وتم تعديله لوضع سهم UP عندما يتجاوز MACD خط الصفر بعد 3 أشرطة متتالية فوق خط الصفر وأيضًا سهم DOWN عندما يتقاطع MACD أسفل خط الصفر مع 3 أشرطة متتالية تحت الصفر.

    أواجه مشاكل - ربما لا أحصل على أي أسهم تظهر على الإطلاق.

    إذا كان بإمكانك أن ترى إلى أين أضل ، فستكون هذه مساعدة رائعة.

    شكرًا

    #property حقوق النشر حقوق الطبع والنشر © 2007 ، Systrader
    # رابط الموقع http:/www ....
    //- إعدادات داخلية
    # خاصية indior_separate_window
    # ملكية 4
    #property indior_color1 أكوا
    #property indior_color2 أحمر
    #property indior_color3 أخضر
    #property indior_color4 أحمر
    # خاصية indior_width1 2
    //- المعلمات الداخلية
    خارجي int FastEMA = 12 ؛
    خارجي int SlowEMA = 26 ؛
    خارجي int SignalSMA = 9 ؛
    //- مخازن داخلية
    جهاز Macd مزدوج [] ؛
    إشارة مزدوجة [] ؛
    //-- عوض
    عداد int
    // ----------------------------------------------- -------------------
    //| وظيفة التهيئة الداخلية المخصصة |
    // ----------------------------------------------- -------------------
    الحرف الأول ()

    //- تفضيلات الرسم
    SetIndexStyle (0، DRAW_HISTOGRAM) ،
    SetIndexStyle (1، DRAW_LINE) ،
    SetIndexArrow (2،233) ؛
    SetIndexArrow (3234) ؛
    SetIndexDrawBegin (1 ، SignalSMA) ،
    IndiorDigits (أرقام 1) ؛
    //- رسم خرائط المخازن المؤقتة الداخلية
    SetIndexBuffer (0 ، Macd) ؛
    SetIndexBuffer (1 ، إشارة) ؛
    //- اسم DataWindow وتسمية النافذة الفرعية الداخلية
    IndiorShortName (MACDZC ( FastEMA ، SlowEMA ، SignalSMA )) ؛
    SetIndexLabel (0، MACD) ،
    SetIndexLabel (1 ، إشارة) ؛
    //- تم التهيئة
    عودة (0) ؛

    // ----------------------------------------------- -------------------
    //| تقاربتباعد المتوسطات المتحركة |
    // ----------------------------------------------- -------------------
    بداية int ()

    حد int
    int counted_bars = IndiorCounted () ،
    //- سيتم إعادة حساب آخر شريط تم عده
    إذا (counted_barsgt؛ 0) counted_bars-- ؛
    Limit = Bars-counted_bars ؛
    //- macd محسوب في المخزن المؤقت الأول
    لـ (int I = 0؛ ilt؛ limit؛ I )
    Macd [I] = iMA (NULL، 0، FastEMA، 0، MODE_EMA، PRICE_CLOSE، I) -iMA (NULL، 0، SlowEMA، 0، MODE_EMA، PRICE_CLOSE، I) ؛
    //- تم حساب خط الإشارة في المخزن المؤقت الثاني
    لـ (I = 0؛ ilt؛ Limit؛ I )
    الإشارة [I] = iMAOnArray (Macd، Bars، SignalSMA، 0، MODE_SMA، I) ؛

    //- عد ما إذا كانت 3 أشرطة من macd أعلى أو أقل من الصفر
    عداد = 0 ؛

    //ابدأ من الشريط الثالث للسماح بفحص الأشرطة الثلاثة السابقة
    لـ (int j = 3 ؛ jlt ؛ limit ؛ j )

    إذا (Macd [j] lt؛ 0) عداد-- ؛
    إذا (Macd [j] gt؛ 0) عداد ؛

    //عد إذا شوهدت 3 أشرطة فوق خط الصفر
    إذا (عداد gt ؛ 2)
    SetIndexStyle (2، DRAW_ARROW) ،
    ObjectCreate (UpAlert، OBJ_ARROW، 0، مرتفع [j]، 0) ،
    ObjectSet (UpAlert ، OBJPROP_ARROWCODE ، 74) ،

    //عد إذا شوهدت 3 أشرطة تحت خط الصفر
    إذا (عداد lt ؛ -2)

    SetIndexStyle (3، DRAW_ARROW) ،
    ObjectCreate (DnAlert، OBJ_ARROW، 0، منخفض [j]، 0) ؛
    ObjectSet (DnAlert ، OBJPROP_ARROWCODE ، 74) ؛


    //-- انتهى
    عودة (0) ؛

    // ----------------------------------------------- -------------------

  2. #2
    2 مرفق (مرفقات) مرحبًا يا ديفيد ، ليس لدي أي معرفة ببرمجة MT4. تم إجراء تعديل بسيط بواسطتي وفقًا للرمز الخاص بك macdzc إلى macdzc_1 ، مما يعني عدم عبور MACD بعد 1 شريط. هل يمكنك التحقق مما إذا كانت مناسبة أم لا؟ شكرا لك على مساعدتك الرائعة. بالإضافة إلى ذلك ، أود أن أطلب مساعدتك الكريمة لترقية هذا المؤشر الظاهر على الرسم البياني الأساسي ، يعني فقط إظهار الأسهم لأعلى ولأسفل على الرسم البياني الأساسي إذا كان الصفر يتقاطع مع MACD بعد 1 شريط ، مثل الرسم البياني الرئيسي لعبور MACD ، ألصق MACD Cross.mq4 I أنا صيني ، إنكليزية فقيرة. أي سوء فهم ، اتصل بي في أي وقت. شكرا جزيلا لك مقدما. مع أطيب التمنيات توماس تشن 11 نوفمبر 2011
    https://www.cavemantrading.com/attac...5337090737.mq4
    https://www.cavemantrading.com/attac...4340169428.mq4

  3. #3
    مرحبًا ، هانوفر ، إنه مؤشر رائع لكل MACDZC. شكرا جزيلا! هل يمكنك ترقية MACDZC هذا على النحو التالي: لوضع سهم لأعلى عندما يتجاوز MACD خط الصفر بعد شريط واحد متتالي فوق خط الصفر وبالمثل سهم DOWN إذا تجاوز MACD خط الصفر مع شريط واحد متتالي تحت الصفر. من الأفضل أن يكون لديك خيار ، يعني أن 0،1 أو 2 من الأشرطة تجاوزت خط الصفر وإظهار السهم. شكرا جزيلا لك مقدما. BR، Thomas C
    Quote Originally Posted by ؛
    مرحبًا Systrader ما أعتقد أنك قمت به هو الخلط بين التصميمات الداخلية والأشياء. إذا كنت سترسم الأسهم على أنها مساحات داخلية ، فأنت تريد تحديد مخازن مؤقتة - انظر إلى سطور التعليمات البرمجية التي أضفتها في المرفق أدناه ، لتحقيق ذلك (ابحث عن ”//- المضافة” التعليقات) . بمجرد ربط المصفوفة بمخزن مؤقت (بواسطة 'SetIndexBuffer') ، فإن ملء المصفوفة ببساطة سيكون له مخطط القيم على الرسم البياني. يضمن ArrayInitialize أن تبدأ المصفوفات بـ EMPTY_VALUE ، مما يعني أنه لن يتم رسم أي سهم لكل حانة ....

  4. #4
    2 المرفق (المرفقات) مرحبًا Systrader أعتقد أنك قمت بعمل الخلط بين العناصر الداخلية والعناصر. إذا كنت سترسم الأسهم على أنها مساحات داخلية ، فأنت تريد تحديد المخازن المؤقتة - انظر آثار الكود الذي أضفته من المرفق أدناه ، لإنجاز ذلك (ابحث عن الملاحظات ”//- المضافة”). بمجرد أن ترتبط المصفوفة بمخزن مؤقت (عن طريق 'SetIndexBuffer') ، فإن ملء المصفوفة ببساطة سيكون له مخطط القيم على الرسم البياني. يضمن ArrayInitialize أن تبدأ المصفوفات بـ EMPTY_VALUE ، مما يعني أنه لن يتم رسم أي سهم لكل شريط من هذا القبيل. افترضت أنك تريد رسم الأسهم على هيئة مساحات داخلية ، منذ أن قمت بتعيين ”#property indior_buffers 4” ، على الأرجح لتكييفها. بالطريقة التي قمت بها ، تم رسم الأسهم في نافذة MACD ، بسبب عبارة ”#property indior_separate_window”. إذا كنت ترغب في رسمها في نافذة الأسعار ، فستحتاج إلى إنشاء مؤشر منفصل باستخدام ”#property indior_chart_window”. قد تكون هناك طريقة إضافية للقيام بذلك: أنا لست مبرمج MQL4 متمرسًا. إذا كنت تريد إنشاء الأسهم كعناصر بدلاً من المساحات الداخلية ، فأنت تريد إنشاء عناصر بأسماء فريدة. ألقِ نظرة على عبارات ObjectCreate و ObjectSet و ObjectSetText في لوحة Plot_News الداخلية الخاصة بي ، للحصول على الفكرة. على أي حال ، آمل أن يساعدك هذا في البدء. حسن الحظ ديفيد
    https://www.cavemantrading.com/attac...0172472180.mq4
    https://www.cavemantrading.com/attac...1727834694.mq4

  5. #5
    مرحبًا ديفيد ، واو .. لقد كان هذا ردًا سريعًا وشكرًا ، إنه يعمل بشكل رائع. . مثلما أردت. أنت على حق. . لدي بعض الارتباك مع العناصر ولكن لا شيء لن تشفي هذه الممارسة. شكرا جزيلا نات

  6. #6
    مرحبًا David ، هل يمكنك تضمين تنبيه منبثق لـ macdzc_1 ، والذي سيعرض السعر والوقت عندما يتجاوز خط MACD الخط؟ إذا كان ذلك ممكنًا ، فقم بالتحديث إلى متغير MTF
    شكرا جزيلا لك في anvancd. مع أطيب التمنيات توماس سي في 11 أكتوبر 2011

أذونات النشر

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