عرض مشاركة واحدة
قديم 01-02-2014, 04:19 PM   المشاركة رقم: 253
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

البيانات
تاريخ التسجيل: Apr 2012
رقم العضوية: 9148
الدولة: alexandria - egypt
المشاركات: 5,888
بمعدل : 1.22 يوميا

الإتصالات
الحالة:
اسلام العوامى غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة Mr.Ahmed Saleh نقره لعرض الصورة في صفحة مستقلة
اضفت السطرين الى الكود و لكن نفس المشكله ماذالت قائمه ..
،،،المشكلة كانت فى swich حيث ان المتغير auto period ياخذ قيمته من ضرب ناتج swich فى maperiod وانت قمت بوضع swich اسفل المعادلة او العملية الحسابية فكانت قيمة mm دائما 0،،،

،،،تم تعديل الكود ويعمل بشكل جيد،،،

كود:
#property copyright "ahmed saleh"
#property link      "facebook"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red


 int maperiod        =20;
  int mashift         =0;
  int mamethod        =0;
  int appliedpriceto  =0;

  double mm ;
  double MaCal[];
  double auto_period;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
int period = Period();
  switch(period)
       {
       case 5:  mm=12   ;break;
       case 15: mm=4    ;break;
       case 30: mm=2    ;break;
       case 60: mm=1    ;break;
       case 240:mm=0.25 ;break;
       }

   auto_period=maperiod*mm;
       SetIndexBuffer(0,MaCal);
       SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,Red);
       SetIndexDrawBegin(0,auto_period);
       SetIndexLabel(0,"auto ma");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
  
//----
   int    counted_bars=IndicatorCounted();
       
       if (counted_bars<0)
               return(-1);
       if (counted_bars>0)
               counted_bars--;
       int uncounted_bars = Bars-counted_bars;              
     for(int i=0;i<uncounted_bars;i++)
                      
       {
      MaCal[i]= iMA(NULL,0,auto_period,mashift,mamethod,appliedpriceto,i);
       }  
//----
   return(0);
  }
//+------------------------------------------------------------------+



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #253  
قديم 01-02-2014, 04:19 PM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة Mr.Ahmed Saleh نقره لعرض الصورة في صفحة مستقلة
اضفت السطرين الى الكود و لكن نفس المشكله ماذالت قائمه ..
،،،المشكلة كانت فى swich حيث ان المتغير auto period ياخذ قيمته من ضرب ناتج swich فى maperiod وانت قمت بوضع swich اسفل المعادلة او العملية الحسابية فكانت قيمة mm دائما 0،،،

،،،تم تعديل الكود ويعمل بشكل جيد،،،

كود:
#property copyright "ahmed saleh"
#property link      "facebook"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red


 int maperiod        =20;
  int mashift         =0;
  int mamethod        =0;
  int appliedpriceto  =0;

  double mm ;
  double MaCal[];
  double auto_period;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
int period = Period();
  switch(period)
       {
       case 5:  mm=12   ;break;
       case 15: mm=4    ;break;
       case 30: mm=2    ;break;
       case 60: mm=1    ;break;
       case 240:mm=0.25 ;break;
       }

   auto_period=maperiod*mm;
       SetIndexBuffer(0,MaCal);
       SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,Red);
       SetIndexDrawBegin(0,auto_period);
       SetIndexLabel(0,"auto ma");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
  
//----
   int    counted_bars=IndicatorCounted();
       
       if (counted_bars<0)
               return(-1);
       if (counted_bars>0)
               counted_bars--;
       int uncounted_bars = Bars-counted_bars;              
     for(int i=0;i<uncounted_bars;i++)
                      
       {
      MaCal[i]= iMA(NULL,0,auto_period,mashift,mamethod,appliedpriceto,i);
       }  
//----
   return(0);
  }
//+------------------------------------------------------------------+




رد مع اقتباس