عرض مشاركة واحدة
قديم 09-01-2014, 09:35 AM   المشاركة رقم: 215
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

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

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

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

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


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

اولا : جزاك الله تعالى خيرا اخى الكريم على تعبك معنا هنا

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

ثانيا : بخصوص الداله هذه ففيها مشكله

الداله تغلق ايضا اخر لوت اذا كان رابح

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

الفكرة انى اريد داله اركبها على اى اكسبيرت فكرتها

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

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

أرجوا ان تكون الفكرة وصلت اليك استاذى الحبيب اسلام

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

الداله فى حاله الاردتداد فقط ينفذ الداله

أرجوا ان تكون الفكرة وضحت استاذى الحبيب

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

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

كود:
if(orderscnt(OP_BUY)>=2 && orderscnt(OP_SELL)>0){CloseMaxProfit();}
if(orderscnt(OP_SELL)>=2 && orderscnt(OP_BUY)>0){CloseMaxProfit();}
،،،وهذه وظيفة عدد الصفقات حسب النوع،،،

كود:

 int orderscnt(int type){
 int cnt=0;
   for(int i =0;i<OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&& OrderType()==type){
         cnt++;
       }
     }
   }
    return(cnt);
  }



التوقيع

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

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


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

اولا : جزاك الله تعالى خيرا اخى الكريم على تعبك معنا هنا

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

ثانيا : بخصوص الداله هذه ففيها مشكله

الداله تغلق ايضا اخر لوت اذا كان رابح

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

الفكرة انى اريد داله اركبها على اى اكسبيرت فكرتها

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

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

أرجوا ان تكون الفكرة وصلت اليك استاذى الحبيب اسلام

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

الداله فى حاله الاردتداد فقط ينفذ الداله

أرجوا ان تكون الفكرة وضحت استاذى الحبيب

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

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

كود:
if(orderscnt(OP_BUY)>=2 && orderscnt(OP_SELL)>0){CloseMaxProfit();}
if(orderscnt(OP_SELL)>=2 && orderscnt(OP_BUY)>0){CloseMaxProfit();}
،،،وهذه وظيفة عدد الصفقات حسب النوع،،،

كود:

 int orderscnt(int type){
 int cnt=0;
   for(int i =0;i<OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&& OrderType()==type){
         cnt++;
       }
     }
   }
    return(cnt);
  }




رد مع اقتباس