صفحة 1 من 5 12345 الأخيرةالأخيرة
النتائج 1 إلى 15 من 74
  1. #1
    الصورة الرمزية mohamedfx2005
    mohamedfx2005 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2012
    الإقامة
    الجزائر
    المشاركات
    118

    افتراضي ارجوا اعادة صياغة مؤشر peak & valley

    السلام عليكم ورحمة الله

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

    وفي بعض الاحيان يقوم باضافة اشارات(نقاط) على الشارت بعد 10 او 20 شمعة

    ارجوا ان يتم اخذ طلبي في الحسبان من قبل الاستاذ المبدع فيلسوف البادية او الاستاذ اسامة

    ودي واحترامي
    الملفات المرفقة الملفات المرفقة

  2. #2
    الصورة الرمزية mohamedfx2005
    mohamedfx2005 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2012
    الإقامة
    الجزائر
    المشاركات
    118

    افتراضي

    ارجوا التعديل او اعادة الصياغة من فضلكم

  3. #3
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    عن نفسي اطلعت على الكود اخي,
    ليش ماتستخدم الفراكتالز؟؟ افضل وشيء جاهز في الميتا؟؟

  4. #4
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    منها عدم القدرة على تغيير لون النقاط
    ============
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 580.png‏   580.png‏  
    آخر تعديل بواسطة فيلسوف البادية ، 03-04-2018 الساعة 01:03 AM

  5. #5
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    وكذلك عند حذف المؤشر من الشارت تبقى النقاط على الشارت
    ========
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 580.png‏  

  6. #6
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    وفي بعض الاحيان يقوم باضافة اشارات(نقاط) على الشارت بعد 10 او 20 شمعة
    =========
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 580.png‏  

  7. #7
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    وكذلك استهلاك الكثير من موارد الحاسوب
    ===========
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 580.png‏  

  8. #8
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    يحفظ تحت خبير--لانه ليس مؤشر أساساًَ
    كل مرة تريد تحديث--ضغطة ماوس على التشارت
    كود PHP:

    extern int PeakValley_Period
    =24;
    extern int FastShift=7;
    input color peak_color=clrLime;
    input color valley_color=clrOrange;

    int OnInit(){   return(INIT_SUCCEEDED);}

    void OnDeinit(const int reason)
    {
       
    ObjectsDeleteAll();
    }

    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+

    void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
    {
       if(
    id==CHARTEVENT_CLICK)
       {
       
    double PeakBuffer[],ValleyBuffer[];
       
    double PVDomain=PeakValley_Period*5;
       
    int i;
       
    int TotalBar=Bars-PVDomain;
       
    ArrayResize(PeakBuffer,TotalBar);
       
    ArrayResize(ValleyBuffer,TotalBar);
       for(
    i=0i<TotalBari++)
       {
          
    PeakBuffer[i]=peak_function(i,PeakValley_Period,FastShift,PVDomain);
          
    ValleyBuffer[i]=valley_function(i,PeakValley_Period,FastShift,PVDomain);
       }
      }
      }
    //+------------------------------------------------------------------+

    //====================================================================
    // calculate peak
    double peak_function(int i,int PeriodPV,int ShiftFast,int DomainPV)
    {
       
    double Peak=0;
       
    int bsPeak=0;
       
       for(
    int pw=i+ShiftFast;pw<=i+DomainPV;pw++)
       if(
    iHigh(NULL,0,pw)>=High[iHighest(NULL,0,MODE_HIGH,ShiftFast,pw-ShiftFast)])
       {
          if(
    iHigh(NULL,0,pw)>=High[iHighest(NULL,0,MODE_HIGH,ShiftFast,pw+1)])
          {
             for(
    int Apw=pw-ShiftFast;Apw>=pw-(PeriodPV-ShiftFast);Apw--)
             if(
    iHigh(NULL,0,pw)==High[iHighest(NULL,0,MODE_HIGH,PeriodPV,Apw)])
             {
                
    Peak=iHigh(NULL,0,pw);
                
    bsPeak=pw;
                if(
    ObjectFind(0,"Peak Period: "+IntegerToString(PeakValley_Period)+" Time: "+TimeToStr(iTime(NULL,0,pw),TIME_DATE|TIME_MINUTES))==-1)
                {
                   
    string objPeak "Peak Period: "+IntegerToString(PeakValley_Period)+" Time: "+TimeToStr(iTime(NULL,0,pw),TIME_DATE|TIME_MINUTES);
                   
    ObjectDelete(objPeak);
                   
    ObjectCreate(objPeakOBJ_ARROW0iTime(NULL,0,pw), iHigh(NULL,0,pw));
                   
    ObjectSet(objPeakOBJPROP_COLORpeak_color);
                   
    ObjectSet(objPeakOBJPROP_ARROWCODE117);
                   
    ObjectSet(objPeakOBJPROP_WIDTH1);
                   
    ObjectSet(objPeakOBJPROP_BACKtrue);
                }
                break;
             }
             if(
    bsPeak>0)break;else continue;   
          }
       }
       
       return(
    Peak);
    }

    //====================================================================
    // calculate valley
    double valley_function(int i,int PeriodPV,int ShiftFast,int DomainPV)
    {
       
    double Valley=0;
       
    int bsValley=0;
       
       for(
    int vw=i+ShiftFast;vw<=i+DomainPV;vw++)
       if(
    iLow(NULL,0,vw)<=Low[iLowest(NULL,0,MODE_LOW,ShiftFast,vw-ShiftFast)])
       {
          if(
    iLow(NULL,0,vw)<=Low[iLowest(NULL,0,MODE_LOW,ShiftFast,vw+1)])
          {
             for(
    int Avw=vw-ShiftFast;Avw>=vw-(PeriodPV-ShiftFast);Avw--)
             if(
    iLow(NULL,0,vw)==Low[iLowest(NULL,0,MODE_LOW,PeriodPV,Avw)])
             {
                
    Valley=iLow(NULL,0,vw);
                
    bsValley=vw;
                if(
    ObjectFind(0,"Valley Period: "+IntegerToString(PeakValley_Period)+" Time: "+TimeToStr(iTime(NULL,0,vw),TIME_DATE|TIME_MINUTES))==-1)
                {
                   
    string objValley "Valley Period: "+IntegerToString(PeakValley_Period)+" Time: "+TimeToStr(iTime(NULL,0,vw),TIME_DATE|TIME_MINUTES);
                   
    ObjectDelete(objValley);
                   
    ObjectCreate(objValleyOBJ_ARROW0iTime(NULL,0,vw), iLow(NULL,0,vw));
                   
    ObjectSet(objValleyOBJPROP_COLORvalley_color);
                   
    ObjectSet(objValleyOBJPROP_ARROWCODE117);
                   
    ObjectSet(objValleyOBJPROP_WIDTH1);
                   
    ObjectSet(objValleyOBJPROP_BACKtrue);
                }
                break;
             }
             if(
    bsValley>0)break;else continue;      
          }
       }
       
       return(
    Valley);

    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 580.png‏  

  9. #9
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    اذا غيرت الفريم يفترض ينظف التشارت وكانه لايوجد اكسبيرت 0 -بايت
    لذا ضغطة بالماوس على التشارت يفعله فقط 0.1 ثانية ثم يصبح بعدها 0-بايت

  10. #10
    الصورة الرمزية mohamedfx2005
    mohamedfx2005 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2012
    الإقامة
    الجزائر
    المشاركات
    118

    افتراضي

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

  11. #11
    الصورة الرمزية mohamedfx2005
    mohamedfx2005 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2012
    الإقامة
    الجزائر
    المشاركات
    118

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة فيلسوف البادية مشاهدة المشاركة
    يحفظ تحت خبير--لانه ليس مؤشر أساساًَ
    كل مرة تريد تحديث--ضغطة ماوس على التشارت
    كود PHP:

    extern int PeakValley_Period
    =24;
    extern int FastShift=7;
    input color peak_color=clrLime;
    input color valley_color=clrOrange;

    int OnInit(){   return(INIT_SUCCEEDED);}

    void OnDeinit(const int reason)
    {
       
    ObjectsDeleteAll();
    }

    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+

    void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
    {
       if(
    id==CHARTEVENT_CLICK)
       {
       
    double PeakBuffer[],ValleyBuffer[];
       
    double PVDomain=PeakValley_Period*5;
       
    int i;
       
    int TotalBar=Bars-PVDomain;
       
    ArrayResize(PeakBuffer,TotalBar);
       
    ArrayResize(ValleyBuffer,TotalBar);
       for(
    i=0i<TotalBari++)
       {
          
    PeakBuffer[i]=peak_function(i,PeakValley_Period,FastShift,PVDomain);
          
    ValleyBuffer[i]=valley_function(i,PeakValley_Period,FastShift,PVDomain);
       }
      }
      }
    //+------------------------------------------------------------------+

    //====================================================================
    // calculate peak
    double peak_function(int i,int PeriodPV,int ShiftFast,int DomainPV)
    {
       
    double Peak=0;
       
    int bsPeak=0;
       
       for(
    int pw=i+ShiftFast;pw<=i+DomainPV;pw++)
       if(
    iHigh(NULL,0,pw)>=High[iHighest(NULL,0,MODE_HIGH,ShiftFast,pw-ShiftFast)])
       {
          if(
    iHigh(NULL,0,pw)>=High[iHighest(NULL,0,MODE_HIGH,ShiftFast,pw+1)])
          {
             for(
    int Apw=pw-ShiftFast;Apw>=pw-(PeriodPV-ShiftFast);Apw--)
             if(
    iHigh(NULL,0,pw)==High[iHighest(NULL,0,MODE_HIGH,PeriodPV,Apw)])
             {
                
    Peak=iHigh(NULL,0,pw);
                
    bsPeak=pw;
                if(
    ObjectFind(0,"Peak Period: "+IntegerToString(PeakValley_Period)+" Time: "+TimeToStr(iTime(NULL,0,pw),TIME_DATE|TIME_MINUTES))==-1)
                {
                   
    string objPeak "Peak Period: "+IntegerToString(PeakValley_Period)+" Time: "+TimeToStr(iTime(NULL,0,pw),TIME_DATE|TIME_MINUTES);
                   
    ObjectDelete(objPeak);
                   
    ObjectCreate(objPeakOBJ_ARROW0iTime(NULL,0,pw), iHigh(NULL,0,pw));
                   
    ObjectSet(objPeakOBJPROP_COLORpeak_color);
                   
    ObjectSet(objPeakOBJPROP_ARROWCODE117);
                   
    ObjectSet(objPeakOBJPROP_WIDTH1);
                   
    ObjectSet(objPeakOBJPROP_BACKtrue);
                }
                break;
             }
             if(
    bsPeak>0)break;else continue;   
          }
       }
       
       return(
    Peak);
    }

    //====================================================================
    // calculate valley
    double valley_function(int i,int PeriodPV,int ShiftFast,int DomainPV)
    {
       
    double Valley=0;
       
    int bsValley=0;
       
       for(
    int vw=i+ShiftFast;vw<=i+DomainPV;vw++)
       if(
    iLow(NULL,0,vw)<=Low[iLowest(NULL,0,MODE_LOW,ShiftFast,vw-ShiftFast)])
       {
          if(
    iLow(NULL,0,vw)<=Low[iLowest(NULL,0,MODE_LOW,ShiftFast,vw+1)])
          {
             for(
    int Avw=vw-ShiftFast;Avw>=vw-(PeriodPV-ShiftFast);Avw--)
             if(
    iLow(NULL,0,vw)==Low[iLowest(NULL,0,MODE_LOW,PeriodPV,Avw)])
             {
                
    Valley=iLow(NULL,0,vw);
                
    bsValley=vw;
                if(
    ObjectFind(0,"Valley Period: "+IntegerToString(PeakValley_Period)+" Time: "+TimeToStr(iTime(NULL,0,vw),TIME_DATE|TIME_MINUTES))==-1)
                {
                   
    string objValley "Valley Period: "+IntegerToString(PeakValley_Period)+" Time: "+TimeToStr(iTime(NULL,0,vw),TIME_DATE|TIME_MINUTES);
                   
    ObjectDelete(objValley);
                   
    ObjectCreate(objValleyOBJ_ARROW0iTime(NULL,0,vw), iLow(NULL,0,vw));
                   
    ObjectSet(objValleyOBJPROP_COLORvalley_color);
                   
    ObjectSet(objValleyOBJPROP_ARROWCODE117);
                   
    ObjectSet(objValleyOBJPROP_WIDTH1);
                   
    ObjectSet(objValleyOBJPROP_BACKtrue);
                }
                break;
             }
             if(
    bsValley>0)break;else continue;      
          }
       }
       
       return(
    Valley);

    بارك الله فيك يا فيلسوفنا

    جاري التجربة

    كل ودي واحترامي

  12. #12
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

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

  13. #13
    الصورة الرمزية mohamedfx2005
    mohamedfx2005 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2012
    الإقامة
    الجزائر
    المشاركات
    118

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة فيلسوف البادية مشاهدة المشاركة
    تستطيع اخي من قلب البرنامج--ومنها اجلعها متغيرات خارجية
    السلام عليكم ورحمة الله

    لم استطع تغيير الفراكتلز من قلب البرنامج

    وبالنسبة للاكسبرت هل يجب مع اغلاق كل شمعة تغيير التايم فريم والرجوع للتحديث لانني لاحضت انه لم يرسم نقطة الا بعد تغيير التايم فريم

  14. #14
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    كل مرة تريد تحديث--ضغطة ماوس على التشارت
    ===============
    اذا غيرت الفريم يفترض ينظف التشارت وكانه لايوجد اكسبيرت 0 -بايت
    ===
    مكتوبة بالعربي

  15. #15
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    اذا تريده الي وعندك قدرة لتحمل الضغط---شيل ONCHARTEBENT واكتب مكانها ONTICK

صفحة 1 من 5 12345 الأخيرةالأخيرة

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