FX-Arabia

جديد المواضيع











الملاحظات

منتدى المؤشرات و الاكسبيرتات تعليم برمجة الاكسبيرت ، اكسبيرت مجانى ، برمجة مؤشرات ، مؤشر ، تصميم اكسبيرت مجانا ، اكسبيرتات جديدة ، مؤشرات جديدة ، كل ما يتعلق بالتحليل و الخاص بالمؤشرات الفنية او الرقمية ، Expert advisor ، mql ، mql4 ، دورة برمجة ، برمجة اكسبيرت ، اكسبيرت رابح ، اكسبيرت جيد ، ادارة حسابات ، تداول الى ، ميتاتريدر ، تحميل منصة ، منصة تداول ، برمجة مؤشر ، مكتبة مؤشرات ، مؤشر جديد ، مؤشرات جديدة ، مؤشر حصرى ، احدث مؤشر .



إضافة رد
 
أدوات الموضوع
قديم 05-01-2014, 04:55 AM   المشاركة رقم: 191
الكاتب
sunegypt
عضو جديد

البيانات
تاريخ التسجيل: May 2010
رقم العضوية: 112
العمر: 40
المشاركات: 141
بمعدل : 0.03 يوميا

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

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

السلام عليكم ورحمه الله تعالى وبركاته

استاذى الكريم اسلام

انا الان عندى داله تغلق الصفقات الرابحه فقط كما طلبتها منك قبل ذلك

كود:
void }CloseProfitOnly(int type)
{
 for(int i=OrdersTotal()-1;i>=0;i--)
 {
  OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
  if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
  {
   if(OrderType()==OP_BUY&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
   }
   if(OrderType()==OP_SELL&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
    
    
   }
  }
 }
}
أنا الان أريد داله اخرى مشابهه لهذه الداله ولكن بتغيير بسيط

فأنا أريد داله تقوم بأغلاق أقل صفقه رابحه حجما وليس كل الصفقات الرابحه كما فى هذه الداله

وأيضا أريد داله تقوم بأغلاق أكبر صفقه رابحه حجما ...

يعنى المطلوب دالتيين

واحده لاغلاق اقل صفقه رابحه فقط

وأخرى لاغلاق أكبر صفقه رابحه

لاجراء بعض الاختبارات فى بعض الاكسبيرتات عندى

أرجوا ان تكون فكرتى وصلتك استاذى اسلام

منتظر ردك استاذى الغالى

سلام عليكم



عرض البوم صور sunegypt  
رد مع اقتباس
  #191  
قديم 05-01-2014, 04:55 AM
sunegypt sunegypt غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

السلام عليكم ورحمه الله تعالى وبركاته

استاذى الكريم اسلام

انا الان عندى داله تغلق الصفقات الرابحه فقط كما طلبتها منك قبل ذلك

كود:
void }CloseProfitOnly(int type)
{
 for(int i=OrdersTotal()-1;i>=0;i--)
 {
  OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
  if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
  {
   if(OrderType()==OP_BUY&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
   }
   if(OrderType()==OP_SELL&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
    
    
   }
  }
 }
}
أنا الان أريد داله اخرى مشابهه لهذه الداله ولكن بتغيير بسيط

فأنا أريد داله تقوم بأغلاق أقل صفقه رابحه حجما وليس كل الصفقات الرابحه كما فى هذه الداله

وأيضا أريد داله تقوم بأغلاق أكبر صفقه رابحه حجما ...

يعنى المطلوب دالتيين

واحده لاغلاق اقل صفقه رابحه فقط

وأخرى لاغلاق أكبر صفقه رابحه

لاجراء بعض الاختبارات فى بعض الاكسبيرتات عندى

أرجوا ان تكون فكرتى وصلتك استاذى اسلام

منتظر ردك استاذى الغالى

سلام عليكم




رد مع اقتباس
قديم 05-01-2014, 05:47 AM   المشاركة رقم: 192
الكاتب
ابو سمر
عضو جديد
الصورة الرمزية ابو سمر

البيانات
تاريخ التسجيل: Oct 2011
رقم العضوية: 6309
العمر: 44
المشاركات: 192
بمعدل : 0.04 يوميا

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

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


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



التوقيع

الغرب يساندون الفاشل حتى ينجح
والعرب يحاربون الناجح حتى يفشل

عرض البوم صور ابو سمر  
رد مع اقتباس
  #192  
قديم 05-01-2014, 05:47 AM
ابو سمر ابو سمر غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4


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




رد مع اقتباس
قديم 05-01-2014, 11:28 AM   المشاركة رقم: 193
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

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

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

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

المشاركة الأصلية كتبت بواسطة valantinolala نقره لعرض الصورة في صفحة مستقلة
السلام عليكم ورحمه الله وبركاته اخي العوامي

بعد اذن حضرتك

انا برمجت اكسيبرت بيعلق صفقتين واحده شراء والاخري بيع علي شمعه GMT 00

ممكت تكتبللي كود يلغي الصفقه المعلقه بعد تنفيذ الصفقه الاخري

ولك جزيل الشكر ...
،،،وعليكم السلام ورحمة الله وبركاتة،،،

،،،اهلا بك اخى الكريم ، اولا ستحتاج الى وظيفة لمسح الاوامر المعلقة كالتالى،،،

كود:
void Delete(int type){
for(int a=0;a<OrdersTotal();a++){ 
if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES)) 
if(OrderType()==type && OrderMagicNumber()==Magicnumber){
OrderDelete(OrderTicket());
   }
  }
 }

،،،ودالة اخرى لحساب عدد الصفقات المفتوحة حسب النوع،،،

كود:
 int ordercount(int type){
 int x=0;
   for(int i =0;i<OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()&& OrderType()==type){
         x++;
       }
     }
   }
    return(x);
  }

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

كود:
if(ordercount(OP_BUY)==1){Delete(OP_SELLSTOP);}
if(ordercount(OP_SELL)==1){Delete(OP_BUYSTOP);}



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #193  
قديم 05-01-2014, 11:28 AM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة valantinolala نقره لعرض الصورة في صفحة مستقلة
السلام عليكم ورحمه الله وبركاته اخي العوامي

بعد اذن حضرتك

انا برمجت اكسيبرت بيعلق صفقتين واحده شراء والاخري بيع علي شمعه GMT 00

ممكت تكتبللي كود يلغي الصفقه المعلقه بعد تنفيذ الصفقه الاخري

ولك جزيل الشكر ...
،،،وعليكم السلام ورحمة الله وبركاتة،،،

،،،اهلا بك اخى الكريم ، اولا ستحتاج الى وظيفة لمسح الاوامر المعلقة كالتالى،،،

كود:
void Delete(int type){
for(int a=0;a<OrdersTotal();a++){ 
if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES)) 
if(OrderType()==type && OrderMagicNumber()==Magicnumber){
OrderDelete(OrderTicket());
   }
  }
 }

،،،ودالة اخرى لحساب عدد الصفقات المفتوحة حسب النوع،،،

كود:
 int ordercount(int type){
 int x=0;
   for(int i =0;i<OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()&& OrderType()==type){
         x++;
       }
     }
   }
    return(x);
  }

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

كود:
if(ordercount(OP_BUY)==1){Delete(OP_SELLSTOP);}
if(ordercount(OP_SELL)==1){Delete(OP_BUYSTOP);}




رد مع اقتباس
قديم 05-01-2014, 11:31 AM   المشاركة رقم: 194
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

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

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

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

المشاركة الأصلية كتبت بواسطة sunegypt نقره لعرض الصورة في صفحة مستقلة
السلام عليكم ورحمه الله تعالى وبركاته

استاذى الكريم اسلام

انا الان عندى داله تغلق الصفقات الرابحه فقط كما طلبتها منك قبل ذلك

كود:
void }CloseProfitOnly(int type)
{
 for(int i=OrdersTotal()-1;i>=0;i--)
 {
  OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
  if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
  {
   if(OrderType()==OP_BUY&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
   }
   if(OrderType()==OP_SELL&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
    
    
   }
  }
 }
}
أنا الان أريد داله اخرى مشابهه لهذه الداله ولكن بتغيير بسيط

فأنا أريد داله تقوم بأغلاق أقل صفقه رابحه حجما وليس كل الصفقات الرابحه كما فى هذه الداله

وأيضا أريد داله تقوم بأغلاق أكبر صفقه رابحه حجما ...

يعنى المطلوب دالتيين

واحده لاغلاق اقل صفقه رابحه فقط

وأخرى لاغلاق أكبر صفقه رابحه

لاجراء بعض الاختبارات فى بعض الاكسبيرتات عندى

أرجوا ان تكون فكرتى وصلتك استاذى اسلام

منتظر ردك استاذى الغالى

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

،،،اولا سوف تحتاج الى دالة لمعرفة اكبر ربح موجود،،،

كود:
double MaxProfit()
{
    for(int i = OrdersTotal() - 1; i >= 0; i--) 
       {                                                       
       if( OrderSelect(i, SELECT_BY_POS) &&  OrderMagicNumber()== MagicNumber &&  OrderSymbol()== Symbol()  ) 
         {
         if( iBarShift(NULL,0,OrderOpenTime(),false) > 1 )
            {
            double Max_Profit = MathMax(Max_Profit,OrderProfit() );
            }
         else
            {
             Max_Profit = OrderProfit(); 
            }
         
         }
         }
         return(Max_Profit);
}
،،،بعد ذلك تحتاج الى دالة تقوم بالمرور على الصفقات واختيار صفقة واحدة ربحها اكبر من او يساوى اعلى ربح وتقوم باغلاقها،،،

كود:
void CloseMaxProfit()
{
   int ticket;
   
   double profit = MaxProfit();
   
  
        for (int i =1 ;i>0;i--)  
   
           {
   
             for (int x = OrdersTotal()-1;x>0;x--) 
              
        
                {
   
                OrderSelect(x,SELECT_BY_POS);
   
                if (OrderProfit() >= profit) ticket = OrderTicket();
                      
   
                }
                    
                            
             OrderSelect(ticket,SELECT_BY_TICKET); 
   
             if (OrderType() == OP_BUY)
             OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),NULL);
             if (OrderType() == OP_SELL)
             OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),NULL);    
            
                  
          }
       
  }



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #194  
قديم 05-01-2014, 11:31 AM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة sunegypt نقره لعرض الصورة في صفحة مستقلة
السلام عليكم ورحمه الله تعالى وبركاته

استاذى الكريم اسلام

انا الان عندى داله تغلق الصفقات الرابحه فقط كما طلبتها منك قبل ذلك

كود:
void }CloseProfitOnly(int type)
{
 for(int i=OrdersTotal()-1;i>=0;i--)
 {
  OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
  if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
  {
   if(OrderType()==OP_BUY&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
   }
   if(OrderType()==OP_SELL&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
    
    
   }
  }
 }
}
أنا الان أريد داله اخرى مشابهه لهذه الداله ولكن بتغيير بسيط

فأنا أريد داله تقوم بأغلاق أقل صفقه رابحه حجما وليس كل الصفقات الرابحه كما فى هذه الداله

وأيضا أريد داله تقوم بأغلاق أكبر صفقه رابحه حجما ...

يعنى المطلوب دالتيين

واحده لاغلاق اقل صفقه رابحه فقط

وأخرى لاغلاق أكبر صفقه رابحه

لاجراء بعض الاختبارات فى بعض الاكسبيرتات عندى

أرجوا ان تكون فكرتى وصلتك استاذى اسلام

منتظر ردك استاذى الغالى

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

،،،اولا سوف تحتاج الى دالة لمعرفة اكبر ربح موجود،،،

كود:
double MaxProfit()
{
    for(int i = OrdersTotal() - 1; i >= 0; i--) 
       {                                                       
       if( OrderSelect(i, SELECT_BY_POS) &&  OrderMagicNumber()== MagicNumber &&  OrderSymbol()== Symbol()  ) 
         {
         if( iBarShift(NULL,0,OrderOpenTime(),false) > 1 )
            {
            double Max_Profit = MathMax(Max_Profit,OrderProfit() );
            }
         else
            {
             Max_Profit = OrderProfit(); 
            }
         
         }
         }
         return(Max_Profit);
}
،،،بعد ذلك تحتاج الى دالة تقوم بالمرور على الصفقات واختيار صفقة واحدة ربحها اكبر من او يساوى اعلى ربح وتقوم باغلاقها،،،

كود:
void CloseMaxProfit()
{
   int ticket;
   
   double profit = MaxProfit();
   
  
        for (int i =1 ;i>0;i--)  
   
           {
   
             for (int x = OrdersTotal()-1;x>0;x--) 
              
        
                {
   
                OrderSelect(x,SELECT_BY_POS);
   
                if (OrderProfit() >= profit) ticket = OrderTicket();
                      
   
                }
                    
                            
             OrderSelect(ticket,SELECT_BY_TICKET); 
   
             if (OrderType() == OP_BUY)
             OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),NULL);
             if (OrderType() == OP_SELL)
             OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),NULL);    
            
                  
          }
       
  }




رد مع اقتباس
قديم 05-01-2014, 11:37 AM   المشاركة رقم: 195
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

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

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

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

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

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

،،،ستحتاج الى تثبيت شمعة لتكون بداية الحساب فى الحلقة ،،،

كود:
     int StartCandle=(iBarShift(Symbol(),PERIOD_MN1,Time[i],false)+1);
،،،تقوم باستخدام المتغير الجديد ليكون بداية الحساب فى الكود وليس الشمعة رقم 1 ،،،



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #195  
قديم 05-01-2014, 11:37 AM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

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

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

،،،ستحتاج الى تثبيت شمعة لتكون بداية الحساب فى الحلقة ،،،

كود:
     int StartCandle=(iBarShift(Symbol(),PERIOD_MN1,Time[i],false)+1);
،،،تقوم باستخدام المتغير الجديد ليكون بداية الحساب فى الكود وليس الشمعة رقم 1 ،،،




رد مع اقتباس
قديم 05-01-2014, 02:23 PM   المشاركة رقم: 196
الكاتب
GBPJPY
عضو جديد

البيانات
تاريخ التسجيل: Feb 2013
رقم العضوية: 13704
المشاركات: 34
بمعدل : 0.01 يوميا

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

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

السلام عليكم استاذى العوامى
ممكن سؤال
فى طريقة استطيع احسب عدد نقاط السعر فى زمن معين
واعرف كم عدد النقاط التى تحرك فيه السعر فى وقت مثلا 10 دقائق او 5
وشكرا لك



عرض البوم صور GBPJPY  
رد مع اقتباس
  #196  
قديم 05-01-2014, 02:23 PM
GBPJPY GBPJPY غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

السلام عليكم استاذى العوامى
ممكن سؤال
فى طريقة استطيع احسب عدد نقاط السعر فى زمن معين
واعرف كم عدد النقاط التى تحرك فيه السعر فى وقت مثلا 10 دقائق او 5
وشكرا لك




رد مع اقتباس
قديم 05-01-2014, 03:07 PM   المشاركة رقم: 197
الكاتب
ابو سمر
عضو جديد
الصورة الرمزية ابو سمر

البيانات
تاريخ التسجيل: Oct 2011
رقم العضوية: 6309
العمر: 44
المشاركات: 192
بمعدل : 0.04 يوميا

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

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

المشاركة الأصلية كتبت بواسطة العوامى نقره لعرض الصورة في صفحة مستقلة


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

،،،ستحتاج الى تثبيت شمعة لتكون بداية الحساب فى الحلقة ،،،

كود:
     int StartCandle=(iBarShift(Symbol(),PERIOD_MN1,Time[i],false)+1);
،،،تقوم باستخدام المتغير الجديد ليكون بداية الحساب فى الكود وليس الشمعة رقم 1 ،،،
بارك الله فيك استاذى الفاضل
جربت استخدام الكود ولا يزال الخط يتحرك الى الشمعه 0 لكل فريم
برجاء كتابة المتغير والحلقه
ولو تكرمت تكتب كود وحلقة المستطيل
لانى اضفتها ولا يظهر المستطيل على الفتره
واجده فى خصائص الشارت موجود بتاريخ 1979 وليس تاريخ الفتره
واعتذر عن كثرة الاستفسارات
شكرا لك



التوقيع

الغرب يساندون الفاشل حتى ينجح
والعرب يحاربون الناجح حتى يفشل

عرض البوم صور ابو سمر  
رد مع اقتباس
  #197  
قديم 05-01-2014, 03:07 PM
ابو سمر ابو سمر غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة العوامى نقره لعرض الصورة في صفحة مستقلة


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

،،،ستحتاج الى تثبيت شمعة لتكون بداية الحساب فى الحلقة ،،،

كود:
     int StartCandle=(iBarShift(Symbol(),PERIOD_MN1,Time[i],false)+1);
،،،تقوم باستخدام المتغير الجديد ليكون بداية الحساب فى الكود وليس الشمعة رقم 1 ،،،
بارك الله فيك استاذى الفاضل
جربت استخدام الكود ولا يزال الخط يتحرك الى الشمعه 0 لكل فريم
برجاء كتابة المتغير والحلقه
ولو تكرمت تكتب كود وحلقة المستطيل
لانى اضفتها ولا يظهر المستطيل على الفتره
واجده فى خصائص الشارت موجود بتاريخ 1979 وليس تاريخ الفتره
واعتذر عن كثرة الاستفسارات
شكرا لك




رد مع اقتباس
قديم 05-01-2014, 03:24 PM   المشاركة رقم: 198
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

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

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

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

المشاركة الأصلية كتبت بواسطة ابو سمر نقره لعرض الصورة في صفحة مستقلة
بارك الله فيك استاذى الفاضل
جربت استخدام الكود ولا يزال الخط يتحرك الى الشمعه 0 لكل فريم
برجاء كتابة المتغير والحلقه
ولو تكرمت تكتب كود وحلقة المستطيل
لانى اضفتها ولا يظهر المستطيل على الفتره
واجده فى خصائص الشارت موجود بتاريخ 1979 وليس تاريخ الفتره
واعتذر عن كثرة الاستفسارات
شكرا لك
،،،ما هو الكود المطلوب يا ابو سمر ، هل تريد مثلا كود لرسم خط افقى على شمعة الشهرى ، وكيف تريد رسم المستطيل ، هل هناك احداثيات معينة للرسم،،،



التوقيع

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

المشاركة الأصلية كتبت بواسطة ابو سمر نقره لعرض الصورة في صفحة مستقلة
بارك الله فيك استاذى الفاضل
جربت استخدام الكود ولا يزال الخط يتحرك الى الشمعه 0 لكل فريم
برجاء كتابة المتغير والحلقه
ولو تكرمت تكتب كود وحلقة المستطيل
لانى اضفتها ولا يظهر المستطيل على الفتره
واجده فى خصائص الشارت موجود بتاريخ 1979 وليس تاريخ الفتره
واعتذر عن كثرة الاستفسارات
شكرا لك
،،،ما هو الكود المطلوب يا ابو سمر ، هل تريد مثلا كود لرسم خط افقى على شمعة الشهرى ، وكيف تريد رسم المستطيل ، هل هناك احداثيات معينة للرسم،،،




رد مع اقتباس
قديم 05-01-2014, 03:31 PM   المشاركة رقم: 199
الكاتب
sunegypt
عضو جديد

البيانات
تاريخ التسجيل: May 2010
رقم العضوية: 112
العمر: 40
المشاركات: 141
بمعدل : 0.03 يوميا

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

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

المشاركة الأصلية كتبت بواسطة العوامى نقره لعرض الصورة في صفحة مستقلة


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

،،،اولا سوف تحتاج الى دالة لمعرفة اكبر ربح موجود،،،

كود:
double MaxProfit()
{
    for(int i = OrdersTotal() - 1; i >= 0; i--) 
       {                                                       
       if( OrderSelect(i, SELECT_BY_POS) &&  OrderMagicNumber()== MagicNumber &&  OrderSymbol()== Symbol()  ) 
         {
         if( iBarShift(NULL,0,OrderOpenTime(),false) > 1 )
            {
            double Max_Profit = MathMax(Max_Profit,OrderProfit() );
            }
         else
            {
             Max_Profit = OrderProfit(); 
            }
         
         }
         }
         return(Max_Profit);
}
،،،بعد ذلك تحتاج الى دالة تقوم بالمرور على الصفقات واختيار صفقة واحدة ربحها اكبر من او يساوى اعلى ربح وتقوم باغلاقها،،،

كود:
void CloseMaxProfit()
{
   int ticket;
   
   double profit = MaxProfit();
   
  
        for (int i =1 ;i>0;i--)  
   
           {
   
             for (int x = OrdersTotal()-1;x>0;x--) 
              
        
                {
   
                OrderSelect(x,SELECT_BY_POS);
   
                if (OrderProfit() >= profit) ticket = OrderTicket();
                      
   
                }
                    
                            
             OrderSelect(ticket,SELECT_BY_TICKET); 
   
             if (OrderType() == OP_BUY)
             OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),NULL);
             if (OrderType() == OP_SELL)
             OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),NULL);    
            
                  
          }
       
  }

جزاك الله تعالى خيرا استاذى اسلام

الكود اللى كتبته حضرتك هذا فى حاله اغلاق اكبر صفقه رابحه ..

وأريد ايضا كود لاغلاق اقل صفقه رابحه فى الحجم ..؟



عرض البوم صور sunegypt  
رد مع اقتباس
  #199  
قديم 05-01-2014, 03:31 PM
sunegypt sunegypt غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة العوامى نقره لعرض الصورة في صفحة مستقلة


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

،،،اولا سوف تحتاج الى دالة لمعرفة اكبر ربح موجود،،،

كود:
double MaxProfit()
{
    for(int i = OrdersTotal() - 1; i >= 0; i--) 
       {                                                       
       if( OrderSelect(i, SELECT_BY_POS) &&  OrderMagicNumber()== MagicNumber &&  OrderSymbol()== Symbol()  ) 
         {
         if( iBarShift(NULL,0,OrderOpenTime(),false) > 1 )
            {
            double Max_Profit = MathMax(Max_Profit,OrderProfit() );
            }
         else
            {
             Max_Profit = OrderProfit(); 
            }
         
         }
         }
         return(Max_Profit);
}
،،،بعد ذلك تحتاج الى دالة تقوم بالمرور على الصفقات واختيار صفقة واحدة ربحها اكبر من او يساوى اعلى ربح وتقوم باغلاقها،،،

كود:
void CloseMaxProfit()
{
   int ticket;
   
   double profit = MaxProfit();
   
  
        for (int i =1 ;i>0;i--)  
   
           {
   
             for (int x = OrdersTotal()-1;x>0;x--) 
              
        
                {
   
                OrderSelect(x,SELECT_BY_POS);
   
                if (OrderProfit() >= profit) ticket = OrderTicket();
                      
   
                }
                    
                            
             OrderSelect(ticket,SELECT_BY_TICKET); 
   
             if (OrderType() == OP_BUY)
             OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),NULL);
             if (OrderType() == OP_SELL)
             OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),NULL);    
            
                  
          }
       
  }

جزاك الله تعالى خيرا استاذى اسلام

الكود اللى كتبته حضرتك هذا فى حاله اغلاق اكبر صفقه رابحه ..

وأريد ايضا كود لاغلاق اقل صفقه رابحه فى الحجم ..؟




رد مع اقتباس
قديم 05-01-2014, 03:39 PM   المشاركة رقم: 200
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

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

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

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

المشاركة الأصلية كتبت بواسطة GBPJPY نقره لعرض الصورة في صفحة مستقلة
السلام عليكم استاذى العوامى
ممكن سؤال
فى طريقة استطيع احسب عدد نقاط السعر فى زمن معين
واعرف كم عدد النقاط التى تحرك فيه السعر فى وقت مثلا 10 دقائق او 5
وشكرا لك
،،،مثلا اذا اردت معرفة عدد النقاط التى تحركها السعر فى خلال الخمس دقائق الماضية ، ستقوم بطرح هاى شمعة الخمس دقائق من اللو والناتج هو حركة السعر،،،

كود:
   double h = iHigh(Symbol(),PERIOD_M5,1);
   double l = iLow(Symbol(),PERIOD_M5,1);
   
   double t = MathAbs(h-l);
   
   Comment(t);



التوقيع

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

المشاركة الأصلية كتبت بواسطة GBPJPY نقره لعرض الصورة في صفحة مستقلة
السلام عليكم استاذى العوامى
ممكن سؤال
فى طريقة استطيع احسب عدد نقاط السعر فى زمن معين
واعرف كم عدد النقاط التى تحرك فيه السعر فى وقت مثلا 10 دقائق او 5
وشكرا لك
،،،مثلا اذا اردت معرفة عدد النقاط التى تحركها السعر فى خلال الخمس دقائق الماضية ، ستقوم بطرح هاى شمعة الخمس دقائق من اللو والناتج هو حركة السعر،،،

كود:
   double h = iHigh(Symbol(),PERIOD_M5,1);
   double l = iLow(Symbol(),PERIOD_M5,1);
   
   double t = MathAbs(h-l);
   
   Comment(t);




رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
للاسئلة, موضوع, محشش, والاستفساراتmql4


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة



الساعة الآن 12:37 PM



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

تحذير المخاطرة

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

تنبيه هام

موقع اف اكس ارابيا هو موقع تعليمي خالص يهدف الي توعية المستثمر العربي مبادئ الاستثمار و التداول الناجح ولا يتحصل علي اي اموال مقابل ذلك ولا يقوم بادارة محافظ مالية وان ادارة الموقع غير مسؤولة عن اي استغلال من قبل اي شخص لاسمها وتحذر من ذلك.

اتصل بنا

البريد الإلكتروني للدعم الفنى : support@fx-arabia.com
جميع الحقوق محفوظة اف اكس ارابيا – احدى مواقع Inwestopedia Sp. Z O.O. للاستشارات و التدريب – جمهورية بولندا الإتحادية.
Powered by vBulletin® Copyright ©2000 - 2024 , Designed by Fx-Arabia Team