صفحة 185 من 689 الأولىالأولى ... 85135175179180181182183184185186187188189190191195235285685 ... الأخيرةالأخيرة
النتائج 2,761 إلى 2,775 من 10335
  1. #2761
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,864

    افتراضي

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


    bool IsTrade = False;

    for (int i = 0; i < Total; i ++) {
    OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
    if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
    IsTrade = True;
    if(OrderType() == OP_BUY) {
    أين الإسكربت الذي تريد تعديله أخي العزيز
    هل تريد عمل داله أو شرط يمنع فتح الصفقات في نفس الشمعه أم تسأل عن الكود بشكل كامل
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

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


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

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

    افتراضي

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




    شكرا مستر دولار ، انا قلت مش ح يجيبها الا اسامة باشا

    ما شاء الله عليك

    بارك الله فيك وزادك علما ووسع رزقك وادخلك الجنة بغير حساب

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

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

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

    أستاذ أسامة ، هل إستدعاء المؤشر أكثر من مرة داخل الاكسيبرت قد يؤدي إلى ظهور أخطـاء مثل عدم إغلاق الصفقات المفتوحة أو عدم فتح صفقات على بعض الأزواج ، مثال الأكواد التالية بالاكسيبرت المرفق
    كود PHP:
    double up =iCustom(NULL,MainTimeFrame1,"Auto Recommendations_WithAlert",2,shift);
    double down =iCustom(NULL,MainTimeFrame1,"Auto Recommendations_WithAlert",3,shift);
    double up2 =iCustom(NULL,MainTimeFrame1,"Auto Recommendations_WithAlert",2,shift+1);
    double down2 =iCustom(NULL,MainTimeFrame1,"Auto Recommendations_WithAlert",3,shift+1);
    double upp =iCustom(NULL,MainTimeFrame2,"Auto Recommendations_WithAlert",2,shift);
    double downn =iCustom(NULL,MainTimeFrame2,"Auto Recommendations_WithAlert",3,shift);
    double upp2 =iCustom(NULL,MainTimeFrame2,"Auto Recommendations_WithAlert",2,shift+1);
    double downn2 =iCustom(NULL,MainTimeFrame2,"Auto Recommendations_WithAlert",3,shift+1);
    double uppp =iCustom(NULL,MainTimeFrame3,"Auto Recommendations_WithAlert",2,shift);
    double downnn =iCustom(NULL,MainTimeFrame3,"Auto Recommendations_WithAlert",3,shift);
    double uppp2 =iCustom(NULL,MainTimeFrame3,"Auto Recommendations_WithAlert",2,shift+1);
    double downnn2 =iCustom(NULL,MainTimeFrame3,"Auto Recommendations_WithAlert",3,shift+1);
    double haOpen1=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",1,1);
    double haOpen2=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",3,1);
    double haOpen11=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",1,2);
    double haOpen22=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",3,2);
    double haClose1=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",0,1);
    double haClose2=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",2,1);
    double haClose11=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",0,2);
    double haClose22=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",2,2);  
    double u1 =iCustom(NULL,5,"Auto Recommendations_WithAlert",2,shift);
    double d1 =iCustom(NULL,5,"Auto Recommendations_WithAlert",3,shift);
    double u2 =iCustom(NULL,5,"Auto Recommendations_WithAlert",2,shift+1);
    double d2 =iCustom(NULL,5,"Auto Recommendations_WithAlert",3,shift+1);
    double uu1 =iCustom(NULL,15,"Auto Recommendations_WithAlert",2,shift);
    double dd1 =iCustom(NULL,15,"Auto Recommendations_WithAlert",3,shift);
    double uu2 =iCustom(NULL,15,"Auto Recommendations_WithAlert",2,shift+1);
    double dd2 =iCustom(NULL,15,"Auto Recommendations_WithAlert",3,shift+1);
    double uuu1 =iCustom(NULL,30,"Auto Recommendations_WithAlert",2,shift);
    double ddd1 =iCustom(NULL,30,"Auto Recommendations_WithAlert",3,shift);
    double uuu2 =iCustom(NULL,30,"Auto Recommendations_WithAlert",2,shift+1);
    double ddd2 =iCustom(NULL,30,"Auto Recommendations_WithAlert",3,shift+1);
    double uuuu1 =iCustom(NULL,60,"Auto Recommendations_WithAlert",2,shift);
    double dddd1 =iCustom(NULL,60,"Auto Recommendations_WithAlert",3,shift);
    double uuuu2 =iCustom(NULL,60,"Auto Recommendations_WithAlert",2,shift+1);
    double dddd2 =iCustom(NULL,60,"Auto Recommendations_WithAlert",3,shift+1); 
    الاكسيبرت يعمل ويحقق شروط إغلاق الصفقات بالباك تست ولكن عند العمل لايف تظهر أخطـاء ليس لها سبب مثل عدم الإغلاق حسب الشروط المحددة !! ، هل المشكلة من أكواد إستدعاء المؤشر !!
    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة spiders101 ، 11-09-2012 الساعة 12:03 PM

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    حتى لو وضعتها دوال فالحلقه هي نفسها لم تتغير
    ما الذي تريده من هذه الداله وسوف أوضح لك الطريقه الصحيحه ؟
    الداله الأولى أريد إستخدامها لتعود لي بالقيم الموجودة داخلها من آخر لوت و آخر صفقة ربح أم خسارة ولكن للصفقات التي فتحت من الأوامر المعلقه و أعطيتها نفس ماجيك الصفقات المعلقة :
    كود PHP:
      ////// HISTORICAL LAST ONES FOR PENDING ORDERS BY MAGIC ///

     
    string lastP
    for(
    int i=OrdersHistoryTotal();i>=0;i--) 
     {
       
    OrderSelect(iSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberP)
         
        {
        
        
    double LastP_lots,LastP_SL,LastP_openpriceLastP_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) lastP="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) lastP="loss";
            
      
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) lastP="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) lastP="loss";
          
           
    LastP_lots=OrderLots();
           
    LastP_SL=OrderStopLoss();
           
    LastP_openprice=OrderOpenPrice();
           
    LastP_ordertype=OrderType() ;
           break;
          
        }
      } 
    و نفس الداله و لكن لصفقات الماركت و أعطيتها نفس الماجيك :
    كود PHP:
     ////// HISTORICAL LAST ONES FOR MARKET ORDERS BY MAGIC ///
        
       
    string lastM
    for(
    int ii=OrdersHistoryTotal();ii>=0;ii--) 
     {
       
    OrderSelect(iiSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
        
        
    double LastM_lots,LastM_SL,LastM_openpriceLastM_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) lastM="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) lastM="loss";
            
      
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) lastM="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) lastM="loss";
         
           
    LastM_lots=OrderLots();
           
    LastM_SL=OrderStopLoss();
           
    LastM_openprice=OrderOpenPrice();
           
    LastM_ordertype=OrderType() ;
         break;
           
        }
      } 
    و الدالتين الأخيرتين للبحث في أول صفقه مره للصفقات التي فتحت عن طريق الأمر المعلق و الأخرى للتي فتحت ماركت و كل منهما بماجيك مختلف :

    كود PHP:
       ////// HISTORICAL LAST ONES FOR MARKET ORDERS BY MAGIC ///
        
       
    string lastM
    for(
    int ii=OrdersHistoryTotal();ii>=0;ii--) 
     {
       
    OrderSelect(iiSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
        
        
    double LastM_lots,LastM_SL,LastM_openpriceLastM_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) lastM="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) lastM="loss";
            
      
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) lastM="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) lastM="loss";
         
           
    LastM_lots=OrderLots();
           
    LastM_SL=OrderStopLoss();
           
    LastM_openprice=OrderOpenPrice();
           
    LastM_ordertype=OrderType() ;
         break;
           
        }
      }
       
     
    //========================  
           
        ////// HISTORICAL FIRST ONES FOR MARKET ORDERS BY MAGIC ///  
           
          
              
    string firstM 
    for(
    int iii=OrdersHistoryTotal();iii<=1;iii--) 
     {
       
    OrderSelect(iiiSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
        
        
    double firstM_lots,firstM_SL,firstM_openpricefirstM_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) firstM="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) firstM="loss";
            
      
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) firstM="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) firstM="loss";
           
           
    firstM_lots=OrderLots();
           
    firstM_SL=OrderStopLoss();
           
    firstM_openprice=OrderOpenPrice();
           
    firstM_ordertype=OrderType() ;
           break;
           
        }
      } 
    و شرح الفكرة وإستخدامي للدوال موجوده في هذه المشاركة
    https://forum.arabictrader.com/t37612-181.html#2704
    شكرا أخي أسامة على المساعده
    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة dentist_hussein ، 11-09-2012 الساعة 04:30 PM
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  6. #2766
    الصورة الرمزية ابواحمد222
    ابواحمد222 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2010
    المشاركات
    414

    افتراضي

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

    الهم يسر للاخ اسامه وافتح عليه
    واملا قلبه بحبك وارض عنه وعنا امين

    --------------------------------------------------------------------------------

  7. #2767
    الصورة الرمزية ابواحمد222
    ابواحمد222 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2010
    المشاركات
    414

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

    للتوضيح المطلوب اكثر مستر دولار
    مرفق اكسبيرت من صنعي شروط الشراء هي وجود السعر اعلى من متوسط 200 ومتوسط 50 اعلى من متوسط 200 الدخول بعد تقاطع متوسط 14 و28 شراء
    والبيع هو العكس ان يكون السعر اقل من متوسط 200 ومتوسط 50 اقل من 200 والدخول هو تقاطع متوسط 14 مع 28بيع
    ما اريد ليس ظهور اشاره معاكسه(لانها على الشروط كامله سوف يصفر الحساب ) بل اريد ان يفتح بنفس الشروط مثلا دخل شراء (السعر ا على من 200 ومتوسط 50 اعلى من 200 وتقاطع 14 مع 28 شراء ) اريد الخروج من الصفقه سواء ربح او خساره بظهور تقاطع عكسي للمتوسطين 14 و28 فقط (اي مجرد تقاطعها ان يخرج ) ومع هذا ان لايكون الخساره اكثر من 20 نقطه
    اي وقف الخساره هو تقاطع على خساره يخرج او اذا وصل خساره 20 نقطه ايهما اسبق
    وجني الارباح هو التقاطع
    اتمنى مساعدك اخي الفاضل وشكرا
    مرفق الاكسبيرت
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 123.mq4‏ (3.8 كيلوبايت, المشاهدات 82)
    آخر تعديل بواسطة ابواحمد222 ، 13-09-2012 الساعة 12:02 AM

  8. #2768
    الصورة الرمزية zzeyani
    zzeyani غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2012
    الإقامة
    المغرب
    المشاركات
    67

    افتراضي

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

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة spiders101 مشاهدة المشاركة
    أستاذ أسامة ، هل إستدعاء المؤشر أكثر من مرة داخل الاكسيبرت قد يؤدي إلى ظهور أخطـاء مثل عدم إغلاق الصفقات المفتوحة أو عدم فتح صفقات على بعض الأزواج ، مثال الأكواد التالية بالاكسيبرت المرفق
    كود PHP:
    double up =iCustom(NULL,MainTimeFrame1,"Auto Recommendations_WithAlert",2,shift);
    double down =iCustom(NULL,MainTimeFrame1,"Auto Recommendations_WithAlert",3,shift);
    double up2 =iCustom(NULL,MainTimeFrame1,"Auto Recommendations_WithAlert",2,shift+1);
    double down2 =iCustom(NULL,MainTimeFrame1,"Auto Recommendations_WithAlert",3,shift+1);
    double upp =iCustom(NULL,MainTimeFrame2,"Auto Recommendations_WithAlert",2,shift);
    double downn =iCustom(NULL,MainTimeFrame2,"Auto Recommendations_WithAlert",3,shift);
    double upp2 =iCustom(NULL,MainTimeFrame2,"Auto Recommendations_WithAlert",2,shift+1);
    double downn2 =iCustom(NULL,MainTimeFrame2,"Auto Recommendations_WithAlert",3,shift+1);
    double uppp =iCustom(NULL,MainTimeFrame3,"Auto Recommendations_WithAlert",2,shift);
    double downnn =iCustom(NULL,MainTimeFrame3,"Auto Recommendations_WithAlert",3,shift);
    double uppp2 =iCustom(NULL,MainTimeFrame3,"Auto Recommendations_WithAlert",2,shift+1);
    double downnn2 =iCustom(NULL,MainTimeFrame3,"Auto Recommendations_WithAlert",3,shift+1);
    double haOpen1=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",1,1);
    double haOpen2=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",3,1);
    double haOpen11=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",1,2);
    double haOpen22=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",3,2);
    double haClose1=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",0,1);
    double haClose2=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",2,1);
    double haClose11=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",0,2);
    double haClose22=iCustom(NULL,Heiken_Ashi_TIME_FRAME,"Heiken_Ashi_Smoothed_Alert[1]",2,2);  
    double u1 =iCustom(NULL,5,"Auto Recommendations_WithAlert",2,shift);
    double d1 =iCustom(NULL,5,"Auto Recommendations_WithAlert",3,shift);
    double u2 =iCustom(NULL,5,"Auto Recommendations_WithAlert",2,shift+1);
    double d2 =iCustom(NULL,5,"Auto Recommendations_WithAlert",3,shift+1);
    double uu1 =iCustom(NULL,15,"Auto Recommendations_WithAlert",2,shift);
    double dd1 =iCustom(NULL,15,"Auto Recommendations_WithAlert",3,shift);
    double uu2 =iCustom(NULL,15,"Auto Recommendations_WithAlert",2,shift+1);
    double dd2 =iCustom(NULL,15,"Auto Recommendations_WithAlert",3,shift+1);
    double uuu1 =iCustom(NULL,30,"Auto Recommendations_WithAlert",2,shift);
    double ddd1 =iCustom(NULL,30,"Auto Recommendations_WithAlert",3,shift);
    double uuu2 =iCustom(NULL,30,"Auto Recommendations_WithAlert",2,shift+1);
    double ddd2 =iCustom(NULL,30,"Auto Recommendations_WithAlert",3,shift+1);
    double uuuu1 =iCustom(NULL,60,"Auto Recommendations_WithAlert",2,shift);
    double dddd1 =iCustom(NULL,60,"Auto Recommendations_WithAlert",3,shift);
    double uuuu2 =iCustom(NULL,60,"Auto Recommendations_WithAlert",2,shift+1);
    double dddd2 =iCustom(NULL,60,"Auto Recommendations_WithAlert",3,shift+1); 
    الاكسيبرت يعمل ويحقق شروط إغلاق الصفقات بالباك تست ولكن عند العمل لايف تظهر أخطـاء ليس لها سبب مثل عدم الإغلاق حسب الشروط المحددة !! ، هل المشكلة من أكواد إستدعاء المؤشر !!
    لأ لن تؤثر على آداء الإكسبرت ما دام أنه لا توجد أخطاء في الكود
    إلا أنك قد تلاحظ بطئ في الميتاتريدر بسبب إستخدام مؤشر على أكثر من تايم فريم
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

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


    الداله الأولى أريد إستخدامها لتعود لي بالقيم الموجودة داخلها من آخر لوت و آخر صفقة ربح أم خسارة ولكن للصفقات التي فتحت من الأوامر المعلقه و أعطيتها نفس ماجيك الصفقات المعلقة :
    كود PHP:
      ////// HISTORICAL LAST ONES FOR PENDING ORDERS BY MAGIC ///

     
    string lastP
    for(
    int i=OrdersHistoryTotal();i>=0;i--) 
     {
       
    OrderSelect(iSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberP)
         
        {
        
        
    double LastP_lots,LastP_SL,LastP_openpriceLastP_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) lastP="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) lastP="loss";
            
      
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) lastP="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) lastP="loss";
          
           
    LastP_lots=OrderLots();
           
    LastP_SL=OrderStopLoss();
           
    LastP_openprice=OrderOpenPrice();
           
    LastP_ordertype=OrderType() ;
           break;
          
        }
      } 
    و نفس الداله و لكن لصفقات الماركت و أعطيتها نفس الماجيك :
    كود PHP:
     ////// HISTORICAL LAST ONES FOR MARKET ORDERS BY MAGIC ///
        
       
    string lastM
    for(
    int ii=OrdersHistoryTotal();ii>=0;ii--) 
     {
       
    OrderSelect(iiSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
        
        
    double LastM_lots,LastM_SL,LastM_openpriceLastM_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) lastM="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) lastM="loss";
            
      
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) lastM="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) lastM="loss";
         
           
    LastM_lots=OrderLots();
           
    LastM_SL=OrderStopLoss();
           
    LastM_openprice=OrderOpenPrice();
           
    LastM_ordertype=OrderType() ;
         break;
           
        }
      } 
    و الدالتين الأخيرتين للبحث في أول صفقه مره للصفقات التي فتحت عن طريق الأمر المعلق و الأخرى للتي فتحت ماركت و كل منهما بماجيك مختلف :

    كود PHP:
       ////// HISTORICAL LAST ONES FOR MARKET ORDERS BY MAGIC ///
        
       
    string lastM
    for(
    int ii=OrdersHistoryTotal();ii>=0;ii--) 
     {
       
    OrderSelect(iiSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
        
        
    double LastM_lots,LastM_SL,LastM_openpriceLastM_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) lastM="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) lastM="loss";
            
      
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) lastM="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) lastM="loss";
         
           
    LastM_lots=OrderLots();
           
    LastM_SL=OrderStopLoss();
           
    LastM_openprice=OrderOpenPrice();
           
    LastM_ordertype=OrderType() ;
         break;
           
        }
      }
       
     
    //========================  
           
        ////// HISTORICAL FIRST ONES FOR MARKET ORDERS BY MAGIC ///  
           
          
              
    string firstM 
    for(
    int iii=OrdersHistoryTotal();iii<=1;iii--) 
     {
       
    OrderSelect(iiiSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
        
        
    double firstM_lots,firstM_SL,firstM_openpricefirstM_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) firstM="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) firstM="loss";
            
      
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) firstM="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) firstM="loss";
           
           
    firstM_lots=OrderLots();
           
    firstM_SL=OrderStopLoss();
           
    firstM_openprice=OrderOpenPrice();
           
    firstM_ordertype=OrderType() ;
           break;
           
        }
      } 
    و شرح الفكرة وإستخدامي للدوال موجوده في هذه المشاركة
    https://forum.arabictrader.com/t37612-181.html#2704
    شكرا أخي أسامة على المساعده
    هذه الدوال صحيحه
    أنا أقصد الدالتين التي وضحت لك الخطأ فيهم في المشاركه السابقه
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

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

    الهم يسر للاخ اسامه وافتح عليه
    واملا قلبه بحبك وارض عنه وعنا امين

    --------------------------------------------------------------------------------
    راجع كود الإكسبرت المرفق
    سوف تجد شرط CloseOppositeSignal وهو المسئول عن إغلاق الصفقه في حال ظهور إشارة عكسيه بدلا من الإعتماد على الأستوب لوز
    وسوف تجد الشرط
    كود PHP:
     if (Open[1]<=ma1&&Close[1]>ma1&&CloseOppositeSignal==true)
          {
    CloseSellOrders();}
           
           if (
    Open[1]>=ma1&&Close[1]<ma1&&CloseOppositeSignal==true)
          {
    CloseBuyOrders();} 
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة zzeyani مشاهدة المشاركة
    أحتاج كود أضعه في مكان معين داخل سكريب. إدى تحقق ستوب لوس في الشمعة لا يدخل صفقة أخرى في نفس الشمعة.
    يمكنك أن تقوم بعمل دالة لمعرفة آخر صفقة أغلقت على ستوب لوز في أي توقيت
    مثال
    كود PHP:
    datetime LastLostOrder(){
         for(
    int i=OrdersHistoryTotal();i>=0;i--){
          
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
          if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderProfit()<0){
           return(
    OrderCloseTime());
          }
         }
        return(
    0);
       } 
    ثم ستضع الشرط مع شروط فتح الصفقات
    كود PHP:
     if(LastLostOrder()<Time[0]) 
    ومعناه أن توقيت آخر صفقة أغلقت على خساره كان أقل من توقيت إفتتاح الشمعه الحاليه
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    لديك خطأ آخر في هذه الحلقات
    كود PHP:
        string firstM 
    for(
    int iii=OrdersHistoryTotal();iii<=1;iii--) 
     {
       
    OrderSelect(iiiSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
        
        
    double firstM_lots,firstM_SL,firstM_openpricefirstM_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) firstM="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) firstM="loss";
            
      
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) firstM="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) firstM="loss";
           
           
    firstM_lots=OrderLots();
           
    firstM_SL=OrderStopLoss();
           
    firstM_openprice=OrderOpenPrice();
           
    firstM_ordertype=OrderType() ;
           break;
        }
      }
    //===========================   
           ////// HISTORICAL FIRST ONES FOR PENDING ORDERS BY MAGIC ///  
           
          
              
    string firstP 
    for(
    int iiii=OrdersHistoryTotal();iiii<=1;iiii--) 
     {
       
    OrderSelect(iiiiSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberP)
         
        {
        
        
    double firstP_lots,firstP_SL,firstP_openpricefirstP_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) firstP="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) firstP="loss";
           
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) firstP="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) firstP="loss";
          
           
    firstP_lots=OrderLots();
           
    firstP_SL=OrderStopLoss();
           
    firstP_openprice=OrderOpenPrice();
           
    firstP_ordertype=OrderType() ;
           break;
        }
      } 
    لاحظ بمجرد بداية عمل الإكسبرت سوف يدخل الإكسبرت في الحلقه
    كود PHP:
    for(int iii=OrdersHistoryTotal();iii<=1;iii--) 
    ولن يتوقف أبدا لأن الأمر Break لن يتنفذ لأنه لا يوجد صفقات فتحت بعد وأيضا شروط الحلقه لن تنتهي
    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    هذه الدوال صحيحه
    أنا أقصد الدالتين التي وضحت لك الخطأ فيهم في المشاركه السابقه

    أنا أريد من هاتين الدالتين أن تعودا بقيم أول صفقه تم إغلاقها في التاريخ ... أحد الدوال لتأتي بقيم الصفقه التي فتحت عن طريق الأمر المعلق و الثانيه لتأتي بقيم الصفقه التي فتحت ماركت أو مباشر وميزت كل منهما بماجيك مختلف ...
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  14. #2774
    الصورة الرمزية ابواحمد222
    ابواحمد222 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2010
    المشاركات
    414

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    راجع كود الإكسبرت المرفق
    سوف تجد شرط CloseOppositeSignal وهو المسئول عن إغلاق الصفقه في حال ظهور إشارة عكسيه بدلا من الإعتماد على الأستوب لوز
    وسوف تجد الشرط
    كود PHP:
     if (Open[1]<=ma1&&Close[1]>ma1&&CloseOppositeSignal==true)
          {
    CloseSellOrders();}
           
           if (
    Open[1]>=ma1&&Close[1]<ma1&&CloseOppositeSignal==true)
          {
    CloseBuyOrders();} 
    جزاك الله كل خير مستر دولار
    سوال بسيط ان شاء الله هل الاكسيبرت المرفق اذا حدث ان وصل السعر الى مدى وقف الخساره(مثلا 20 نقطه ) قبل تحقيق شرط اغلاق الصفقه هل يقوم باغلاق الصفقه
    اي اغلاق الصفقه تحقق الشرط او وصول وقف الخساره

    وادعو الله عز وجل ان يجعلك من اهل الجنه ويجزيك عن ما تقدمه لاخونك احسن جزاء وشكرا

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

    افتراضي

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





    أنا أريد من هاتين الدالتين أن تعودا بقيم أول صفقه تم إغلاقها في التاريخ ... أحد الدوال لتأتي بقيم الصفقه التي فتحت عن طريق الأمر المعلق و الثانيه لتأتي بقيم الصفقه التي فتحت ماركت أو مباشر وميزت كل منهما بماجيك مختلف ...
    بما أنك تريد أول صفقه تم فتحها فسوف تقوم بتعديل الحلقه فقط
    ستستخدم البحث بدأ من 0 حتى عدد الصفقات المغلقه
    كود PHP:
    string firstM 
    for(
    int iii=0;iii<OrdersHistoryTotal();iii+++) 
     {
       
    OrderSelect(iiiSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {
        
        
    double firstM_lots,firstM_SL,firstM_openpricefirstM_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) firstM="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) firstM="loss";
            
      
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) firstM="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) firstM="loss";
           
           
    firstM_lots=OrderLots();
           
    firstM_SL=OrderStopLoss();
           
    firstM_openprice=OrderOpenPrice();
           
    firstM_ordertype=OrderType() ;
           break;
        }
      }
    //===========================   
           ////// HISTORICAL FIRST ONES FOR PENDING ORDERS BY MAGIC ///  
           
          
              
    string firstP 
    for(
    int iiii=0;iiii<OrdersHistoryTotal();i++) 
     {
       
    OrderSelect(iiiiSELECT_BY_POS,MODE_HISTORY);  
       if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberP)
         
        {
        
        
    double firstP_lots,firstP_SL,firstP_openpricefirstP_ordertype
        
           
    //for buy order
           
    if(OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) firstP="profit";
           if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) firstP="loss";
           
           
    //for SELL order
           
    if(OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) firstP="profit";
           if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) firstP="loss";
          
           
    firstP_lots=OrderLots();
           
    firstP_SL=OrderStopLoss();
           
    firstP_openprice=OrderOpenPrice();
           
    firstP_ordertype=OrderType() ;
           break;
        }
      } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

  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