النتائج 1 إلى 4 من 4
  1. #1
    الصورة الرمزية بن عبدالله
    بن عبدالله غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    الإقامة
    في بيت المقدس واكناف بيت المقدس
    المشاركات
    692

    افتراضي مساعدة في تصحيح كود مؤشر

    [السلام عليكم ورحمة الله وبركاته
    اتمنى المساعدة من الاخوان الذين لديهم معرفة في برمجة المؤشرات
    وجدت مؤشرا في احد المنتديات يرسم خط عمودي من هاي الشمعة الى اللو بالاضافة الى اظهار الرينج للشمعة (ٌrange)
    حاولت ان اعدل المؤشر حتى يظهر مستطيل بدلا من الخط العمودي كما في الصورة المرفقة لكن بعد محاولات استمرت اياما فقدت الامل في محاولة التعديل على المؤشر اتمنى المساعدة من الاخوة مرفق كود المؤشر
    ملاحظة : في المرفقات كود مؤشر اخر يرسم مستطيل واحد على الشارت من االهاي الشمعة الى اللو لكنه لا يرسم اكثر من مستطيل وعند ظهور شمعة جديدة يختفي المستطيل.........ان كان كود هذا المؤشر اسهل من كود المؤشر الاول اتمنى التعديل عليه حتى يرسم مستطيلات على الشموع الماضية
    كود المؤشر الاول

    كود:
    //+------------------------------------------------------------------+
    //|                                                 HILOW Colour.mq4 |
    //|                      Copyright © 2006, MetaQuotes Software Corp. |
    //|                                        http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2006, MetaQuotes Software Corp."
    #property link      "http://www.metaquotes.net"
    #property  indicator_chart_window
    
    extern int MinRange        =1;
    extern int LookBack        =20;
    extern bool ShowRange      =0;               // 0=Show Nothing, 1=Show Pips/Range
    extern bool ShowOpnClo     =1;               // 0=Show Nothing, 1=Show Open to close
    extern int  PaintBarWidth  =3;               // How fat paint bar will be ?       
    extern bool Popup          =1;               // Enable to show Popup Window
    extern color BULL          =Blue;            // Colour for UP bar
    extern color BEAR          =Red;             // Colour for DOWN bar
    datetime RangeT;
    // --- Init & Deinit ----------------------------------------------------------
    int init()  {RangeT=Time[2]; return(0); }
    int deinit()   
       {
       for(int i=LookBack; i>=0; i--)
          {
    	   ObjectDelete(""+i);
          ObjectDelete("L");
          ObjectDelete("H"+i);
          }	
    return(0); }
    // --- Main Function call -----------------------------------------------------
    int start()
       {
       double GetRange, GetOC, Range; bool BarUP, Flag; 
       for(int x=0; x<LookBack; x++)
          {
          GetRange =(High[x]-Low[x]); if(Digits<4) GetRange=GetRange*100; else GetRange=GetRange*10000;
          GetOC    =(Close[x]-Open[x]); 
          if (Open[x]<Close[x]) BarUP=1; else BarUP=0;
          //Alert("GetRange : ",GetRange,"  MinRange : ",MinRange,"  x : ",x);
          if (GetRange > MinRange)
             {
             // Draw rectangle on bar / Repaint Bar
             if (BarUP==0)
                {
                
                ObjectDelete("L"+x);
                ObjectCreate("L"+x, OBJ_RECTANGLE, 0,Time[x],High[x],Time[x],Low[x] );
                ObjectSet("L"+x, OBJPROP_BACK, false);
        
       
            
                
                }
             if (BarUP==1)
                {
                ObjectDelete("H"+x);
                ObjectCreate("H"+x, OBJ_RECTANGLE, 0, Time[x],High[x],Time[x],Low[x] );
                ObjectSet("h"+x, OBJPROP_BACK, false);
                }
             if (ShowRange && !ShowOpnClo)          // Draw Range on bars
                {
                if (BarUP==0)
                   {
                   ObjectDelete(""+x);
                   ObjectCreate(""+x, OBJ_TEXT, 0, Time[x],Low[x]-5*Point );
                   ObjectSetText(""+x, ""+DoubleToStr(GetRange,0), 10, "Arial", BEAR);
                   }
                if (BarUP==1)
                   {
                   ObjectDelete(""+x);
                   ObjectCreate(""+x, OBJ_TEXT, 0, Time[x],High[x]+10*Point );
                   ObjectSetText(""+x, ""+DoubleToStr(GetRange,0), 10, "Arial", BULL);
                   }
                }  
             if (ShowOpnClo && !ShowRange)          // Draw OpenClose on bars
                {
                if (BarUP==0)
                   {
                   ObjectDelete(""+x);
                   ObjectCreate(""+x, OBJ_TEXT, 0, Time[x],Low[x]-5*Point );
                   ObjectSetText(""+x, ""+DoubleToStr(MathAbs(GetOC),0), 10, "Arial", BEAR);
                   }
                if (BarUP==1)
                   {
                   ObjectDelete(""+x);
                   ObjectCreate(""+x, OBJ_TEXT, 0, Time[x],High[x]+10*Point );
                   ObjectSetText(""+x, ""+DoubleToStr(GetOC,0), 10, "Arial", BULL);
                   }
                }  
             if (ShowOpnClo && ShowRange)          // Draw OpenClose & Range
                {
                if (BarUP==0)
                   {
                   ObjectDelete(""+x);
                   ObjectCreate(""+x, OBJ_TEXT, 0, Time[x],Low[x]-5*Point );
                   ObjectSetText(""+x, ""+DoubleToStr(MathAbs(GetOC),0)+"/"+DoubleToStr(GetRange,0), 10, "Arial", BEAR);
                   }
                if (BarUP==1)
                   {
                   ObjectDelete(""+x);
                   ObjectCreate(""+x, OBJ_TEXT, 0, Time[x],High[x]+10*Point );
                   ObjectSetText(""+x, ""+DoubleToStr(GetOC,0)+"/"+DoubleToStr(GetRange,0), 10, "Arial", BULL);
                   }
                }  
             }
          }
       Range=(High[1]-Low[1]); if(Digits<4) Range=Range*100; else Range=Range*10000;
       if (RangeT == Time[1]) {RangeT=Time[0]; Flag = 1;}
       if (Range>MinRange && Flag==1) 
          {
          if (Open[1]<Close[1]) {Alert(Symbol(),"  BULL bar formed Range is ",Range," Pips"); Flag=0;}
          if (Open[1]>Close[1]) {Alert(Symbol(),"  BEAR bar formed Range is ",Range," Pips"); Flag=0;}
          }
    //   Comment("Range : ",Range,"  RangeT : ",RangeT,"  Time[1] : ",Time[1],"  Flag : ",Flag);
       return(0);
       }
    
    // --- End of Main Function ---------------------------------------------------
    
    
    
    [
    [/SIZE][/FONT]


    FONT="Arial Black"][SIZE="4"]
    اضغط على الصورة لعرض أكبر

الاســـم:	usdchf15m.JPG
المشاهدات:	50
الحجـــم:	60.6 كيلوبايت
الرقم:	258250
    آخر تعديل بواسطة بن عبدالله ، 08-01-2011 الساعة 03:39 PM

  2. #2
    الصورة الرمزية بن عبدالله
    بن عبدالله غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    الإقامة
    في بيت المقدس واكناف بيت المقدس
    المشاركات
    692

    افتراضي رد: مساعدة في تصحيح كود مؤشر

    #HILOW Colour modifided2.mq4
    المؤشر الثاني

  3. #3
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي رد: مساعدة في تصحيح كود مؤشر

    الخطأ في الكود عندك بسبب الآتي
    في هذا السطر

    كود PHP:
    ObjectCreate("L"+xOBJ_RECTANGLE0,Time[x],High[x],Time[x],Low[x] ); 
    أنت قمت بجعل حدود المربع الزمني هو نفس الوقت فجعلت بداية رسم المربع x وجعلت نهاية رسم المربع أيضا x
    وهذا خطأ فيجب أن تجعل نهاية رسم المربع x+ مقدار شمعة كامل فسوف تجعله x+Period*60
    أو تجعله x-1

    المؤشر المعدل في المرفقات
    لكن السؤال هو ما فائده هذا المؤشر ؟
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  4. #4
    الصورة الرمزية بن عبدالله
    بن عبدالله غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    الإقامة
    في بيت المقدس واكناف بيت المقدس
    المشاركات
    692

    افتراضي رد: مساعدة في تصحيح كود مؤشر

    السلام عليكم ورحمة الله وبركاته
    بارك الله فيك اخي مستر دولار على مساعدتك القيمة
    اسأل الله ان يجازيك الخير في الدنيا والاخرة
    بالنسبة للفائدة من هذا المؤشر الامر ينقسم الى شقين:
    الاول هو التعرف على الاكواد البرمجية وبالتحديد بعض الاكواد التي تساعدني في التعديل على المؤشرات بلغة الميتاتريدر بما يخدمني ويساعدني في المتاجرة
    اما السبب الثاني فاني اريد ان اختبر فكرة معينة لدي عن استخدام خطوط الترند مع غياب الفواصل بين الشمعات.....لعل الامر يكون فيه فائدة
    اكرر شكري لك اخي الكريم مستر دولار


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17