صفحة 563 من 689 الأولىالأولى ... 63463513553557558559560561562563564565566567568569573613663 ... الأخيرةالأخيرة
النتائج 8,431 إلى 8,445 من 10335
  1. #8431
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,864

    افتراضي

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

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Morra مشاهدة المشاركة
    ِشكرا اخي على مساعدتك غيرت الSlippage واختفت مشكلة الerror 138

    بالنسبة للسؤال الاول ف الصفقة العكسية تفتح مرة واحدة فقط
    سوف تقوم بعمل دالة لمعرفة نوع آخر صفقه أغلقت والهدف والأستوب لها
    كود PHP:
    double LastClosedOrderInfo(string info)
    {
     for(
    int i=0;i<OrdersHistoryTotal()-1;i>=0;i--)
     {
      
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       if(
    info=="Type")return(OrderType());
       else if(
    info=="Lot")return(OrderLots());
       else if(
    info=="TP")return(OrderTakeProfit());
       else if(
    info=="SL")return(OrderStopLoss());
      }
     }
     return(-
    1);

    ثم سيكون شرط الدخول في الصفقه
    كود PHP:
    if(LastClosedOrderInfo("Type")==OP_BUY)
    {
     if(
    LastClosedOrderInfo("Close")==LastClosedOrderInfo("SL"))
     {
      
    double TP=Bid-MathAbs(LastClosedOrderInfo("Open")-LastClosedOrderInfo("SL"))*2;
      
    double SL=LastClosedOrderInfo("Open");
      
      
    int ticket=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),3*P,SL,TP,"EA",MagicNumber+1,0,Red);
      
     }

    لكن سيبقى مشكله في الشروط السابقه سوف يقوم الإكسبرت بفتح عدد صفقات بشكل دائم لذلك يجب أن تضع شرط آخر بأنك تريد فتح صفقة واحده عكسيه للصفقه الأساسيه
    فيجب أن نقوم بتمييز الصفقه العكسيه بماجيك نمبر آخر حتى لا يعتمدها في البحث وأيضا أن نضع دالة للبحث هل تم فتح صفقة عكسيه للصفقه الأساسيه أم لا
    سوف أقوم بعمل دالة للبحث عن عدد الصفقات المفتوحه بالماجيك نمبر الجديد
    كود PHP:
    int TotalOrders(int type=-1)
     {
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber+1&&(OrderType()==type||type==-1)){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 
    ثم سأضعه في شروط الدخول
    كود PHP:
    if(LastClosedOrderInfo("Type")==OP_BUY&&TotalOrders(OP_SELL)==0
    وايضا في دالة البحث عن الصفقات المفتوحه إذا وجد أن آخر صفقه مفتوحه لها الماجيك نمبر الجديد فسوف يتوقف عن البحث
    مثال
    كود PHP:
    double LastClosedOrderInfo(string info)
    {
     for(
    int i=0;i<OrdersHistoryTotal()-1;i>=0;i--)
     {
      
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+1)break;
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       
       if(
    info=="Type")return(OrderType());
       else if(
    info=="Lot")return(OrderLots());
       else if(
    info=="TP")return(OrderTakeProfit());
       else if(
    info=="SL")return(OrderStopLoss());
       else if(
    info=="Close")return(OrderClosePrice());
       else if(
    info=="Open")return(OrderOpenPrice());
      }
     }
     return(-
    1);

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

  3. #8433
    الصورة الرمزية mohamed2012
    mohamed2012 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2016
    الإقامة
    مصر
    المشاركات
    66

    افتراضي

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

  4. #8434
    الصورة الرمزية Morra
    Morra غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2017
    الإقامة
    مصر
    المشاركات
    6

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    سوف تقوم بعمل دالة لمعرفة نوع آخر صفقه أغلقت والهدف والأستوب لها
    كود PHP:
    double LastClosedOrderInfo(string info)
    {
     for(
    int i=0;i<OrdersHistoryTotal()-1;i>=0;i--)
     {
      
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       if(
    info=="Type")return(OrderType());
       else if(
    info=="Lot")return(OrderLots());
       else if(
    info=="TP")return(OrderTakeProfit());
       else if(
    info=="SL")return(OrderStopLoss());
      }
     }
     return(-
    1);

    ثم سيكون شرط الدخول في الصفقه
    كود PHP:
    if(LastClosedOrderInfo("Type")==OP_BUY)
    {
     if(
    LastClosedOrderInfo("Close")==LastClosedOrderInfo("SL"))
     {
      
    double TP=Bid-MathAbs(LastClosedOrderInfo("Open")-LastClosedOrderInfo("SL"))*2;
      
    double SL=LastClosedOrderInfo("Open");
      
      
    int ticket=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),3*P,SL,TP,"EA",MagicNumber+1,0,Red);
      
     }

    لكن سيبقى مشكله في الشروط السابقه سوف يقوم الإكسبرت بفتح عدد صفقات بشكل دائم لذلك يجب أن تضع شرط آخر بأنك تريد فتح صفقة واحده عكسيه للصفقه الأساسيه
    فيجب أن نقوم بتمييز الصفقه العكسيه بماجيك نمبر آخر حتى لا يعتمدها في البحث وأيضا أن نضع دالة للبحث هل تم فتح صفقة عكسيه للصفقه الأساسيه أم لا
    سوف أقوم بعمل دالة للبحث عن عدد الصفقات المفتوحه بالماجيك نمبر الجديد
    كود PHP:
    int TotalOrders(int type=-1)
     {
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber+1&&(OrderType()==type||type==-1)){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 
    ثم سأضعه في شروط الدخول
    كود PHP:
    if(LastClosedOrderInfo("Type")==OP_BUY&&TotalOrders(OP_SELL)==0
    وايضا في دالة البحث عن الصفقات المفتوحه إذا وجد أن آخر صفقه مفتوحه لها الماجيك نمبر الجديد فسوف يتوقف عن البحث
    مثال
    كود PHP:
    double LastClosedOrderInfo(string info)
    {
     for(
    int i=0;i<OrdersHistoryTotal()-1;i>=0;i--)
     {
      
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+1)break;
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       
       if(
    info=="Type")return(OrderType());
       else if(
    info=="Lot")return(OrderLots());
       else if(
    info=="TP")return(OrderTakeProfit());
       else if(
    info=="SL")return(OrderStopLoss());
       else if(
    info=="Close")return(OrderClosePrice());
       else if(
    info=="Open")return(OrderOpenPrice());
      }
     }
     return(-
    1);

    السلام عليكم
    شكرا اخي الكريم على ردك واهتمامك
    انا ضفت الكود وطلعلي كام error للمتغيرات التي لم يتم تعريفها وعرفتها
    وحاليا فيه 4 errors في دالة for لا اعرف كيف احلهم
    هذا هو الكود ومرفق ملف Mql4
    كود PHP:

    int MagicNumber 
    0;

    double LastClosedOrderInfo(string info)
    {

     for(
    int i=0;i<OrdersHistoryTotal()-1;i>=0;i--)
     
    //expression has no effect    
     //';' - unexpected token    
     //'i' - undeclared identifier    
     //')' - unexpected token    
     
    {
      
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+1)break; //';' - 'break' must be used within some loop or switch statement    

      
    if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       
       if(
    info=="Type")return(OrderType());
       else if(
    info=="Lot")return(OrderLots());
       else if(
    info=="TP")return(OrderTakeProfit());
       else if(
    info=="SL")return(OrderStopLoss());
       else if(
    info=="Close")return(OrderClosePrice());
       else if(
    info=="Open")return(OrderOpenPrice());
      }
     }
     return(-
    1);
    }  

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


















    datetime Time0 0;
    void OnTick()
      {
    //---
       
    if (Time0 != Time[0])
      {
      


    if(
    LastClosedOrderInfo("Type")==OP_BUY&&TotalOrders(OP_SELL)==0)
    {
     if(
    LastClosedOrderInfo("Close")==LastClosedOrderInfo("SL"))
     {
      
    double TP=Bid-MathAbs(LastClosedOrderInfo("Open")-LastClosedOrderInfo("SL"))*2;
      
    double SL=LastClosedOrderInfo("Open");
      
      
    int ticket=OrderSend(Symbol(),OP_SELL,(AccountBalance()/100)/(1000*((MathAbs(LastClosedOrderInfo("Open")-LastClosedOrderInfo("SL"))))),NormalizeDouble(Bid,Digits),30,SL,TP,"EA",MagicNumber+1,0,Red);
      
     }
    }

    if(
    LastClosedOrderInfo("Type")==OP_SELL&&TotalOrders(OP_BUY)==0)
    {
     if(
    LastClosedOrderInfo("Close")==LastClosedOrderInfo("SL"))
     {
      
    double TP=Ask+MathAbs(LastClosedOrderInfo("SL")-LastClosedOrderInfo("Open"))*2;
      
    double SL=LastClosedOrderInfo("Open");
      
      
    int ticket=OrderSend(Symbol(),OP_BUY,(AccountBalance()/100)/(1000*((MathAbs(LastClosedOrderInfo("SL")-LastClosedOrderInfo("Open"))))),NormalizeDouble(Ask,Digits),30,SL,TP,"EA",MagicNumber+1,0,Blue);
      
     }
    }

      
      
    double cc iCCI(NULL,0,14,PRICE_TYPICAL,1);
      
      
    //buy
      
    if(cc < -100 &&
         
    Close[1] > Open[2] &&
         
    Close[1] > Open[1] &&
         
    Close[2] < Open[2]
         ){
         
    OrderSend(NULL,OP_BUY,(AccountBalance()/100)/(100000*((Close[1]-Low[1])*1)),Ask,3,Low[1],Close[1]+((Close[1]-Low[1])*2),NULL);
         }
       
    //sell
       
    if(cc 100 &&
          
    Close[1] < Open[2] &&
          
    Close[1] < Open[1] &&
          
    Close[2] > Open[2]
          ){
          
    OrderSend(NULL,OP_SELL,(AccountBalance()/100)/(100000*((High[1]-Close[1])*1)),Bid,3,High[1],Close[1]-((High[1]-Close[1])*2),NULL);
          }  

         
    Time0 Time[0];
      }
      }
    //+------------------------------------------------------------------+ 
    الملفات المرفقة الملفات المرفقة

  5. #8435
    الصورة الرمزية abo_samar
    abo_samar غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2012
    المشاركات
    63

    افتراضي

    السلام عليكم ورحمة الله وبركاته
    استفسار استاذ اسامه
    كيف نقوم بالتبريد وفقا لاجمالى الخساره بالنقاط وليس انعكاس عدد من النقاط
    بحيث يكون التبريد لاجمالى الخساره متزايد كل مره
    مثال
    لدينا 3 صفقات بيع اجمالى خسارة الثلاث صفقات 70 نقطه
    وقمنات بتحديد الخساره 100 نقطه
    فاذا وصلت اجمالى الخساره 100 نقطه ندخل بيع
    واذا وصلت اجمالى الخساره 200 نقطه ندخل بيع مره اخرى
    واذا وصلت اجمالى الخساره 300 نقطه ندخل بيع مره اخرى
    وهكذا كل دخول نضيف ال 100 نقطه للخساره السابقه

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

    افتراضي

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


    السلام عليكم
    شكرا اخي الكريم على ردك واهتمامك
    انا ضفت الكود وطلعلي كام error للمتغيرات التي لم يتم تعريفها وعرفتها
    وحاليا فيه 4 errors في دالة for لا اعرف كيف احلهم
    هذا هو الكود ومرفق ملف Mql4
    كود PHP:
     
    int MagicNumber 
    0;
     
    double LastClosedOrderInfo(string info)
    {
     
     for(
    int i=0;i<OrdersHistoryTotal()-1;i>=0;i--)
     
    //expression has no effect    
     //';' - unexpected token    
     //'i' - undeclared identifier    
     //')' - unexpected token    
     
    {
      
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+1)break; //';' - 'break' must be used within some loop or switch statement    
     
      
    if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       
       if(
    info=="Type")return(OrderType());
       else if(
    info=="Lot")return(OrderLots());
       else if(
    info=="TP")return(OrderTakeProfit());
       else if(
    info=="SL")return(OrderStopLoss());
       else if(
    info=="Close")return(OrderClosePrice());
       else if(
    info=="Open")return(OrderOpenPrice());
      }
     }
     return(-
    1);
    }  
     
    int TotalOrders(int type=-1)
     {
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber+1&&(OrderType()==type||type==-1)){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      }
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    datetime Time0 0;
    void OnTick()
      {
    //---
       
    if (Time0 != Time[0])
      {
      
     
     
    if(
    LastClosedOrderInfo("Type")==OP_BUY&&TotalOrders(OP_SELL)==0)
    {
     if(
    LastClosedOrderInfo("Close")==LastClosedOrderInfo("SL"))
     {
      
    double TP=Bid-MathAbs(LastClosedOrderInfo("Open")-LastClosedOrderInfo("SL"))*2;
      
    double SL=LastClosedOrderInfo("Open");
      
      
    int ticket=OrderSend(Symbol(),OP_SELL,(AccountBalance()/100)/(1000*((MathAbs(LastClosedOrderInfo("Open")-LastClosedOrderInfo("SL"))))),NormalizeDouble(Bid,Digits),30,SL,TP,"EA",MagicNumber+1,0,Red);
      
     }
    }
     
    if(
    LastClosedOrderInfo("Type")==OP_SELL&&TotalOrders(OP_BUY)==0)
    {
     if(
    LastClosedOrderInfo("Close")==LastClosedOrderInfo("SL"))
     {
      
    double TP=Ask+MathAbs(LastClosedOrderInfo("SL")-LastClosedOrderInfo("Open"))*2;
      
    double SL=LastClosedOrderInfo("Open");
      
      
    int ticket=OrderSend(Symbol(),OP_BUY,(AccountBalance()/100)/(1000*((MathAbs(LastClosedOrderInfo("SL")-LastClosedOrderInfo("Open"))))),NormalizeDouble(Ask,Digits),30,SL,TP,"EA",MagicNumber+1,0,Blue);
      
     }
    }
     
      
      
    double cc iCCI(NULL,0,14,PRICE_TYPICAL,1);
      
      
    //buy
      
    if(cc < -100 &&
         
    Close[1] > Open[2] &&
         
    Close[1] > Open[1] &&
         
    Close[2] < Open[2]
         ){
         
    OrderSend(NULL,OP_BUY,(AccountBalance()/100)/(100000*((Close[1]-Low[1])*1)),Ask,3,Low[1],Close[1]+((Close[1]-Low[1])*2),NULL);
         }
       
    //sell
       
    if(cc 100 &&
          
    Close[1] < Open[2] &&
          
    Close[1] < Open[1] &&
          
    Close[2] > Open[2]
          ){
          
    OrderSend(NULL,OP_SELL,(AccountBalance()/100)/(100000*((High[1]-Close[1])*1)),Bid,3,High[1],Close[1]-((High[1]-Close[1])*2),NULL);
          }  
     
         
    Time0 Time[0];
      }
      }
    //+------------------------------------------------------------------+ 
    تفضل مرفق الكود المعدل
    الخطأ لديك كان في هذا السطر
    كود PHP:
     for(int i=0;i<OrdersHistoryTotal()-1;i>=0;i--) 
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة abo_samar مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته
    استفسار استاذ اسامه
    كيف نقوم بالتبريد وفقا لاجمالى الخساره بالنقاط وليس انعكاس عدد من النقاط
    بحيث يكون التبريد لاجمالى الخساره متزايد كل مره
    مثال
    لدينا 3 صفقات بيع اجمالى خسارة الثلاث صفقات 70 نقطه
    وقمنات بتحديد الخساره 100 نقطه
    فاذا وصلت اجمالى الخساره 100 نقطه ندخل بيع
    واذا وصلت اجمالى الخساره 200 نقطه ندخل بيع مره اخرى
    واذا وصلت اجمالى الخساره 300 نقطه ندخل بيع مره اخرى
    وهكذا كل دخول نضيف ال 100 نقطه للخساره السابقه
    وعليكم السلام ورحمة الله وبركاته
    قم بعمل دالة تحسب مجموع الخساره بالنقاط لجميع الصفقات
    مثال
    كود PHP:
    double TotalLossPips(int type)
    {
     
    double pips;
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
      {
       if(
    OrderType()==OP_BUY)
       {
        
    pips+=(Bid-OrderOpenPrice());
       }
       else if(
    OrderType()==OP_SELL)
       {
        
    pips+=(OrderOpenPrice()-Ask);
       }
      }
     }
     return(
    pips/Point);

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

  8. #8438
    الصورة الرمزية Morra
    Morra غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2017
    الإقامة
    مصر
    المشاركات
    6

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    تفضل مرفق الكود المعدل
    الخطأ لديك كان في هذا السطر
    كود PHP:
     for(int i=0;i<OrdersHistoryTotal()-1;i>=0;i--) 
    جزاك الله كل خير اخي على مساعدتك
    الحمد لله الكود يعمل الآن
    ولكن لاحظت شئ
    الصفقة العكسية لا تفتح وقت اغلاق الصفقة الاولى وانما بعد اغلاق الشمعة التي حدث فيها اغلاق الامر
    مما يؤدي لتقليل الارباح هل هناك حل لهذة المشكلة ؟ بان يفتح الفقة العكسية لحظة اغلاق الصفقة الاخرى ؟

    وكل عام وانت بخير

  9. #8439
    الصورة الرمزية السمحان
    السمحان غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2015
    الإقامة
    السعودية
    المشاركات
    310

    افتراضي

    السلام عليكم
    استاذي مستر دولار
    اريد وضيفه او داله تمنع الاكسبيرت من ارسال امر معلق اذا تم فتح صفقه بنفس السعر او قريب منها مثلا بمدى نقطتين خلال 24 ساعه
    وتعود بقيمه لكي ادرجها بشروط ارسال الامر
    مثلا
    كود PHP:
    int openbefore;
       if (
    openbefore !=0&& الشرووط الاخرىOrderSend(Symbol(),OP_BUYSTOP,NewLot,Ask,3*P,SL,TP,"EA",MagicNumber,0,Blue); 
    آخر تعديل بواسطة السمحان ، 31-08-2017 الساعة 08:35 PM

  10. #8440
    الصورة الرمزية abo_samar
    abo_samar غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2012
    المشاركات
    63

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    قم بعمل دالة تحسب مجموع الخساره بالنقاط لجميع الصفقات
    مثال
    كود PHP:
    double TotalLossPips(int type)
    {
     
    double pips;
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
      {
       if(
    OrderType()==OP_BUY)
       {
        
    pips+=(Bid-OrderOpenPrice());
       }
       else if(
    OrderType()==OP_SELL)
       {
        
    pips+=(OrderOpenPrice()-Ask);
       }
      }
     }
     return(
    pips/Point);

    ثم ستستخدم هذه الداله بدلا من عدد نقاط الإستيب كما هو في التبريد العادي
    بارك الله فيك استاذنا
    تم عمل الداله وتعمل بنجاح
    استفسار تعليمى عن المؤشرات
    هذا الكود يبحث عن كل شمعتين متتاليتين فى نفس الاتجاه
    ويتم رسم خط على الهاى وخط على اللو
    المطلوب عدم تداخل الخطوط لكل الفرص
    بمعنى تكون نهاية الترند لاين عند بداية الفرصه التاليه له
    ويكون ترند اخر فرصه فقط هو الممتد
    هذا هو الكود
    كود:
     int cnt=0;
    //----
     for(int i=1;i<=Bar_History;i++)
      {
       if(High[i+1]>High[i+2]&&Low[i+1]>Low[i+2])
         { 
         cnt++;
        double high =High[i+1],low=Low[i+2];
        datetime T1=Time[i+2],T2=Time[i+1],T3=Time[0]+24*60*60;   
       string x=IntegerToString(i); 
        line("Egy_Buy "+x,T1,high,T3,Blue);
        line("Egy_Sell"+x,T1,low,T3,Red);
       if(cnt>=Bar_Back)break;    
       }
    ارجو التعديل وفقا للمطلوب
    مرفق صوره توضح تداخل المستويات
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 4.png‏  
    آخر تعديل بواسطة abo_samar ، 01-09-2017 الساعة 12:11 AM

  11. #8441
    الصورة الرمزية abo_samar
    abo_samar غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2012
    المشاركات
    63

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة abo_samar مشاهدة المشاركة
    بارك الله فيك استاذنا
    تم عمل الداله وتعمل بنجاح
    استفسار تعليمى عن المؤشرات
    هذا الكود يبحث عن كل شمعتين متتاليتين فى نفس الاتجاه
    ويتم رسم خط على الهاى وخط على اللو
    المطلوب عدم تداخل الخطوط لكل الفرص
    بمعنى تكون نهاية الترند لاين عند بداية الفرصه التاليه له
    ويكون ترند اخر فرصه فقط هو الممتد
    هذا هو الكود
    كود:
     int cnt=0;
    //----
     for(int i=1;i<=Bar_History;i++)
      {
       if(High[i+1]>High[i+2]&&Low[i+1]>Low[i+2])
         { 
         cnt++;
        double high =High[i+1],low=Low[i+2];
        datetime T1=Time[i+2],T2=Time[i+1],T3=Time[0]+24*60*60;   
       string x=IntegerToString(i); 
        line("Egy_Buy "+x,T1,high,T3,Blue);
        line("Egy_Sell"+x,T1,low,T3,Red);
       if(cnt>=Bar_Back)break;    
       }
    ارجو التعديل وفقا للمطلوب
    مرفق صوره توضح تداخل المستويات
    المطلوب تكون المستويات هكذا
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 8.png‏  

  12. #8442
    الصورة الرمزية السمحان
    السمحان غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2015
    الإقامة
    السعودية
    المشاركات
    310

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة السمحان مشاهدة المشاركة
    السلام عليكم
    استاذي مستر دولار
    اريد وضيفه او داله تمنع الاكسبيرت من ارسال امر معلق اذا تم فتح صفقه بنفس السعر او قريب منها مثلا بمدى نقطتين خلال 24 ساعه
    وتعود بقيمه لكي ادرجها بشروط ارسال الامر
    مثلا
    كود PHP:
    int openbefore;
       if (
    openbefore !=0&& الشرووط الاخرىOrderSend(Symbol(),OP_BUYSTOP,NewLot,Ask,3*P,SL,TP,"EA",MagicNumber,0,Blue); 
    استاذ اسامه
    السوال السابق غير صحيح



    والصحيح
    المطلوب داله تعود بسعر اخر صفقه شراء خلال 24 ساعه
    و
    المطلوب داله تعود بسعر اخر صفقه بيع خلال 24 ساعه


    شكرا لك واعتذر عن الخطا في السوال

  13. #8443
    الصورة الرمزية yamenalshekh
    yamenalshekh غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2010
    الإقامة
    سوريا
    المشاركات
    12

    افتراضي

    السلام عليكم
    ما هما هذين الأمرين Orderprint و OrderComment وما الفرق بينهما

  14. #8444
    الصورة الرمزية Huda 007
    Huda 007 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2014
    الإقامة
    السعودية
    المشاركات
    110

    افتراضي

    مرحبا أ. أسامة
    كيف أقرا قيم من مؤشر لا يخزن قيمه في Buffers
    مرفق مؤشر لحساب نقاط البايفوت، أريد منه القيم التالية
    DM1,DM2,DM3,DM4,DM5,DM6,Pivot,S1,S2,S3,R1,R2,R3
    لاستخدمها في اكسبرت

    ممنونة لك
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    همُ الأحبة ُ إنْ جاروا وإنْ عدلوا فليسَ لي معدلٌ عنهمْ وإنْ عدلوا

  15. #8445
    الصورة الرمزية IZM20
    IZM20 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2017
    الإقامة
    المغرب
    المشاركات
    1

    افتراضي

    لدي سؤال من فضلك
    أريد أن أقول للإكسبيرت إذا تم ضرب ستوب لوز لعملية Buy قم بوضع أمر معلق في نقطة X
    كيف يمكنني كتابة هذا الكود
    شكرا لك ولمجهودك سيدي

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

  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