النتائج 1 إلى 11 من 11

الموضوع: history downloader

  1. #1
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي history downloader

    هلا ابو سلمان
    اود اسالك ما هي الدالة الرئيسية التي تستخدمها في برنامجك history downloader
    عندي اكسبرت احب اشيك عالداتا قبل ما يبدا بالشغل
    طبعا حبيت برنامجك و شفته سريع لهالسبب اسال عن الدالة التي تستخدمها

    تحياتي
    كود:
       if(IsExpertEnabled())
       {
          if(ArraySize(pairs)>eps)
          {
             if(pair_OR_frame=="FRAMES")
             {
                COUNT++;
                if(COUNT>MAX_COUNTER)
                {
                   pir++;
                   COUNT=0;
                   repeat=0;
                }
                if(pir>=ArraySize(period))
                {
                   repeat=0;
                   ji++;
                   pir=0;
                   COUNT=0;
                }
                if(ji>=ArraySize(pairs))
                {
                   repeat=0;
                   ji=0;
                   COUNT=0;
                }
                int barsp=0;
                ChartSetSymbolPeriod(0,pairs[ji], period[pir]);
                y=yd10;
                repeat=0;
                while(repeat<MAX_REPEAT)
                {
                   if(!IsExpertEnabled() || IsStopped()) {return;}
                   repeat++;
                   ChartNavigate(0,CHART_END,-30000);
                   barsp=iBars(pairs[ji],0);
                   if( !IsExpertEnabled())     {  return; }
                   RefreshRates();
                   int GG=MathMod(ji,TOTAL_PAIRS_PER_SHEET);
                   string ii=string(ji);
                   if(ji<=9) ii="00"+string(ji);
                   else if(ji<=99) ii="0"+string(ji);
                   clr=C'0,0,0';
                   string pair_a=pairs[ji];
                   clr=C'99,0,99';
                   x=-1; dx=v005-x+1;
       
                   x=v060;  dx=v080-v060+1;
                   clr=C'111,44,0';
       
                   Create_Button("PAIR_"+ii+"_PASK",DoubleToString(COUNT,0)+"  r"+DoubleToString(repeat,0),x,y+GG*(dy0-1),dx,dy0,F_O_N_T,clrRed,C'244,244,244',C'244,244,244',"");
                   x=v080;  dx=v095-v080+1;
                   clr=C'0,99,0';
                   int bars=iBars(pairs[ji],0);
                   Create_Button("PAIR_"+ii+"_PBARS",DoubleToString(bars,0),x,y+GG*(dy0-1),dx,dy0,F_O_N_T,clr,C'244,244,244',C'244,244,244',"");
                   x=v095;  dx=v130-v095+1;
                   clr=C'99,0,0';
                   string date=TimeToString(iTime(pairs[ji],0,bars-1),TIME_DATE|TIME_MINUTES);
                   Create_Button("PAIR_"+ii+"_PDATE",date,x,y+GG*(dy0-1),dx,dy0,F_O_N_T,clr,C'244,244,244',C'244,244,244',"");
                }
             }
             else
             {
                COUNT++;
                if(COUNT>MAX_COUNTER)
                {
                   ji++;
                   COUNT=0;
                   repeat=0;
                }
                if(ji>=ArraySize(pairs))
                {
                   repeat=0;
                   ji=0;
                   pir++;
                   COUNT=0;
                }
                if(pir>=ArraySize(period))
                {
                   pir=0;
                   repeat=0;
                   COUNT=0;
                }
                barsp=0;
                ChartSetSymbolPeriod(0,pairs[ji], period[pir]);
                y=yd10;
                repeat=0;
                while(repeat<MAX_REPEAT)
                {
                   if(!IsExpertEnabled() || IsStopped()) {return;}
                   repeat++;
                   ChartNavigate(0,CHART_END,-30000);
                   barsp=iBars(pairs[ji],0);
                   if( !IsExpertEnabled())     {  return; }
                   RefreshRates();
                   GG=MathMod(ji,TOTAL_PAIRS_PER_SHEET);
                   ii=string(ji);
                   if(ji<=9) ii="00"+string(ji);
                   else if(ji<=99) ii="0"+string(ji);
                   clr=C'0,0,0';
                   pair_a=pairs[ji];
                   clr=C'99,0,99';
                   x=-1; dx=v005-x+1;
                   x=v060;  dx=v080-v060+1;
                   clr=C'111,44,0';
                   Create_Button("PAIR_"+ii+"_PASK",DoubleToString(COUNT,0)+"  r"+DoubleToString(repeat,0),x,y+GG*(dy0-1),dx,dy0,F_O_N_T,clrRed,C'244,244,244',C'244,244,244',"");
                   x=v080;  dx=v095-v080+1;
                   clr=C'0,99,0';
                   bars=iBars(pairs[ji],0);
                   Create_Button("PAIR_"+ii+"_PBARS",DoubleToString(bars,0),x,y+GG*(dy0-1),dx,dy0,F_O_N_T,clr,C'244,244,244',C'244,244,244',"");
                   x=v095;  dx=v130-v095+1;
                   clr=C'99,0,0';
                   date=TimeToString(iTime(pairs[ji],0,bars-1),TIME_DATE|TIME_MINUTES);
                   Create_Button("PAIR_"+ii+"_PDATE",date,x,y+GG*(dy0-1),dx,dy0,F_O_N_T,clr,C'244,244,244',C'244,244,244',"");
                }         
             }
          }
       }

  2. #2
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    متغيرات خارجية ذات علاقة
    كود:
    int MAX_REPEAT=50;
    int MAX_COUNTER=1;
    int COUNT=0;
    string DASH_NUMBER_OF_LOST_CANDLES="NO";
    int ji;
    ENUM_TIMEFRAMES period[]={PERIOD_M1,PERIOD_M5,PERIOD_M15,PERIOD_M30,PERIOD_H1,PERIOD_H4,PERIOD_D1,PERIOD_W1,PERIOD_MN1};
    string periods[]={"M1","M5","M15","M30","H1","H4","D1","W1","MN1"};
    int pir=0;

  3. #3
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    وبالتأكيد غير مسبوقة
    أتمنى تأتون بشيء أفضل وأقوى .. ولو بالبناء على الكود أعلاه . .

  4. #4
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    سبب السرعة أنه كل تكة أو ثانية يسوي iterate للفريم أو الزوج
    بدلا من 28 زوج في نفس التكة أو الثانية ..
    وشرحتها أخي بكثافة في موضوع فوركس فاكتوري ردود اخر ست شهور


    يعني بالعربي الغيت اللووووووووبنق . . no loops . . . الفكرة نفسها إلهام من ربي
    .
    تأمل الكود أعلاه . . هل تجد فيه غباء for ؟؟

  5. #5
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    أي: التكة OnTick أو التايمر OnTimer جعلتها هي اللووووووووووب . .

  6. #6
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    في الكود أعلاه . . لاحظ متى تتغير ij

  7. #7
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    تعد أولا زوج التشارت أو فريمه ChartSetSymbolPeriod

    ثم تحركه يمين ChartNavigate عدد مرات من اختيارك

    وهذا الشرح كافي لأي مبتدئ برمجة .. فما بالك بالمتخصص

  8. #8
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    IsExpertEnabled

    هاذي لتعطيله من فوق بالماوس . . أسرع شيء ممكن .. أسرع تصرف . . أو تدخل لوقفه فوراً . .

  9. #9
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    انتهى

  10. #10
    الصورة الرمزية الشيخ_غريب
    الشيخ_غريب غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jul 2016
    الإقامة
    ماليزيا
    المشاركات
    1,523

    افتراضي

    نعم انتهي
    توقيع العضو
    قل اعوذ برب الفلق من شر ما خلق

  11. #11
    الصورة الرمزية اميرالمنتدى
    اميرالمنتدى غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Dec 2008
    الإقامة
    الإمارات العربية المتحدة
    المشاركات
    602

    افتراضي

    مشكور حبيب القلب ابو سلمان .. اول مرة اشوف هالموضوع .. طبعا الرسالة في اول الموضوع خطي
    فعلا فكرة ذكية .. و انا اشهد ... فعلا باستخدام الفور لوب احس البرامج تعلق .. رح اضمن هالطريقة في الاكسبرت خاصتي و اشوف نتايجها
    تحياتي ..


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