اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex

اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex (https://fx-arabia.com/vb/index.php)
-   منتدى المؤشرات و الاكسبيرتات (https://fx-arabia.com/vb/forumdisplay.php?f=6)
-   -   موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4 (https://fx-arabia.com/vb/showthread.php?t=34302)

محمد سلمان 30-01-2014 02:05 PM

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

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

وعندي طلب ممكن كود للموفنج افارج 26 سمبل كلوز لفريم اليومي
لاستخدامة في كود اكسبيرت كفلتر اتجاه الترند لفريم 4 ساعات
بمعنى العمل على 4 ساعات ولا يدخل الى تاكد من الفلتر الاتجاه على اليومي
وذا خالف الاتجاه لا يدخل

وشكرا لك

GBPJPY 31-01-2014 11:16 AM

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

Mr.Ahmed Saleh 01-02-2014 10:54 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم و رحمه الله و بركاته
------------------------------------

اولا : شكرا جدا يا استاذ اسامه على الشرح المفيد ..

ثانيا : ياريت لو فيه كتب عندك لشرحج لغه MQL4 ترفعهالنا و يكون لك جزيل الشكر .. و برضوا علشان منتعبكش ف الاسئله ....

ثالثا : يا ريت لو تكتبلى اكونت الفيس بوك بتاعك للتواصل او تضفنى على الأكونت http://www.facebook.com/ahmed.saleh7787

رابعا : انا حاليا ف نصف الدرس الثامن و عندى بعض الاسئله (ارجو ان كانت الاجابه طويله ان ترشدنى لموضوع لأستفيد منه):
-1- مش فاهم الكود ده SetIndexBuffer و لا فايدته .
-2- ليه معملناش ال for loop كدا
كود:

for(i=0,i=Bars,i++)
بدل من
كود:

for(i=0,i<uncountedbars,i++)
.. و الصراحه مش فاهم سبب الجزئيه ديه فيا ريت لو تقدر توضحهالى (وقت عرضها ف الدرس الثامن 01:03:00) .
-3- ليه بستخدم void بدل من int .. يا ريت تعريف لل void ( حضرتك قايل السبب ف الشرح بس معلش مش فاهم ) .
-4- ممكن توضيح سريح لل shift .

شكرااااا

اسلام العوامى 01-02-2014 11:38 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة محمد سلمان (المشاركة 666724)
السلام عليكم ورحمة الله وبركاته

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

وعندي طلب ممكن كود للموفنج افارج 26 سمبل كلوز لفريم اليومي
لاستخدامة في كود اكسبيرت كفلتر اتجاه الترند لفريم 4 ساعات
بمعنى العمل على 4 ساعات ولا يدخل الى تاكد من الفلتر الاتجاه على اليومي
وذا خالف الاتجاه لا يدخل

وشكرا لك

،،،بالنسبة للفيديوهات قم باختيار اعلى جودة موجودة ، اما بالنسبة للكود المطلوب قم باضافة السطر التالى فى بداية ستارت،،،
كود:


double ma26 = iMA(Symbol(),PERIOD_D1,26,0,0,0,1);

،،،وقم باستخدام المتغير ma26 بعد ذلك فى شروط البيع والشراء،،،






Mr.Ahmed Saleh 01-02-2014 12:10 PM

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

//+------------------------------------------------------------------+
//|                                                  mmma caaal.mq4 |
//|                                                      ahmed saleh |
//|                                                        facebook |
//+------------------------------------------------------------------+

#property copyright "ahmed saleh"
#property link      "facebook"

#property indicator_chart_window


 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();
  auto_period=maperiod*mm;
  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;
      }
      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);
  }
//+------------------------------------------------------------------+

الحمد لله لما بضغط compile مبلاقيش اخطاء .. بس لما بحطو على الشارت مبيشتغلش
http://im32.gulfup.com/2EK2G.jpg
.. اتمنى يكون عندك الحل .. شكرا

GBPJPY 01-02-2014 12:54 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة GBPJPY (المشاركة 667067)
السلام عليكم استاذ العوامى
سؤال برمجى
عندى مؤشر الاسهم
عايز اعرف السهم الاول
رقم كام فى الشموع وماهو نوعه صاعد او هابط
ولك الشكر والتقدير

ارجو المساعدة
قيمة السهم عند الظهور على الشمعة يكون سعر السوق
غير ذلك يكون 2345656777
رقم كبير
ارجو المساعدة
وشكرا لك

اسلام العوامى 01-02-2014 02:09 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة GBPJPY (المشاركة 667416)
ارجو المساعدة
قيمة السهم عند الظهور على الشمعة يكون سعر السوق
غير ذلك يكون 2345656777
رقم كبير
ارجو المساعدة
وشكرا لك

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

،،،نفرض ان السهم الاحمر رقمه فى الاندكس 0 والاخضر 1 فنقوم بكتابة شروط الدخول كالتالى،،،

كود:


if(red!=EMPTY_VALUE){OrderSend();}
if(green!=EMPTY_VALUE){OrderSend();}

،،،وتقوم باكمال ordersend حسب الكود الخاص بك،،،

،،،تحياتى،،،

اسلام العوامى 01-02-2014 02:21 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mr.Ahmed Saleh (المشاركة 667400)
السلام عليكم و رحمه الله و بركاته
------------------------------------

اولا : شكرا جدا يا استاذ اسلام على الشرح المفيد ..

ثانيا : ياريت لو فيه كتب عندك لشرحج لغه MQL4 ترفعهالنا و يكون لك جزيل الشكر .. و برضوا علشان منتعبكش ف الاسئله ....

ثالثا : يا ريت لو تكتبلى اكونت الفيس بوك بتاعك للتواصل او تضفنى على الأكونت http://www.facebook.com/ahmed.saleh7787

رابعا : انا حاليا ف نصف الدرس الثامن و عندى بعض الاسئله (ارجو ان كانت الاجابه طويله ان ترشدنى لموضوع لأستفيد منه):
-1- مش فاهم الكود ده SetIndexBuffer و لا فايدته .
-2- ليه معملناش ال for loop كدا
كود:

for(i=0,i=Bars,i++)
بدل من
كود:

for(i=0,i<uncountedbars,i++)
.. و الصراحه مش فاهم سبب الجزئيه ديه فيا ريت لو تقدر توضحهالى (وقت عرضها ف الدرس الثامن 01:03:00) .
-3- ليه بستخدم void بدل من int .. يا ريت تعريف لل void ( حضرتك قايل السبب ف الشرح بس معلش مش فاهم ) .
-4- ممكن توضيح سريح لل shift .

شكرااااا

،،،اهلا بك اخى الفاضل ، بالنسبة للاسئلة انا لا امل او اتعب منها ابدا ، اسئل بقدر ماشئت وستجد الاجابة باذن الله،،،

،،،بالنسبة ل setindexbuffer هى خاصة بالقيمة التى سياخذها المؤشر ، واستعملنا uncountedbars لاننا نريد الحساب على الشموع الجديدة التى تظهر فقط حتى لاتصبح الحلقة التكرارية طويلة وقد تتسبب فى عدم عمل المؤشر ، وبالنسبة لvoid فهى الوظيفة التى لاتقوم باعادة قيمة ولكن تقوم بتنفيذ امر معين فقط اى لاتجد فى اخرها return ولكن int او double او اى مسمى اخر يكون للوظائف التى تعود بقيمة ويعتمد نوع التسمية على نوع القيمة العائدة من الوظيفة،،،

اسلام العوامى 01-02-2014 02:23 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mr.Ahmed Saleh (المشاركة 667413)
انا عملت المؤشر كدا
كود:

//+------------------------------------------------------------------+
//|                                                  mmma caaal.mq4 |
//|                                                      ahmed saleh |
//|                                                        facebook |
//+------------------------------------------------------------------+

#property copyright "ahmed saleh"
#property link      "facebook"

#property indicator_chart_window


 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();
  auto_period=maperiod*mm;
  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;
      }
      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);
  }
//+------------------------------------------------------------------+

الحمد لله لما بضغط compile مبلاقيش اخطاء .. بس لما بحطو على الشارت مبيشتغلش
http://im32.gulfup.com/2EK2G.jpg
.. اتمنى يكون عندك الحل .. شكرا

،،،الكود مظبوط لكن ينقصه اضافة السطرين التاليين الى اول الكود،،،
كود:


#property indicator_buffers 1
#property indicator_color1 Red


Mr.Ahmed Saleh 01-02-2014 02:42 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 667423)


،،،الكود مظبوط لكن ينقصه اضافة السطرين التاليين الى اول الكود،،،
كود:


#property indicator_buffers 1
#property indicator_color1 Red


اضفت السطرين الى الكود و لكن نفس المشكله ماذالت قائمه ..

GBPJPY 01-02-2014 03:37 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 667421)


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

،،،نفرض ان السهم الاحمر رقمه فى الاندكس 0 والاخضر 1 فنقوم بكتابة شروط الدخول كالتالى،،،

كود:


if(red!=EMPTY_VALUE){OrderSend();}
if(green!=EMPTY_VALUE){OrderSend();}

،،،وتقوم باكمال ordersend حسب الكود الخاص بك،،،

،،،تحياتى،،،

شكرا على المساعدة
بس انا عايز اعرف طريقة معرفة السهم يظهر على شمعة رقم كام وماهو نوع الشمعة حمراء او خضراء
وشكرا لك

اسلام العوامى 01-02-2014 04:04 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة GBPJPY (المشاركة 667437)
شكرا على المساعدة
بس انا عايز اعرف طريقة معرفة السهم يظهر على شمعة رقم كام وماهو نوع الشمعة حمراء او خضراء
وشكرا لك

،،،السؤال غير واضح بالنسبة لى،،،

اسلام العوامى 01-02-2014 04:19 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mr.Ahmed Saleh (المشاركة 667427)
اضفت السطرين الى الكود و لكن نفس المشكله ماذالت قائمه ..

،،،المشكلة كانت فى 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);
  }
//+------------------------------------------------------------------+


GBPJPY 01-02-2014 04:53 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 667441)


،،،السؤال غير واضح بالنسبة لى،،،

المطلوب
طريقة كتابة كود لمعرفة
السهم موجود على شمعة رقم كام
بمعنى
السهم موجود على الشارت
والسهم الاحمر موجود على شمعة رقم 20 على فريم الساعة وسهم اخضر على شمعة رقم 25
عايز طريقة برمجية
لمعرفة ذلك مع نوع السهم بيع او شراء
وشكرا لك

GBPJPY 02-02-2014 05:11 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة GBPJPY (المشاركة 667446)
المطلوب
طريقة كتابة كود لمعرفة
السهم موجود على شمعة رقم كام
بمعنى
السهم موجود على الشارت
والسهم الاحمر موجود على شمعة رقم 20 على فريم الساعة وسهم اخضر على شمعة رقم 25
عايز طريقة برمجية
لمعرفة ذلك مع نوع السهم بيع او شراء
وشكرا لك

:1 (54)::1 (54)::1 (54):

Mr.Ahmed Saleh 03-02-2014 02:10 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
لو سمحت ف المؤشر الى ف الدرس الثامن (الموفنج افرج) انا عملت عليه التعديل ده
علشان شايف ان كدا اسهل
انا صح و لا غلط !!؟
كود:

//+------------------------------------------------------------------+
//|                                                      auto ma.mq4 |
//|                                                      ahmed saleh |
//|                                                        facebook |
//+------------------------------------------------------------------+

#property copyright "ahmed saleh"
#property link      "facebook"


#property indicator_chart_window


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

  double mm ;
  double MaCal[];
    double auto_period;

int init()
  {

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);
  }

int deinit()
  {

  return(0);
  }

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<Bars;i++)

                     
      {
      MaCal[i]= iMA(NULL,0,auto_period,mashift,mamethod,appliedpriceto,i);
      } 

  return(0);
  }


Mr.Ahmed Saleh 03-02-2014 02:14 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 667442)


،،،المشكلة كانت فى 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);
  }
//+------------------------------------------------------------------+


شكرا جدا يا استاذ اسلام

Mr.Ahmed Saleh 03-02-2014 03:46 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mr.Ahmed Saleh (المشاركة 667997)
لو سمحت ف المؤشر الى ف الدرس الثامن (الموفنج افرج) انا عملت عليه التعديل ده
علشان شايف ان كدا اسهل
انا صح و لا غلط !!؟
كود:

//+------------------------------------------------------------------+
//|                                                      auto ma.mq4 |
//|                                                      ahmed saleh |
//|                                                        facebook |
//+------------------------------------------------------------------+

#property copyright "ahmed saleh"
#property link      "facebook"


#property indicator_chart_window


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

  double mm ;
  double MaCal[];
    double auto_period;

int init()
  {

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);
  }

int deinit()
  {

  return(0);
  }

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=Bars;i++)

                     
      {
      MaCal[i]= iMA(NULL,0,auto_period,mashift,mamethod,appliedpriceto,i);
      } 

  return(0);
  }


اسف تم تعديل الرد فى الاقتباس لوجود خطأ

ابو سمر 08-02-2014 09:35 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم ورحمة الله وبركاته
استاذى القدير اسلام العوامى
بعد التحديث الاخير للميتاكوست
بعض الاكسبرتات لم تعد تعمل ويظهر السبب خطأ برمجى
بالرغم من انها كانت تعمل على الاصدار القديم ولا يوجد بها اخطاء برمجية
وباقى الاكسبرتات تعمل بنفس الكفاءة بعد التحديث
فهل تم تحديث بعض الاكواد ؟؟

اسلام العوامى 08-02-2014 09:47 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 670334)
السلام عليكم ورحمة الله وبركاته
استاذى القدير اسلام العوامى
بعد التحديث الاخير للميتاكوست
بعض الاكسبرتات لم تعد تعمل ويظهر السبب خطأ برمجى
بالرغم من انها كانت تعمل على الاصدار القديم ولا يوجد بها اخطاء برمجية
وباقى الاكسبرتات تعمل بنفس الكفاءة بعد التحديث
فهل تم تحديث بعض الاكواد ؟؟

،،،نعم يا ابوسمر ، تم اضافة وظائف جديدة وتم حظر بعض اسماء المتغيرات مثل المتغيرات التى تحتوى على رموز مثل النقاط واصبحت اللغة اقرب مايمكن ل MQL5 ،،،

اسلام العوامى 08-02-2014 09:49 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mr.Ahmed Saleh (المشاركة 667997)
لو سمحت ف المؤشر الى ف الدرس الثامن (الموفنج افرج) انا عملت عليه التعديل ده
علشان شايف ان كدا اسهل
انا صح و لا غلط !!؟
كود:

//+------------------------------------------------------------------+
//|                                                      auto ma.mq4 |
//|                                                      ahmed saleh |
//|                                                        facebook |
//+------------------------------------------------------------------+

#property copyright "ahmed saleh"
#property link      "facebook"


#property indicator_chart_window


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

  double mm ;
  double MaCal[];
    double auto_period;

int init()
  {

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);
  }

int deinit()
  {

  return(0);
  }

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<Bars;i++)

                     
      {
      MaCal[i]= iMA(NULL,0,auto_period,mashift,mamethod,appliedpriceto,i);
      } 

  return(0);
  }


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

ابو سمر 08-02-2014 10:22 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 670336)


،،،نعم يا ابوسمر ، تم اضافة وظائف جديدة وتم حظر بعض اسماء المتغيرات مثل المتغيرات التى تحتوى على رموز مثل النقاط واصبحت اللغة اقرب مايمكن ل MQL5 ،،،

شكرا استاذى الفاضل على سرعة الرد
هل نقوم بالتعديل بنفس الطريقة المتبعة بالشرح بتظليل المتغير والضغط على F1
ام هناك طريقة اخرى

اسلام العوامى 08-02-2014 01:05 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 670342)
شكرا استاذى الفاضل على سرعة الرد
هل نقوم بالتعديل بنفس الطريقة المتبعة بالشرح بتظليل المتغير والضغط على F1
ام هناك طريقة اخرى

،،،نعم صحيح ، ولكن اول مرة يتم تشغيل المساعدة فيها يجب ان تنتظر قليلا ليتم تحميل الملف الجديد ، ويمكنك ايضا القيام بجولة فى ملف المساعدة الخاص MQL5 ستستفيد منه جدا بخصوص الاضافات الجديدة ، واى سؤال انا موجود،،،

ابو سمر 08-02-2014 02:17 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 670362)


،،،نعم صحيح ، ولكن اول مرة يتم تشغيل المساعدة فيها يجب ان تنتظر قليلا ليتم تحميل الملف الجديد ، ويمكنك ايضا القيام بجولة فى ملف المساعدة الخاص MQL5 ستستفيد منه جدا بخصوص الاضافات الجديدة ، واى سؤال انا موجود،،،


شكرا استاذى
الحمد لله تم التصحيح والمؤشرات والاكسبرتات اشتغلت تمام
ان شاء الله هدرس ملف المساعد الخاص ب MQL5
وكالعاده لم اتردد فى طرح الاستفسار عند الحاجه

Mr.Ahmed Saleh 10-02-2014 01:24 PM

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

اسلام العوامى 10-02-2014 01:30 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mr.Ahmed Saleh (المشاركة 671227)
ممكن شرح ل داله OrderTicket()

،،،ليست دالة ولكن وظيفة تعود برقم التيكت الخاص بالصفقة،،،

بو هيا 10-02-2014 04:51 PM

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

اسلام العوامى 10-02-2014 05:48 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة بو هيا (المشاركة 671344)
اخي اسلام العوامى اريد تعلم البرمجة الاكسبيرتات ولاكن الغه الانجليزيه صفر على الشمال كيف دالك

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

cobra2010 11-02-2014 12:08 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
هل الوظيفة int start() ونهايتها return(0)
اختفت بعد التعديل الجديد

وهل الوظيفة void OnTick() هي بديلتها

اسلام العوامى 11-02-2014 10:09 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة cobra2010 (المشاركة 671542)
هل الوظيفة int start() ونهايتها return(0)
اختفت بعد التعديل الجديد

وهل الوظيفة void OnTick() هي بديلتها

،،،int start() مازالت موجوده وتستطيع استخدامها ولكن حسب التعديل الجديد تم اضافة on tick ووظائف اخرى لتحسين اداء البرامج واضضافة امكانيات لم تكن موجودة من قبل،،،

ابو سمر 13-02-2014 04:32 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 671644)


،،،int start() مازالت موجوده وتستطيع استخدامها ولكن حسب التعديل الجديد تم اضافة on tick ووظائف اخرى لتحسين اداء البرامج واضضافة امكانيات لم تكن موجودة من قبل،،،


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

اسلام العوامى 13-02-2014 04:49 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 672538)

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

،،،جارى التحضير للدرس يا ابو سمر،،،

Mr.Ahmed Saleh 15-02-2014 01:24 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
ايه رأى حضرتك ف البرنامج ده Forex generator
و هل يغنى عن تعلم البرمجه !!؟
رابط للبرنامج http://www.mediafire.com/download/bn...with+patch.rar

اسلام العوامى 15-02-2014 01:38 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mr.Ahmed Saleh (المشاركة 673262)
ايه رأى حضرتك ف البرنامج ده Forex generator
و هل يغنى عن تعلم البرمجه !!؟
رابط للبرنامج http://www.mediafire.com/download/bn...with+patch.rar

،،،بالطبع لايغنى عن تعلم البرمجة لان البرنامج يمكن من خلاله تصميم برمجيات بسيطة ولكن هناك بعض الوظائف لايوفرها البرنامج ويجب كتابتها يدويا،،،

Mr.Ahmed Saleh 15-02-2014 04:11 PM

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

t=1;
  if(Digits==5||Digits==3){t=10;}

المفروض يبقا كدا
كود:

t=1;
  if(Digits==5){t=10;}
  if(Digits==3){t=0.1;}

علشان لو المنصه ثلاثيه بقسمها على 10 علشان تبقا رباعيه مش بضربها ف 10

اسلام العوامى 15-02-2014 04:25 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mr.Ahmed Saleh (المشاركة 673300)
معلش بس انا شايف ان الكود ده
كود:

t=1;
  if(Digits==5||Digits==3){t=10;}

المفروض يبقا كدا
كود:

t=1;
  if(Digits==5){t=10;}
  if(Digits==3){t=0.1;}

علشان لو المنصه ثلاثيه بقسمها على 10 علشان تبقا رباعيه مش بضربها ف 10

،،،اخى الفاضل ، الكود الغرض منه معرفة هل المنصة رباعية او خماسية وفى حالة كانت رباعية سيكون المتغير t يساوى واحد وفى حالة كونها خماسية سيكون المتغير t يساوى 10 لنقوم بعد ذلك باستخدام المتغير t وضربه فى المتغير Point لنحصل على عدد النقاط الصحيح ، فعلى اى اساس بنيت فرضيتك فى ان نقوم بالقسمة ، راجع مشاركتك ستجدها غير منطقية ، ويمكنك تجربة فرضيتك ومعرفة النتيجة التى ستظهر معك،،،

،،،تحياتى،،،

Mr.Ahmed Saleh 15-02-2014 05:03 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 673305)


،،،اخى الفاضل ، الكود الغرض منه معرفة هل المنصة رباعية او خماسية وفى حالة كانت رباعية سيكون المتغير t يساوى واحد وفى حالة كونها خماسية سيكون المتغير t يساوى 10 لنقوم بعد ذلك باستخدام المتغير t وضربه فى المتغير Point لنحصل على عدد النقاط الصحيح ، فعلى اى اساس بنيت فرضيتك فى ان نقوم بالقسمة ، راجع مشاركتك ستجدها غير منطقية ، ويمكنك تجربة فرضيتك ومعرفة النتيجة التى ستظهر معك،،،

،،،تحياتى،،،

انا بقالى مده مش عارف الغلط ف الكود ده فين ..

اقتباس:

//+------------------------------------------------------------------+
//| OrderBuyAndSell.mq4 |
//| ahmed saleh |
//| http://www.facebook.com/ahmed.saleh7787 |
//+------------------------------------------------------------------+
#property copyright "ahmed saleh"
#property link "www.facebook.com/ahmed.saleh7787"

extern double lot = 0.01;
extern double takeprofit = 10;
extern int magic=7777;
int t ;


int init()
{
double ticksize=MarketInfo(Symbol(),MODE_TICKSIZE);
if (ticksize==0.00001||0.001)
t=ticksize*10;
else t=ticksize;
// if(Digits==5||Digits==3){t=10;}
// if(Digits==5){t=10;}
// if(Digits==3){t=0.1;}

return(0);
}



int deinit()
{

return(0);
}


int start()
{
//----
if(OrdersTotal()==0)
{
OrderSend(Symbol(),OP_BUY,lot,Ask,5,0,takeprofit*t ,NULL,magic,0,Green);
}
//----

return(0);
}
//+------------------------------------------------------------------+

forex 2012 15-02-2014 05:11 PM

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

الكود المرفق هذا لرسم خط من خطوط مؤشر البايفوت

كود:

  if(ObjectFind("H8 line") != 0)
      {
      ObjectCreate("H8 line", OBJ_HLINE, 0, Time[45], H8);
      ObjectSet("H8 line", OBJPROP_STYLE, STYLE_DOT);
      ObjectSet("H8 line", OBJPROP_WIDTH, 1);
      ObjectSet("H8 line", OBJPROP_COLOR, Lime);
      }
      else
      {
      ObjectMove("H8 line", 0, Time[45], H8);
      }

هذا الخط يقوم المؤشر برسمه فوق الشموع بهذا الشكل

http://fx-arabia.com/vb/uploaded/10575_11392473242.jpg

وانا كنت عاوز المؤشر يرسم الخط خلف الشموع بهذا الشكل

http://fx-arabia.com/vb/uploaded/10575_11392473329.jpg

ممكن حضرتك تقولى اضيف ايه فى الكود علشان يظهر الخط خلف الشموع

وشكرا ليك


Mr.Ahmed Saleh 15-02-2014 06:36 PM

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

اقتباس:

//+------------------------------------------------------------------+
//| OrderBuyAndSell.mq4 |
//| ahmed saleh |
//| http://www.facebook.com/ahmed.saleh7787 |
//+------------------------------------------------------------------+
#property copyright "ahmed saleh"
#property link "www.facebook.com/ahmed.saleh7787"

extern double lot =0.01;
extern int takeprofit =10;
extern int stoploss =10;
extern int magic =7777;
int t ;


//----------------------------------------------------------------------------------------//
int init()
{

t=1;
if(Digits==5||Digits==3){t=10;}

return(0);
}

//----------------------------------------------------------------------------------------//

int deinit()
{

return(0);
}

//----------------------------------------------------------------------------------------//
int start()
{

if(OrdersTotal()==0)
{

double Buys,Buyt,Sells,Sellt;

if(stoploss==0){Buys=0;}
else{Buys=Ask-(stoploss*Point*t);}

if(takeprofit==0){Buyt=0;}
else{Buyt=Ask+(takeprofit*Point*t);}

OrderSend(Symbol(),OP_BUY,lot,Ask,3,Buys,Buyt,NULL ,0,0,CLR_NONE) ;
}


return(0);
}
//+------------------------------------------------------------------+

forex 2012 15-02-2014 11:07 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة forex 2012 (المشاركة 673316)
الاخ اسلام ... استفسار بسيط بعد اذنك

الكود المرفق هذا لرسم خط من خطوط مؤشر البايفوت

كود:

  if(ObjectFind("H8 line") != 0)
      {
      ObjectCreate("H8 line", OBJ_HLINE, 0, Time[45], H8);
      ObjectSet("H8 line", OBJPROP_STYLE, STYLE_DOT);
      ObjectSet("H8 line", OBJPROP_WIDTH, 1);
      ObjectSet("H8 line", OBJPROP_COLOR, Lime);
      }
      else
      {
      ObjectMove("H8 line", 0, Time[45], H8);
      }

هذا الخط يقوم المؤشر برسمه فوق الشموع بهذا الشكل

http://fx-arabia.com/vb/uploaded/10575_11392473242.jpg

وانا كنت عاوز المؤشر يرسم الخط خلف الشموع بهذا الشكل

http://fx-arabia.com/vb/uploaded/10575_11392473329.jpg

ممكن حضرتك تقولى اضيف ايه فى الكود علشان يظهر الخط خلف الشموع

وشكرا ليك


هل هذا الموضوع ليس بالمكان المناسب لوضع استفسارى به


الساعة الآن 03:18 PM

Powered by vBulletin® Copyright ©2000 - 2024

جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com