صفحة 151 من 686 الأولىالأولى ... 51101141145146147148149150151152153154155156157161201251651 ... الأخيرةالأخيرة
النتائج 2,251 إلى 2,265 من 10278
  1. #2251
    الصورة الرمزية dentist_hussein
    dentist_hussein غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2011
    الإقامة
    مصر
    المشاركات
    1,827

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة ahmadwalwil مشاهدة المشاركة
    اخي حسين هذه الداله تعطيك اذا اخر صفقه سكرت على خساره بالتوفيق
    OrderSelect(OrdersHistoryTotal() - 1, SELECT_BY_POS, MODE_HISTORY);
    if(OrderProfit() < 0)
    lot = lot * FIRSTMULTIPLICATOR;

    شكرا جريلا أخي على المساعده جزاك الله كل خير

    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  2. #2252
    الصورة الرمزية dentist_hussein
    dentist_hussein غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2011
    الإقامة
    مصر
    المشاركات
    1,827

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    دالة لمعرفة آخر صفقه أغلقت على ربح أو خساره
    مثال
    كود PHP:
    bool lastorderprofit(){
    for(
    int i=OrdersHistoryTotal();i>=0;i--){
     
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
     if(
    OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
      if(
    OrderProfit()>0)return(true);
      else return(
    false);
      }
     }
    return(
    true);


    شكرا جريلا أستاذ أسامه ,,,
    الآن بعد وضع الداله هل يكون الشرط مثلا إذا أردت فتح شراء بعد غلق صفقه على ربح كذلك ؟::
    كود PHP:
    if (lastorderprofit()==true//‏ ‏buy

    صحيح أخي أسامه كذلك ؟
    وشكرا جزيلا و جزاك الله كل خير

    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  3. #2253
    الصورة الرمزية dentist_hussein
    dentist_hussein غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2011
    الإقامة
    مصر
    المشاركات
    1,827

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

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



    شكرا جريلا أستاذ أسامه ,,,
    الآن بعد وضع الداله هل يكون الشرط مثلا إذا أردت فتح شراء بعد غلق صفقه على ربح كذلك ؟::
    كود PHP:
    if (lastorderprofit()==true//‏ ‏buy

    صحيح أخي أسامه كذلك ؟
    وشكرا جزيلا و جزاك الله كل خير

    هذه الداله أيضا تفي بالغرض هي الأخرى أخي أسامه ؟؟؟؟
    كود PHP:
      
       string last

    for(
    int i=OrdersHistoryTotal();i>=0;i--) 
     {
       
    OrderSelect(iSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
          
           if(
    OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) last="loss";
           
      
           
           if(
    OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) last="loss";
           
           break;
        }
      } 
    ثم إذا أردت فتح شراء إذا كانت آخر صفقه أغلقت خساره و نوع آخر صفقه شراء يكون الكود :
    كود PHP:
    if( last=="loss" && OrderType()==OP_BUY //buy 
    وسؤالي هنا هل إستخدامي لنوع الصفقه في الشرط السابق يعبر عن نوع آخر صفقه مغلقة ؟؟؟ أم أني أحتاج لعمل داله أخرى لحساب نوع آخر صفقه مغلقة ؟؟؟ غير هذه الداله
    كود PHP:
     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()&&OrderType()==type && (MagicNumber==OrderMagicNumber()) ){
             
    cnt++;
           }
         }
       }
        return(
    cnt);

      } 
    و كيف أقوم بعمل هذه الداله أخي أسامه والتي تحسب أو تفحص نوع آخر صفقه مغلقة كانت بيعا أم شراء سواء كان مازال صفقات أخرى مفتوحه أم كانت هي آخر صفقه ؟؟؟
    وشكرا جزيلا ..
    آخر تعديل بواسطة dentist_hussein ، 11-06-2012 الساعة 08:38 AM
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

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

    افتراضي

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


    أستاذ أسامة بارضوة مش عارف أوصل للي أنا عاوزة
    أنا عايز أطلع مجموع الفرق بين إغلاقات الشموع للـ 14 شمعة الماضية مثلا على اليورو
    وبالنسبة للإستخدام فرضاً هستخدمها إنها تظهر في كومنت
    كود PHP:
    for(int i=1;i<=barscount;i++){
    double e;
       
    EURUSDt=iClose("EURUSD"+add_char,TIMEFRAME,i)-iClose("EURUSD"+add_char,TIMEFRAME,i+1);
    e+=EURUSDt;
      } 
    هذا الكود صحيح
    لكن يجب أن تراعي هل تريد حساب الإغلاقات وتكون القيمه موجبه سواء كان الإغلاق الأول أكبر من الإغلاق الثاني أو العكس في هذه الحاله إستخدم MathAbs لمعرفة القيمة المطلقه لناتج الطرح قبل جمعها ل e حتى تكون القيمه دائما موجبه
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

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


    هذه الداله أيضا تفي بالغرض هي الأخرى أخي أسامه ؟؟؟؟
    كود PHP:
      
       string last

    for(
    int i=OrdersHistoryTotal();i>=0;i--) 
     {
       
    OrderSelect(iSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
          
           if(
    OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) last="loss";
           
      
           
           if(
    OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) last="loss";
           
           break;
        }
      } 
    ثم إذا أردت فتح شراء إذا كانت آخر صفقه أغلقت خساره و نوع آخر صفقه شراء يكون الكود :
    كود PHP:
    if( last=="loss" && OrderType()==OP_BUY //buy 
    وسؤالي هنا هل إستخدامي لنوع الصفقه في الشرط السابق يعبر عن نوع آخر صفقه مغلقة ؟؟؟ أم أني أحتاج لعمل داله أخرى لحساب نوع آخر صفقه مغلقة ؟؟؟ غير هذه الداله
    كود PHP:
     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()&&OrderType()==type && (MagicNumber==OrderMagicNumber()) ){
             
    cnt++;
           }
         }
       }
        return(
    cnt);

      } 
    و كيف أقوم بعمل هذه الداله أخي أسامه والتي تحسب أو تفحص نوع آخر صفقه مغلقة كانت بيعا أم شراء سواء كان مازال صفقات أخرى مفتوحه أم كانت هي آخر صفقه ؟؟؟
    وشكرا جزيلا ..
    نعم يمكنك إستخدام هذا الكود ستكون نفس النتيجه
    ويجب أن تقوم بعمل داله أخرى لمعرفة نوع آخر صفقه أغلقت بيع أو شراء
    كود PHP:
    int lastordertype(){
    for(
    int i=OrdersHistoryTotal();i>=0;i--){
     
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
     if(
    OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
      return(
    OrderType());
       }
     }
    return(-
    1);

    أو يمكنك عمل تعديل في الكود الذي أرفقته وتعريف متغير يحفظ نوع آخر صفقه
    كود PHP:
    string lastint type
    for(int i=OrdersHistoryTotal();i>=0;i--) 
     {
       
    OrderSelect(iSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
           
    type=OrderType();
           if(
    OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) last="loss";
           
      
           
           if(
    OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) last="loss";
           
           break;
        }
      } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  6. #2256
    الصورة الرمزية QtrrtQ
    QtrrtQ غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2011
    المشاركات
    23

    افتراضي

    السلام عليكم ورحمه الله وبركاته
    ممكن مساعدة
    كيف يتم استدعاء last high و last low من مؤشر ال zigzag لاستخدامه في عمل أسكر يبت
    يعني محتاج اخر قمة وآخر قاع
    ولكم جزيل الشكر

  7. #2257
    الصورة الرمزية dentist_hussein
    dentist_hussein غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2011
    الإقامة
    مصر
    المشاركات
    1,827

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    نعم يمكنك إستخدام هذا الكود ستكون نفس النتيجه
    ويجب أن تقوم بعمل داله أخرى لمعرفة نوع آخر صفقه أغلقت بيع أو شراء
    كود PHP:
    int lastordertype(){
    for(
    int i=OrdersHistoryTotal();i>=0;i--){
     
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
     if(
    OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
      return(
    OrderType());
       }
     }
    return(-
    1);

    أو يمكنك عمل تعديل في الكود الذي أرفقته وتعريف متغير يحفظ نوع آخر صفقه
    كود PHP:
    string lastint type
    for(int i=OrdersHistoryTotal();i>=0;i--) 
     {
       
    OrderSelect(iSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
           
    type=OrderType();
           if(
    OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) last="loss";
           
      
           
           if(
    OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) last="loss";
           
           break;
        }
      } 

    تمام أخي أسامه ,,,
    لو قمت بعمل الداله
    كود PHP:
    int lastordertype(){
    for(
    int i=OrdersHistoryTotal();i>=0;i--){
     
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
     if(
    OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
      return(
    OrderType());
       }
     }
    return(-
    1);

    سوف أستدعي نوع آخر صفقه بهذا الكود ‏:
    كود PHP:
    if(  lastordertype()==OP_BUY //buy 
    __________________
    ولكن إذا قمت بعمل تعديل على الداله كما تفضلت :
    كود PHP:
    string lastint type
    for(int i=OrdersHistoryTotal();i>=0;i--) 
     {
       
    OrderSelect(iSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
           
    type=OrderType();
           if(
    OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) last="loss";
           
      
           
           if(
    OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) last="loss";
           
           break;
        }
      } 
    سيكون إستدعاء نوع آخر صفقه بهذا الكود :
    كود PHP:
    if(  OrderType()==OP_BUY //buy 
    _______________
    لكن في حالة أردت أن أستخدم كود يستدعي نوع آخر صفقه و كود نوع الصفقه الحاليه سوف أستخدم هاتين الدالتين :
    - الداله التي تحسب نوع الصفقه الحاليه :
    كود PHP:
     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()&&OrderType()==type && (MagicNumber==OrderMagicNumber()) ){
             
    cnt++;
           }
         }
       }
        return(
    cnt);

      } 
    وهذا الكود يكون خاص بإستدعاء نوع الصفقه الحاليه :
    كود PHP:
    if(  OrderType()==OP_BUY //buy 
    والداله التي تحسب نوع آخر صفقه مغلقه :
    كود PHP:
    int lastordertype(){
    for(
    int i=OrdersHistoryTotal();i>=0;i--){
     
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
     if(
    OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
      return(
    OrderType());
       }
     }
    return(-
    1);

    ليكون هذا الكود خاص بإستدعاء نوع آخر صفقه مغلقه :
    كود PHP:
    if(  lastordertype()==OP_BUY //buy 
    هل فهمي صحيح ؟
    وجزاك الله خيرا
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  8. #2258
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    جيد بما أنك وضعت الهدف والأستوب يساوي 0 إذن الخطأ ليس منهم فلا داعي لإظهار قيمهم
    OrderOpenPrice دالة تعود بقيمة سعر فتح الصفقه وبما أن الصفقه لم تفتح أساسا بالتالي فإن قيمتها سوف تكون 0 فلا داعي لإستخدامها
    لكن نحن نريد معرفة السعر الذي من المفترض أن تفتح عنده الصفقه لذلك تستخدم Ask أو Bid
    تم التعديل ومرفق صورة للخطـأ الذى يظهر عند فتح الصفقة .

    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 174606412.jpg‏  

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة QtrrtQ مشاهدة المشاركة
    السلام عليكم ورحمه الله وبركاته
    ممكن مساعدة
    كيف يتم استدعاء last high و last low من مؤشر ال zigzag لاستخدامه في عمل أسكر يبت
    يعني محتاج اخر قمة وآخر قاع
    ولكم جزيل الشكر
    وعليكم السلام ورحمة الله وبركاته
    كمثال
    كود PHP:
     double lasthigh,lastlow;
     for(
    int i=0;i<Bars;i++){
     
    double zig=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i);
     
     if(
    zig==High[i])lasthigh=zig;
     if(
    zig==Low[i])lastlow=zig;
     if(
    lasthigh!=0&&lastlow!=0)break;
     } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  10. #2260
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

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

    استاذ اسامة ، مرفق الاكسيبرت بعد آخر تعديل ولكن لى سؤال ، لماذا يفتح الاكسيبرت بعض الصفقات مع ظهور الخطـأ السابق ، المفترض عدم فتح اى صفقات !!
    الملفات المرفقة الملفات المرفقة

  11. #2261
    الصورة الرمزية صاحب هدف
    صاحب هدف غير متواجد حالياً موقوف
    تاريخ التسجيل
    Jan 2010
    الإقامة
    سوريا
    المشاركات
    5,384

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

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

    تحياتي للجميع

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

    كود PHP:


    void close_all_orders
    ()
    {
    if ( 
    OrdersTotal()==6)
    {
    for ( 
    int i=0;i<OrdersTotal();i++)
    {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (
    OrderType()==OP_BUY)double B=Bid;
    if (
    OrderType()==OP_SELL)      B=Ask;
    OrderClose(OrderTicket(),OrderLots(),B,5,CLR_NONE);
    }
    }


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

    تحياتي

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة spiders101 مشاهدة المشاركة
    استاذ اسامة ، مرفق الاكسيبرت بعد آخر تعديل ولكن لى سؤال ، لماذا يفتح الاكسيبرت بعض الصفقات مع ظهور الخطـأ السابق ، المفترض عدم فتح اى صفقات !!
    حقيقه لا أرى أي سبب آخر قد يكون المشكله في ظهور الخطأ
    إذا كان الإكسبرت يفتح بعض الصفقات فربما السبب هو في عدد المحاولات فإذا حلت المشكله فقم بزيادة عدد المحاولات حتى يظل يحاول فتح الصفقه والسبب غالبا في هذه الحاله هو سرعة الحركه وإختلاف سعر فتح الصفقه عن السعر الحالي
    لذلك إستخدمت RefreshRates
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

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



    تمام أخي أسامه ,,,
    لو قمت بعمل الداله
    كود PHP:
    int lastordertype(){
    for(
    int i=OrdersHistoryTotal();i>=0;i--){
     
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
     if(
    OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
      return(
    OrderType());
       }
     }
    return(-
    1);

    سوف أستدعي نوع آخر صفقه بهذا الكود ‏:
    كود PHP:
    if(  lastordertype()==OP_BUY //buy 
    __________________
    ولكن إذا قمت بعمل تعديل على الداله كما تفضلت :
    كود PHP:
    string lastint type
    for(int i=OrdersHistoryTotal();i>=0;i--) 
     {
       
    OrderSelect(iSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
           
    type=OrderType();
           if(
    OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) last="loss";
           
      
           
           if(
    OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) last="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) last="loss";
           
           break;
        }
      } 
    سيكون إستدعاء نوع آخر صفقه بهذا الكود :
    كود PHP:
    if(  OrderType()==OP_BUY //buy 
    _______________

    سوف تستدعي الداله بإسم المتغير
    [PHP]if(type==OP_BUY)[/PHP]

    لكن في حالة أردت أن أستخدم كود يستدعي نوع آخر صفقه و كود نوع الصفقه الحاليه سوف أستخدم هاتين الدالتين :
    - الداله التي تحسب نوع الصفقه الحاليه :
    كود PHP:
     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()&&OrderType()==type && (MagicNumber==OrderMagicNumber()) ){
             
    cnt++;
           }
         }
       }
        return(
    cnt);

      } 
    هذه الداله لا تحسب نوع الصفقه الحاليه لكنها تحسب عدد الصفقات المفتوحه
    لحساب نوع الصفقه الحاليه سوف تستخدم نفس الداله الخاصة بحساب نوع الصفقه المغلقه لكن مع تعديل الجزء الخاص بدلا من البحث في الهيستوري سوف تبحث في الصفقات المفتوحه
    كود PHP:
    int openordertype(){
    for(
    int i=OrdersTotal();i>=0;i--){
     
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
     if(
    OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
      return(
    OrderType());
       }
     }
    return(-
    1);


    وإستدعائها يكون
    كود PHP:
    if(openordertype()==OP_BUY
    وهذا الكود يكون خاص بإستدعاء نوع الصفقه الحاليه :
    كود PHP:
    if(  OrderType()==OP_BUY //buy 


    والداله التي تحسب نوع آخر صفقه مغلقه :
    كود PHP:
    int lastordertype(){
    for(
    int i=OrdersHistoryTotal();i>=0;i--){
     
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
     if(
    OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
      return(
    OrderType());
       }
     }
    return(-
    1);

    ليكون هذا الكود خاص بإستدعاء نوع آخر صفقه مغلقه :
    كود PHP:
    if(  lastordertype()==OP_BUY //buy 
    هل فهمي صحيح ؟
    وجزاك الله خيرا
    الإجابة في الإقتباس
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

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

    تحياتي للجميع

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

    كود PHP:


    void close_all_orders
    ()
    {
    if ( 
    OrdersTotal()==6)
    {
    for ( 
    int i=0;i<OrdersTotal();i++)
    {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (
    OrderType()==OP_BUY)double B=Bid;
    if (
    OrderType()==OP_SELL)      B=Ask;
    OrderClose(OrderTicket(),OrderLots(),B,5,CLR_NONE);
    }
    }

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

    تحياتي
    وعليكم السلام ورحمة الله وبركاته
    الداله صحيحه لا يوجد بها أخطاء . جرب تعريف متغير ticket وقم بحفظ رقم التيكيت بعد إختيار الصفقه ب OrderSelect وإستخدمه في أمر إغلاق الصفقه

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

  15. #2265
    الصورة الرمزية صاحب هدف
    صاحب هدف غير متواجد حالياً موقوف
    تاريخ التسجيل
    Jan 2010
    الإقامة
    سوريا
    المشاركات
    5,384

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    بارك الله فيك يا أستاذ أسامة

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    الداله صحيحه لا يوجد بها أخطاء . جرب تعريف متغير ticket وقم بحفظ رقم التيكيت بعد إختيار الصفقه ب OrderSelect وإستخدمه في أمر إغلاق الصفقه
    جربت ونفس المشكلة ده حتى فتحت إكسبيرت جديد وعملت الكود البسيط ده ونفس المشكلة بيعمل قفزات وجربت ميتا إيديتور لشركة تانية برضه نفس المشكلة

    كود PHP:

    int start
    ()
      {
    if (
    OrdersTotal()<6)OrderSend(Symbol(),OP_BUY,0.1,Ask,5,0,0,"",0,0,CLR_NONE);

    if (
    OrdersTotal()==6)close_all_orders();
       return(
    0);
      }
    //+------------------------------------------------------------------+


    void close_all_orders()
    {

    for ( 
    int i=0;i<OrdersTotal();i++)
    {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);
    }


    اضغط على الصورة لعرض أكبر

الاســـم:	t.png
المشاهدات:	267
الحجـــم:	4.2 كيلوبايت
الرقم:	327665

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة

    بالنسبه للخطأ فالسبب غالبا تقني من الجهاز نفسه في المرات القادمه عندما تقوم ببرمجة إكسبرت إجعل ملف كود الإكسبرت والذي تقوم بالتطوير فيه في مجلد مختلف عن الميتاتريدر
    الحل الآن يمكنك إستخدام ملف الإكسبرت التنفيذي ex4 قم بكسره وسوف تجد الكود سليم
    حتى ملف الـ ex4 إختفى لكن الحمد لله قبل شوية خلصت بحدود 90 % من الكود إلي كنت عامله المرة التانية بتكون اسهل

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

  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