صفحة 559 من 686 الأولىالأولى ... 59459509549553554555556557558559560561562563564565569609659 ... الأخيرةالأخيرة
النتائج 8,371 إلى 8,385 من 10285
  1. #8371
    الصورة الرمزية ali_shadi
    ali_shadi غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2016
    الإقامة
    السويد
    العمر
    28
    المشاركات
    367

    افتراضي

    السلام عليكم اخي اسامة

    هل يمكن ان احدد على شمعة الاربع ساعات او الديلي هاي او للو شمعة الدقيقة ايهما سبق ...

    يعني لدي شمعة للاربع ساعات نازلة ويكون السعر صعد اولا ثم نزل كيف اعرف دلك ... اقصد برمجيا

  2. #8372
    الصورة الرمزية ali_shadi
    ali_shadi غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2016
    الإقامة
    السويد
    العمر
    28
    المشاركات
    367

    افتراضي

    السلام عليكم اخي اسامة

    سؤال اخر واعتدر على الزعاج

    عندما نشتغل على مؤشر عادة نستعمل اما الهاي او اللو الاغلاق او الافتتاح كيف اجعل المؤشر يمر على جميع التكات

    ءاريت يكون السؤال واضح

    تحياتي لك اخي الكريم

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة ali_shadi مشاهدة المشاركة
    السلام عليكم اخي اسامة

    هل يمكن ان احدد على شمعة الاربع ساعات او الديلي هاي او للو شمعة الدقيقة ايهما سبق ...

    يعني لدي شمعة للاربع ساعات نازلة ويكون السعر صعد اولا ثم نزل كيف اعرف دلك ... اقصد برمجيا
    الخوارزم:
    1) تسجل تاريخ بدء الشمعة على الاربع ساعات
    2) تسجيل تاريخ نهاية الشمعة (يعني بدء الشمعة بعدها)
    فهذا جسد شمعة الاربع ساعات زمنيا

    3) تذهب الى فريم 1 دقيقة
    4) تحول تاريخ البدء الى رقم البارة
    5) تحاول تاريخ النهاية الى رقم بارة
    فيصبح لديك رقمين
    5) تستخدم دوال اكتشاف الهاي او اللو بين الرقمين
    -
    6) رقم بارة الهاي و بارة اللو -- تقارن بينهم ومنها تعرف ايهما سبق.

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

    افتراضي


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

    افتراضي

    ضعه على اربع ساعات واضغط اي شمعة
    ثم غير فريم دقيقة لتتأكد--- مع فريم دقيقة سيلغي مفعول الضغط ولن تتغير القيم.
    للشموع البعيدة اتي باانات 1 ديقة غر متاحة ممكن تغير من دقيقة الى ربع ساعة الى نصف ساعة الى ساعة - مع تعديل مايلزم
    كود PHP:
    int OnInit()
      {
       
    EventSetTimer(1);
       return(
    INIT_SUCCEEDED);
      }
    double high;
    double low;;
    void OnTimer()
    {
       
    int j =  bar_1M_Frame_Start;
       
    int k =  bar_1M_Frame_E_N_D;
       
    high  =  iHigh(NULLPERIOD_M1,   bar_1M_Frame_Start);
       
    low   =  iLow (NULLPERIOD_M1,   bar_1M_Frame_E_N_D);
       
    int iH=bar_1M_Frame_Start;
       
    int iL=bar_1M_Frame_Start;
       for(
    int i=j;i>k;i--)
       {
          if(
    high<iHigh(NULLPERIOD_M1,   i))
          {
             
    high=iHigh(NULLPERIOD_M1,   i);
             
    iH=i;      
          }
          if(
    low>iLow (NULLPERIOD_M1,   i))
          {
             
    low=iHigh(NULLPERIOD_M1,   i);
             
    iL=i;      
          }
       }
             if(
    iH>iLstring  aa="HighFirst";
       else  if(
    iH<iL)         aa="LowxFirst";
       else  if(
    iH==iL)        aa="@sameCandle";
       else                    
    aa="ambiguous";
          
       
    ObjectCreate"aa",OBJ_LABEL,0,0,0);   
       
    ObjectSet(    "aa",OBJPROP_CORNER,0);
       
    ObjectSet(    "aa",OBJPROP_XDISTANCE,0);
       
    ObjectSet(    "aa",OBJPROP_YDISTANCE,60);
       
    ObjectSetText("aa",aa,13,"TAHOMA",clrLime);

          
       
    ObjectCreate"high",OBJ_LABEL,0,0,0);   
       
    ObjectSet(    "high",OBJPROP_CORNER,0);
       
    ObjectSet(    "high",OBJPROP_XDISTANCE,0);
       
    ObjectSet(    "high",OBJPROP_YDISTANCE,20);
       
    ObjectSetText("high","H: "+DoubleToStr(high,MarketInfo(NULL,MODE_DIGITS))+"@"+TimeToStr(iTime(NULL,PERIOD_M1,iH),TIME_DATE|TIME_MINUTES),13,"TAHOMA",clrLime);
       
    ObjectCreate"low",OBJ_LABEL,0,0,0);   
       
    ObjectSet(    "low",OBJPROP_CORNER,0);
       
    ObjectSet(    "low",OBJPROP_XDISTANCE,0);
       
    ObjectSet(    "low",OBJPROP_YDISTANCE,40);
       
    ObjectSetText("low","L: "+DoubleToStr(low,MarketInfo(NULL,MODE_DIGITS))+"@"+TimeToStr(iTime(NULL,PERIOD_M1,iL),TIME_DATE|TIME_MINUTES),13,"TAHOMA",clrOrange);
       
    }
    //+------------------------------------------------------------------+
    //| ChartEvent function                                              |
    ///////////////////////////////////////////////////////////////////
    int bar_1M_Frame_Start;
    int barThisFrame_Start;
    int bar_1M_Frame_E_N_D;
    int barThisFrame_E_N_D;

    void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
    {
       if(
    id==CHARTEVENT_CLICK)
       {
          
    //--- Prepare variables
          
    if(Period()>PERIOD_M1)
          {
          
    int      x     =(int)lparam;
          
    int      y     =(int)dparam;
          
    datetime dt    =0;
          
    double   price =0;
          
    int      window=0;
          
    //--- Convert the X and Y coordinates in terms of date/time
          
    if(ChartXYToTimePrice(0,x,y,window,dt,price))
          {

             
    bar_1M_Frame_Start=iBarShift(NULL,PERIOD_M1,dt);
             
    barThisFrame_Start=iBarShift(NULL,0,dt);
             
    barThisFrame_E_N_D=iBarShift(NULL,0,dt)-1;
             
    dt=iTime(NULL,0,barThisFrame_E_N_D);
             
    bar_1M_Frame_E_N_D=iBarShift(NULL,PERIOD_M1,dt);
             }
       }
       }   
      }
    //+------------------------------------------------------------------+ 
    آخر تعديل بواسطة فيلسوف البادية ، 30-07-2017 الساعة 01:12 PM

  6. #8376
    الصورة الرمزية ali_shadi
    ali_shadi غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2016
    الإقامة
    السويد
    العمر
    28
    المشاركات
    367

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة فيلسوف البادية مشاهدة المشاركة
    السلام عليكم

    مبدع اخي فيلسوف جزاك الله كل خير ومتعك واهلك بالصحة والعافية

  7. #8377
    الصورة الرمزية mohamed2012
    mohamed2012 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2016
    الإقامة
    مصر
    المشاركات
    66

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    إستخدم الداله ObjectCreate لكتابة النص على الشارت
    مثال
    كود PHP:
    void CreateText(string name,string text,datetime time,double price,color col)
      {
       if(
    ObjectFind(name)==-1)
         {
          
    ObjectCreate(name,OBJ_TEXT,0,time,price);
          
    ObjectSet(name,OBJPROP_COLOR,col);
          
    ObjectSetText(name,text,9,"Arial Bold",col);
         }

      } 
    ثم سيكون الكود كمثال
    كود PHP:
    CreateText("text1",DoubleToStr(Text,0),Time[i],Low[i],White); 

    شكرا أستاذ أسامة جزاك الله خيرا

    عندى مشكلة أرجوا ان تطلعنى ما الخطأ فى الكود التالى حيث ان (SetIndexBuffer(2,trend_Up وايضا( SetIndexBuffer(3,trend_Dn لا تظهر على الشارت

    كود:
     #property indicator_chart_window
    #property indicator_buffers 4
    #property indicator_color1 Lime
    #property indicator_color2 Red
    #property indicator_color3 Lime
    #property indicator_color4 Red
    input int  PeriodEnve         = 14;
    input ENUM_MA_METHOD Method   =  0; 
    input int    period           = 14;         
    input double deviation      = 0.2; 
    input bool FirstSignalFilter =true;
    input bool Enable_Alert       =true;
    input bool Send_Notifications =false;
    input bool Send_Mail          =false;
    
    double pvi[];
    double bandUp[];
    double bandDn[];
    double trend_Up [];
    double trend_Dn [];
    double swing_Up [];
    double swing_Dn [];
    datetime Timee;
    int LastSignal;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function                         |
    //+------------------------------------------------------------------+
    int OnInit()
      {
       IndicatorDigits(2); 
       IndicatorBuffers(7);    
       SetIndexBuffer(0,swing_Up );
       SetIndexStyle(0,DRAW_ARROW);
       SetIndexArrow(0,164);  
       SetIndexBuffer(1,swing_Dn );
       SetIndexStyle(1,DRAW_ARROW);
       SetIndexArrow(1,164);  
       SetIndexBuffer(2,trend_Up );
       SetIndexStyle(2,DRAW_ARROW);
       SetIndexArrow(2,221);   
       SetIndexBuffer(3,trend_Dn );
       SetIndexStyle(3,DRAW_ARROW);
       SetIndexArrow(3,222);   
       SetIndexBuffer(4,pvi );
       SetIndexBuffer(5,bandUp );
       SetIndexBuffer(6,bandDn ); 
       return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function                              |
    //+------------------------------------------------------------------+
    int OnCalculate(const int rates_total,
                    const int prev_calculated,
                    const datetime &time[],
                    const double &open[],
                    const double &high[],
                    const double &low[],
                    const double &close[],
                    const long &tick_volume[],
                    const long &volume[],
                    const int &spread[])
      {
     double iatr = iATR(Symbol(), 0, 50, 1);
     
       int counted_bars=IndicatorCounted();
          if(counted_bars<0) return(-1);
          if(counted_bars>0) counted_bars--;
           int   limit =Bars-100;
       double  vol0, vol1;
       double  PVI=1;         
       double  close0,close1;
       for (int i=limit; i>=0; i--)
       {
          vol1=Volume[i+1]; 
          vol0=Volume[i];   
          close1=Close[i+1]; 
          close0=Close[i];  
          if (vol0>vol1)  PVI=PVI+((close0-close1)/(close1*PVI));
          if (vol0<=vol1) PVI=PVI ;                             
     
          pvi[i]=PVI;     
       }
     
      for (int i=limit; i>=0; i--)
       { 
          bandUp[i] = iEnvelopesOnArray(pvi,0,PeriodEnve,Method,0,deviation,MODE_UPPER,i);
          bandDn[i] = iEnvelopesOnArray(pvi,0,PeriodEnve,Method,0,deviation,MODE_LOWER,i);
             
        if (pvi [i] > bandUp[i] &&(LastSignal!=1||!FirstSignalFilter)) 
         {
        swing_Up[i] = Low[i] - iatr /2.0;
        LastSignal=1;
        if(Timee!=Time[0]&&i==1)
        {
         if(Enable_Alert)Alert("swing Arrow Up"+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Mail)SendMail("swing Arrow Up","swing Arrow Up "+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Notifications)SendNotification("swing Arrow Up "+Symbol()+" TF: "+TimeFrame(Period()));
         Timee=Time[0];
        }
       }
        if (pvi[i] < bandDn[i]&&(LastSignal!=-1||!FirstSignalFilter))
        {
        swing_Dn[i] = High[i] + iatr /2.0;
        LastSignal=-1;
        if(Timee!=Time[0]&&i==1)
        {
         if(Enable_Alert)Alert("swing Arrow Down"+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Mail)SendMail("swing Arrow Down","swing Arrow Down "+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Notifications)SendNotification("swing Arrow Down "+Symbol()+" TF: "+TimeFrame(Period()));
         Timee=Time[0];
        }
       } 
       }    
     //----------------------------------------------------------------------------------------------------------------- 
       for (int i=limit; i>=0; i--)
       {
       double  mfi1   =   iMFI(Symbol(), 0,period,i);
       double  mfi2  =    iMFI(Symbol(), 0,period,i+1);  
       if ( mfi2 <25 && mfi1 >25 && pvi[i] > bandUp[i] &&(LastSignal!=1||!FirstSignalFilter)) 
         {
        trend_Up[i] = Low[i] - iatr /2.0;
        LastSignal=1;
        if(Timee!=Time[0]&&i==1)
        {
         if(Enable_Alert)Alert("trend Arrow Up"+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Mail)SendMail("trend Arrow Up","trend Arrow Up "+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Notifications)SendNotification("trend Arrow Up "+Symbol()+" TF: "+TimeFrame(Period()));
         Timee=Time[0];
        }
       }
        if ( mfi2 >75 &&  mfi1 <75&& pvi[i] < bandDn[i]&&(LastSignal!=-1||!FirstSignalFilter))
        {
        trend_Dn[i] = High[i] + iatr /2.0;
        LastSignal=-1;
        if(Timee!=Time[0]&&i==1)
        {
         if(Enable_Alert)Alert("trend Arrow Down"+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Mail)SendMail("trend Arrow Down","trend Arrow Down "+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Notifications)SendNotification("trend Arrow Down "+Symbol()+" TF: "+TimeFrame(Period()));
         Timee=Time[0];
        }
       }      
       }
      
       return(rates_total);
      }
    //------------------------------------------------------------------
    string TimeFrame(int TF)
     {
      if(TF==1)return("M1");
      else if(TF==5)return("M5");
      else if(TF==15)return("M15");
      else if(TF==30)return("M30");
      else if(TF==60)return("H1");
      else if(TF==240)return("H4");
      else if(TF==1440)return("D1");
      else if(TF==10080)return("W1");
      else if(TF==43200)return("MN");
      else return("");
     }
    شكرا لك
    آخر تعديل بواسطة mohamed2012 ، 31-07-2017 الساعة 06:32 PM

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

    افتراضي

    تظهر كلها
    غيرها الى اربعة الوان بدل لونين لكي تميزها

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

    افتراضي

    void OnTimer()
    {
    int j = bar_1M_Frame_Start;
    int k = bar_1M_Frame_E_N_D;
    high = iHigh(NULL, PERIOD_M1, bar_1M_Frame_Start);
    low = iLow (NULL, PERIOD_M1, bar_1M_Frame_E_N_D);


    صحح هذا الخطأ الى:
    low = iLow (NULL, PERIOD_M1, bar_1M_Frame_Start);

  10. #8380
    الصورة الرمزية mohamed2012
    mohamed2012 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2016
    الإقامة
    مصر
    المشاركات
    66

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة mohamed2012 مشاهدة المشاركة
    شكرا أستاذ أسامة جزاك الله خيرا

    عندى مشكلة أرجوا ان تطلعنى ما الخطأ فى الكود التالى حيث ان (SetIndexBuffer(2,trend_Up وايضا( SetIndexBuffer(3,trend_Dn لا تظهر على الشارت

    كود:
     #property indicator_chart_window
    #property indicator_buffers 4
    #property indicator_color1 Lime
    #property indicator_color2 Red
    #property indicator_color3 Lime
    #property indicator_color4 Red
    input int  PeriodEnve         = 14;
    input ENUM_MA_METHOD Method   =  0; 
    input int    period           = 14;         
    input double deviation      = 0.2; 
    input bool FirstSignalFilter =true;
    input bool Enable_Alert       =true;
    input bool Send_Notifications =false;
    input bool Send_Mail          =false;
    
    double pvi[];
    double bandUp[];
    double bandDn[];
    double trend_Up [];
    double trend_Dn [];
    double swing_Up [];
    double swing_Dn [];
    datetime Timee;
    int LastSignal;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function                         |
    //+------------------------------------------------------------------+
    int OnInit()
      {
       IndicatorDigits(2); 
       IndicatorBuffers(7);    
       SetIndexBuffer(0,swing_Up );
       SetIndexStyle(0,DRAW_ARROW);
       SetIndexArrow(0,164);  
       SetIndexBuffer(1,swing_Dn );
       SetIndexStyle(1,DRAW_ARROW);
       SetIndexArrow(1,164);  
       SetIndexBuffer(2,trend_Up );
       SetIndexStyle(2,DRAW_ARROW);
       SetIndexArrow(2,221);   
       SetIndexBuffer(3,trend_Dn );
       SetIndexStyle(3,DRAW_ARROW);
       SetIndexArrow(3,222);   
       SetIndexBuffer(4,pvi );
       SetIndexBuffer(5,bandUp );
       SetIndexBuffer(6,bandDn ); 
       return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function                              |
    //+------------------------------------------------------------------+
    int OnCalculate(const int rates_total,
                    const int prev_calculated,
                    const datetime &time[],
                    const double &open[],
                    const double &high[],
                    const double &low[],
                    const double &close[],
                    const long &tick_volume[],
                    const long &volume[],
                    const int &spread[])
      {
     double iatr = iATR(Symbol(), 0, 50, 1);
     
       int counted_bars=IndicatorCounted();
          if(counted_bars<0) return(-1);
          if(counted_bars>0) counted_bars--;
           int   limit =Bars-100;
       double  vol0, vol1;
       double  PVI=1;         
       double  close0,close1;
       for (int i=limit; i>=0; i--)
       {
          vol1=Volume[i+1]; 
          vol0=Volume[i];   
          close1=Close[i+1]; 
          close0=Close[i];  
          if (vol0>vol1)  PVI=PVI+((close0-close1)/(close1*PVI));
          if (vol0<=vol1) PVI=PVI ;                             
     
          pvi[i]=PVI;     
       }
     
      for (int i=limit; i>=0; i--)
       { 
          bandUp[i] = iEnvelopesOnArray(pvi,0,PeriodEnve,Method,0,deviation,MODE_UPPER,i);
          bandDn[i] = iEnvelopesOnArray(pvi,0,PeriodEnve,Method,0,deviation,MODE_LOWER,i);
             
        if (pvi [i] > bandUp[i] &&(LastSignal!=1||!FirstSignalFilter)) 
         {
        swing_Up[i] = Low[i] - iatr /2.0;
        LastSignal=1;
        if(Timee!=Time[0]&&i==1)
        {
         if(Enable_Alert)Alert("swing Arrow Up"+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Mail)SendMail("swing Arrow Up","swing Arrow Up "+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Notifications)SendNotification("swing Arrow Up "+Symbol()+" TF: "+TimeFrame(Period()));
         Timee=Time[0];
        }
       }
        if (pvi[i] < bandDn[i]&&(LastSignal!=-1||!FirstSignalFilter))
        {
        swing_Dn[i] = High[i] + iatr /2.0;
        LastSignal=-1;
        if(Timee!=Time[0]&&i==1)
        {
         if(Enable_Alert)Alert("swing Arrow Down"+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Mail)SendMail("swing Arrow Down","swing Arrow Down "+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Notifications)SendNotification("swing Arrow Down "+Symbol()+" TF: "+TimeFrame(Period()));
         Timee=Time[0];
        }
       } 
       }    
     //----------------------------------------------------------------------------------------------------------------- 
       for (int i=limit; i>=0; i--)
       {
       double  mfi1   =   iMFI(Symbol(), 0,period,i);
       double  mfi2  =    iMFI(Symbol(), 0,period,i+1);  
       if ( mfi2 <25 && mfi1 >25 && pvi[i] > bandUp[i] &&(LastSignal!=1||!FirstSignalFilter)) 
         {
        trend_Up[i] = Low[i] - iatr /2.0;
        LastSignal=1;
        if(Timee!=Time[0]&&i==1)
        {
         if(Enable_Alert)Alert("trend Arrow Up"+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Mail)SendMail("trend Arrow Up","trend Arrow Up "+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Notifications)SendNotification("trend Arrow Up "+Symbol()+" TF: "+TimeFrame(Period()));
         Timee=Time[0];
        }
       }
        if ( mfi2 >75 &&  mfi1 <75&& pvi[i] < bandDn[i]&&(LastSignal!=-1||!FirstSignalFilter))
        {
        trend_Dn[i] = High[i] + iatr /2.0;
        LastSignal=-1;
        if(Timee!=Time[0]&&i==1)
        {
         if(Enable_Alert)Alert("trend Arrow Down"+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Mail)SendMail("trend Arrow Down","trend Arrow Down "+Symbol()+" TF: "+TimeFrame(Period()));
         if(Send_Notifications)SendNotification("trend Arrow Down "+Symbol()+" TF: "+TimeFrame(Period()));
         Timee=Time[0];
        }
       }      
       }
      
       return(rates_total);
      }
    //------------------------------------------------------------------
    string TimeFrame(int TF)
     {
      if(TF==1)return("M1");
      else if(TF==5)return("M5");
      else if(TF==15)return("M15");
      else if(TF==30)return("M30");
      else if(TF==60)return("H1");
      else if(TF==240)return("H4");
      else if(TF==1440)return("D1");
      else if(TF==10080)return("W1");
      else if(TF==43200)return("MN");
      else return("");
     }
    شكرا لك
    اعتقد استاذ أسامة أنى عرفت أين المشكلة لكن لم استطيع كتابة الكود الخاص بها

    وهى أن (SetIndexBuffer(2,trend_Up لكى يتحقق شرطها لا بد ان تكون (SetIndexBuffer(0,swing_Up هى اخر ظهور لها على الشارت وتمثل حالة الشراء

    وايضا ( SetIndexBuffer(3,trend_Dn لكى يتحقق شرطها لا بد ان تكون (SetIndexBuffer(1,swing_Dn هى أخر ظهور لها على الشارت وتمثل حالة البيع

    بمعنى أوضح أخر أشارة لما تكون شراء يتحقق شرط trend_up , واخر اشارة تكون بيع يتحقق شرط trend_dn

    ويسبقهم الشرط الاساسى لمؤشر mfi كما هو موضح بالكود

    كود:
      if ( mfi2 <25 && mfi1 >25 && pvi[i] > bandUp[i] &&(LastSignal!=1||!FirstSignalFilter)) 
         {
        trend_Up[i] = Low[i] - iatr /2.0;
        LastSignal=1;
    كود:
      if ( mfi2 >75 &&  mfi1 <75&& pvi[i] < bandDn[i]&&(LastSignal!=-1||!FirstSignalFilter))
        {
        trend_Dn[i] = High[i] + iatr /2.0;
        LastSignal=-1;
    وشكرا لك أستاذ أسامة

  11. #8381
    الصورة الرمزية mohamed2012
    mohamed2012 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2016
    الإقامة
    مصر
    المشاركات
    66

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة فيلسوف البادية مشاهدة المشاركة
    تظهر كلها
    غيرها الى اربعة الوان بدل لونين لكي تميزها
    أشكرك يا أخى على اهتمامك , اعرف جيدا ذلك ,لكن أريد شرط مختلف جزاك الله خير

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة mohamed2012 مشاهدة المشاركة
    اعتقد استاذ أسامة أنى عرفت أين المشكلة لكن لم استطيع كتابة الكود الخاص بها

    وهى أن (SetIndexBuffer(2,trend_Up لكى يتحقق شرطها لا بد ان تكون (SetIndexBuffer(0,swing_Up هى اخر ظهور لها على الشارت وتمثل حالة الشراء

    وايضا ( SetIndexBuffer(3,trend_Dn لكى يتحقق شرطها لا بد ان تكون (SetIndexBuffer(1,swing_Dn هى أخر ظهور لها على الشارت وتمثل حالة البيع

    بمعنى أوضح أخر أشارة لما تكون شراء يتحقق شرط trend_up , واخر اشارة تكون بيع يتحقق شرط trend_dn

    ويسبقهم الشرط الاساسى لمؤشر mfi كما هو موضح بالكود

    كود:
      if ( mfi2 <25 && mfi1 >25 && pvi[i] > bandUp[i] &&(LastSignal!=1||!FirstSignalFilter)) 
         {
        trend_Up[i] = Low[i] - iatr /2.0;
        LastSignal=1;
    كود:
      if ( mfi2 >75 &&  mfi1 <75&& pvi[i] < bandDn[i]&&(LastSignal!=-1||!FirstSignalFilter))
        {
        trend_Dn[i] = High[i] + iatr /2.0;
        LastSignal=-1;
    وشكرا لك أستاذ أسامة
    بدلا من إستخدام المتغير LastSignal في شرط المقارنه إستخدم المصفوفه نفسها لمعرفة آخر إشارة كانت بيع أو شراء
    مثال
    كود PHP:
      int CheckLastSignal(int shift)
       {
        for(
    int i=shift;i<Bars;i++)
        {
         if( 
    swing_Up[i]!=EMPTY_VALUE)return(1);
         if(
    swing_Dn[i]!=EMPTY_VALUE)return(-1);
        }
        return(
    0);
       } 
    ثم ستكون المقارنه
    كود PHP:
    if ( mfi2 <25 && mfi1 >25 && pvi[i] > bandUp[i] &&(CheckLastSignal(i)!=1||!FirstSignalFilter)) 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  13. #8383
    الصورة الرمزية mohamed2012
    mohamed2012 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2016
    الإقامة
    مصر
    المشاركات
    66

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    بدلا من إستخدام المتغير LastSignal في شرط المقارنه إستخدم المصفوفه نفسها لمعرفة آخر إشارة كانت بيع أو شراء
    مثال
    كود PHP:
      int CheckLastSignal(int shift)
       {
        for(
    int i=shift;i<Bars;i++)
        {
         if( 
    swing_Up[i]!=EMPTY_VALUE)return(1);
         if(
    swing_Dn[i]!=EMPTY_VALUE)return(-1);
        }
        return(
    0);
       } 
    ثم ستكون المقارنه
    كود PHP:
    if ( mfi2 <25 && mfi1 >25 && pvi[i] > bandUp[i] &&(CheckLastSignal(i)!=1||!FirstSignalFilter)) 
    اعتذر لك أستاذ اسامة وأثقلت عليك ممكن أن تصلح الكود أين أضعها حاولت مرارا وظهرت أخطاء , وهل لا بد أن أحذف الحلقة for

    شكرا لك أستاذ أسامة
    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة mohamed2012 ، 01-08-2017 الساعة 08:32 PM

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة mohamed2012 مشاهدة المشاركة
    اعتذر لك أستاذ اسامة وأثقلت عليك ممكن أن تصلح الكود أين أضعها حاولت مرارا وظهرت أخطاء , وهل لا بد أن أحذف الحلقة for

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

  15. #8385
    الصورة الرمزية mohamed2012
    mohamed2012 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2016
    الإقامة
    مصر
    المشاركات
    66

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    الخطأ لديك في تعريف الداله CheckLastSignal فلا يمكن تعريف دالة بداخل دالة أخرى
    قم بتعريفها خارج الداله OnCalculate
    أشكرك أستاذ أسامة بارك الله فيك

المواضيع المتشابهه

  1. موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
    By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 11
    آخر مشاركة: 15-12-2023, 02:03 PM
  2. عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
    By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملات
    مشاركات: 280
    آخر مشاركة: 27-08-2009, 10:30 PM

الاوسمة لهذا الموضوع


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