صفحة 323 من 385 الأولىالأولى ... 223273313317318319320321322323324325326327328329333373 ... الأخيرةالأخيرة
النتائج 4,831 إلى 4,845 من 5775
  1. #4831
    just_be غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2014
    الإقامة
    مصر
    المشاركات
    23

    افتراضي

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

    تحويل مؤشر إلى اكسبيرت
    شكراا علي الرد اما بخصوص موضوع ملفات ال dll في اي فولدر توضع هذه الملفات قبل استدعائها هل في libraries ام ماذا ؟

  2. #4832
    الصورة الرمزية fbif
    fbif غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2005
    الإقامة
    المدينة المنورة
    المشاركات
    160

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    نعم يمكن ذلك
    حسب ما فهمت أنت تريد إغلاق الأبناء عندما يغلق الأب ( مهما كانت شروط الأب يمكنك وضعها )
    بالتالي يمكنك تمييز صفقات الأبناء بأن تجعل الماجيك نمبر للأبناء مثلا مختلف عن الأب ثم تبحث في الصفقات المفتوحه إذا كان الأب مغلق فيغلق الأبناء
    مثال
    لو جعلت الماجيك نمبر للأب 111 وللأبناء 222
    سأقوم بعمل دالة للبحث هل الأب أغلق أم لا
    كود PHP:
    bool IsFatherClosed()
    {
     for(
    int i=0;i<OrdersTotal();i++)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==111)
      {
       return(
    false);
      }
     }
     return(
    true);

    وداله لإغلاق الصفقات بشرط الماجيك نمبر
    كود PHP:
    void CloseOrder(int Magic)
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
      {
       if(
    OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3);
       if(
    OrderType()==OP_SELLOrderClose(OrderTicket(),OrderLots(),Ask,3);
      }
     }

    ثم سأضع الشروط الخاصه بإغلاق الأبناء
    كود PHP:
    if(IsFatherClosed())
    {
     
    CloseOrder(222)

    الله يعطيك العافية ، مجهود يثنى عليه

    بقي لي سؤالين أخرين لإكتمال الاكسبيرت وبشروط قمت بوضعها للدخول

    1- كيف أضع كود لدخول الأب في حالة البيع بمجيك نمبر 111 وفق شروط الدخول التي وضعتها
    2- واذا أرتفع السعرعند كل 30 نقطة عن نقطة دخول الأب كيف أقوم بوضع أوردر بيع للأبناء بمجيك نمبر 222 ، والعكس في الشراء.

    هل هناك مثال لاكسبيرت كامل يحوي طلبي من ناحية الخروج والدخول معاً ، ودوري أقوم بتغير شروط الدخول والخروج ..

    تحياتي لكم ..

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة fbif مشاهدة المشاركة
    الله يعطيك العافية ، مجهود يثنى عليه

    بقي لي سؤالين أخرين لإكتمال الاكسبيرت وبشروط قمت بوضعها للدخول

    1- كيف أضع كود لدخول الأب في حالة البيع بمجيك نمبر 111 وفق شروط الدخول التي وضعتها
    2- واذا أرتفع السعرعند كل 30 نقطة عن نقطة دخول الأب كيف أقوم بوضع أوردر بيع للأبناء بمجيك نمبر 222 ، والعكس في الشراء.

    هل هناك مثال لاكسبيرت كامل يحوي طلبي من ناحية الخروج والدخول معاً ، ودوري أقوم بتغير شروط الدخول والخروج ..

    تحياتي لكم ..
    بالنسبه للسؤال الأول فهي دالة وضع الأوامر فقط
    كود PHP:
     if(condition)
               {
                
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Red); 
               } 
    بالنسبه لفتح أوامر التعزيز فسوف تقوم بعمل دالة لمعرفة سعر فتح آخر صفقة بيع
    كود PHP:
    double LastOrderPrice(int type)
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222)
      {
       return(
    OrderOpenPrice());
      }
     }
     return(
    0);

    ثم ستضع شروط فتح الصفقه
    كود PHP:
    if(Bid-LastOrderPrice(OP_SELL)>=30*Point)
               {
                
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
               } 

  4. #4834
    الصورة الرمزية fbif
    fbif غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2005
    الإقامة
    المدينة المنورة
    المشاركات
    160

    افتراضي

    #Logy_EA.mq4
    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    بالنسبه للسؤال الأول فهي دالة وضع الأوامر فقط
    كود PHP:
     if(condition)
               {
                
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Red); 
               } 
    بالنسبه لفتح أوامر التعزيز فسوف تقوم بعمل دالة لمعرفة سعر فتح آخر صفقة بيع
    كود PHP:
    double LastOrderPrice(int type)
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222)
      {
       return(
    OrderOpenPrice());
      }
     }
     return(
    0);

    ثم ستضع شروط فتح الصفقه
    كود PHP:
    if(Bid-LastOrderPrice(OP_SELL)>=30*Point)
               {
                
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
               } 

    الله يعطيك العافية ، شرح رائع يا أخي

    أضفت جميع الأكواد المراد الحصول عليها، وإلى الأن لم أضع شرط الخروج ويظهر لي خطأ وهو :

    1;41;C:\Program Files\JJJ\experts\#Logy_EA_.mq4;167:4;'IsFatherClo sed' - expression on global scope not allowed
    2;99;C:\Program Files\JJJ\experts\#Logy_EA_.mq4;170:1;'}' - semicolon expected

    علماً بأني حاولت بكتابة كود الخروج للأب في حالة البيع والشراء ولم أوفق وتظهر لي أخطاء مختلفة عن الخطأ السابق.
    أريد وضع شرط الخروج للأب وهذا شرط خروجي :


    if(SC_B<5000)OrderClose(OP_BUY);



    if(SC_S<5000)OrderClose(OP_SELL);

    وهنا ملف الاكسبيرت بدون وضع شرط الخروج

    تحياتي لك ...

    #Logy_EA.mq4

    كود:
     //+------------------------------------------------------------------+ //|                                                                  |
     //|                                                                  |
     //|                                      www.arabictrader.com/vb     |
     //|                                                                  |
     //|                                           |
     //+------------------------------------------------------------------+
     
     #property copyright ""
     #property link      ""
     extern int  MaxTrades = 100;               
     extern double  Lots = 1;                                           
     extern int StopLoss=0;
     extern int TakeProfit=0;
     extern int MagicNumber=2533;                             
     
     
     datetime Time0;
     double point;
     int digits;
       int init()
    {
       Time0=Time[0];
        if(Digits<4)
       {
          point=0.01;
          digits=2;
       }
       else
       {
          point=0.0001;
          digits=4;
       }
    return(0);
    }
     
     
     //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS    deinitialization function                |
     //+------------------------------------------------------------------+
     
     
     void deinit() {
        Comment("");
      }
     
     
     int orderscnt(){
     int cnt=0;
       for(int i =0;i<OrdersTotal();i++){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
             cnt++;
           }
         }
       }
        return(cnt);
      }
     
     
     //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   Start function                            |
     //+------------------------------------------------------------------+
     
     
     int start()
       {
     
     
        
           
          double buy_aa=iCustom(NULL,0,”PPP",0,1);
          double sell_aa=iCustom(NULL,0,”PPP",1,1);
     
     
          double buy_bb=iCustom(NULL,0,”NNN",3,1);
          double sell_bb=iCustom(NULL,0,”NNN",2,1);
     
     
          double SC_B=iCustom(NULL,0,”MMM",0,0);
          double SC_S=iCustom(NULL,0,"MMM",1,0);
          double SL,TP; 
     
     
     
     
     
     
      
              
        if (buy_bb<5000&&buy_aa>sell_aa&&Time0!=Time[0]){
           
           if(orderscnt()<MaxTrades){
             if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;}
               if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Point;}
                OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Blue); 
    if(Bid-LastOrderPrice(OP_SELL)<=30*Point)
               {
                OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
               }  
                 PlaySound("Alert.wav");
                 Time0=Time[0];
     
     
     
     
              }
           }
        
        
        
        if (sell_bb<5000&&sell_aa>buy_aa&&Time0!=Time[0]){
           
           if(orderscnt()<MaxTrades){
             if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*Point;}
               if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*Point;}
                OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Red); 
    if(Bid-LastOrderPrice(OP_SELL)>=30*Point)
               {
                OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
               }  
                 PlaySound("Alert.wav");
                 Time0=Time[0]; 
     
     
                 
              }
           }
        }
     
     
     
     
     
     
    double LastOrderPrice(int type)
    {
     for(int i=OrdersTotal()-1;i>=0;i--)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222)
      {
       return(OrderOpenPrice());
      }
     }
     return(0);
    }  
     
     
     
     
     
     
     
     
     
     
    bool IsFatherClosed()
    {
     for(int i=0;i<OrdersTotal();i++)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111)
      {
       return(false);
      }
     }
     return(true);
    }  
     
     
     
     
     
     
     
     
    void CloseOrder(int Magic)
    {
     for(int i=OrdersTotal()-1;i>=0;i--)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
      {
       if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3);
       if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);
      }
     }
    }  
     
     
     
     
     
     
     
     
    if(IsFatherClosed())
    {
     CloseOrder(222)
    }  
     
     
     
     
     //+---------------------------------------------------------------------------------+
    آخر تعديل بواسطة fbif ، 02-02-2014 الساعة 06:21 AM

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة fbif مشاهدة المشاركة
    #Logy_EA.mq4

    الله يعطيك العافية ، شرح رائع يا أخي

    أضفت جميع الأكواد المراد الحصول عليها، وإلى الأن لم أضع شرط الخروج ويظهر لي خطأ وهو :

    1;41;C:\Program Files\JJJ\experts\#Logy_EA_.mq4;167:4;'IsFatherClo sed' - expression on global scope not allowed
    2;99;C:\Program Files\JJJ\experts\#Logy_EA_.mq4;170:1;'}' - semicolon expected

    علماً بأني حاولت بكتابة كود الخروج للأب في حالة البيع والشراء ولم أوفق وتظهر لي أخطاء مختلفة عن الخطأ السابق.
    أريد وضع شرط الخروج للأب وهذا شرط خروجي :


    if(SC_B<5000)OrderClose(OP_BUY);



    if(SC_S<5000)OrderClose(OP_SELL);

    وهنا ملف الاكسبيرت بدون وضع شرط الخروج

    تحياتي لك ...

    #Logy_EA.mq4

    كود:
     //+------------------------------------------------------------------+ //|                                                                  |
     //|                                                                  |
     //|                                      www.arabictrader.com/vb     |
     //|                                                                  |
     //|                                           |
     //+------------------------------------------------------------------+
     
     #property copyright ""
     #property link      ""
     extern int  MaxTrades = 100;               
     extern double  Lots = 1;                                           
     extern int StopLoss=0;
     extern int TakeProfit=0;
     extern int MagicNumber=2533;                             
     
     
     datetime Time0;
     double point;
     int digits;
       int init()
    {
       Time0=Time[0];
        if(Digits<4)
       {
          point=0.01;
          digits=2;
       }
       else
       {
          point=0.0001;
          digits=4;
       }
    return(0);
    }
     
     
     //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS    deinitialization function                |
     //+------------------------------------------------------------------+
     
     
     void deinit() {
        Comment("");
      }
     
     
     int orderscnt(){
     int cnt=0;
       for(int i =0;i<OrdersTotal();i++){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
             cnt++;
           }
         }
       }
        return(cnt);
      }
     
     
     //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   Start function                            |
     //+------------------------------------------------------------------+
     
     
     int start()
       {
     
     
        
           
          double buy_aa=iCustom(NULL,0,”PPP",0,1);
          double sell_aa=iCustom(NULL,0,”PPP",1,1);
     
     
          double buy_bb=iCustom(NULL,0,”NNN",3,1);
          double sell_bb=iCustom(NULL,0,”NNN",2,1);
     
     
          double SC_B=iCustom(NULL,0,”MMM",0,0);
          double SC_S=iCustom(NULL,0,"MMM",1,0);
          double SL,TP; 
     
     
     
     
     
     
      
              
        if (buy_bb<5000&&buy_aa>sell_aa&&Time0!=Time[0]){
           
           if(orderscnt()<MaxTrades){
             if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;}
               if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Point;}
                OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Blue); 
    if(Bid-LastOrderPrice(OP_SELL)<=30*Point)
               {
                OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
               }  
                 PlaySound("Alert.wav");
                 Time0=Time[0];
     
     
     
     
              }
           }
        
        
        
        if (sell_bb<5000&&sell_aa>buy_aa&&Time0!=Time[0]){
           
           if(orderscnt()<MaxTrades){
             if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*Point;}
               if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*Point;}
                OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Red); 
    if(Bid-LastOrderPrice(OP_SELL)>=30*Point)
               {
                OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
               }  
                 PlaySound("Alert.wav");
                 Time0=Time[0]; 
     
     
                 
              }
           }
        }
     
     
     
     
     
     
    double LastOrderPrice(int type)
    {
     for(int i=OrdersTotal()-1;i>=0;i--)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222)
      {
       return(OrderOpenPrice());
      }
     }
     return(0);
    }  
     
     
     
     
     
     
     
     
     
     
    bool IsFatherClosed()
    {
     for(int i=0;i<OrdersTotal();i++)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111)
      {
       return(false);
      }
     }
     return(true);
    }  
     
     
     
     
     
     
     
     
    void CloseOrder(int Magic)
    {
     for(int i=OrdersTotal()-1;i>=0;i--)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
      {
       if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3);
       if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);
      }
     }
    }  
     
     
     
     
     
     
     
     
    if(IsFatherClosed())
    {
     CloseOrder(222)
    }  
     
     
     
     
     //+---------------------------------------------------------------------------------+
    لديك خطأ في الدالة iCustom
    كود PHP:
     double buy_aa=iCustom(NULL,0,”PPP",0,1); 
    الصحيح أن تجعل إسم المؤشر بين علامتي تنصيص " "
    الصحيح
    كود PHP:
    double buy_aa=iCustom(NULL,0,"PPP",0,1); 
    ثانيا وضعك للشرط
    كود PHP:
    if(IsFatherClosed())
    {
     
    CloseOrder(222)

    فلا يمكنك وضع أوامر خارج الداله start يجب أن يكون هاذ الشرط داخل الداله start ونسيت وضع ; بعد تنفيذ الأمر بداخل الشرط
    راجع كود الإكسبرت وإكتبه بشكل صحيح

  6. #4836
    الصورة الرمزية fbif
    fbif غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2005
    الإقامة
    المدينة المنورة
    المشاركات
    160

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    لديك خطأ في الدالة iCustom
    كود PHP:
     double buy_aa=iCustom(NULL,0,”PPP",0,1); 
    الصحيح أن تجعل إسم المؤشر بين علامتي تنصيص " "
    الصحيح
    كود PHP:
    double buy_aa=iCustom(NULL,0,"PPP",0,1); 
    ثانيا وضعك للشرط
    كود PHP:
    if(IsFatherClosed())
    {
     
    CloseOrder(222)

    فلا يمكنك وضع أوامر خارج الداله start يجب أن يكون هاذ الشرط داخل الداله start ونسيت وضع ; بعد تنفيذ الأمر بداخل الشرط
    راجع كود الإكسبرت وإكتبه بشكل صحيح

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

    الاكسبيرت:
    كود:
     //+------------------------------------------------------------------+ //|                                                                  |
     //|                                                                  |
     //|                                      www.arabictrader.com/vb     |
     //|                                                                  |
     //|                                           |
     //+------------------------------------------------------------------+
     
     #property copyright ""
     #property link      ""
     extern int  MaxTrades = 100;               
     extern double  Lots = 1;                                           
     extern int StopLoss=0;
     extern int TakeProfit=0;
     extern int MagicNumber=2533;                             
     
     
     datetime Time0;
     double point;
     int digits;
       int init()
    {
       Time0=Time[0];
        if(Digits<4)
       {
          point=0.01;
          digits=2;
       }
       else
       {
          point=0.0001;
          digits=4;
       }
    return(0);
    }
     
     
     //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS    deinitialization function                |
     //+------------------------------------------------------------------+
     
     
     void deinit() {
        Comment("");
      }
     
     
     int orderscnt(){
     int cnt=0;
       for(int i =0;i<OrdersTotal();i++){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
             cnt++;
           }
         }
       }
        return(cnt);
      }
     
     
     //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   Start function                            |
     //+------------------------------------------------------------------+
     
     
     int start()
       {
     
     
        
           
          double buy_aa=iCustom(NULL,0,"PPP",0,1);
          double sell_aa=iCustom(NULL,0,"PPP",1,1);
     
     
          double buy_bb=iCustom(NULL,0,"NNN",3,1);
          double sell_bb=iCustom(NULL,0,"NNN",2,1);
     
     
          double SC_B=iCustom(NULL,0,"MMM",0,0);
          double SC_S=iCustom(NULL,0,"MMM",1,0);
          double SL,TP; 
     
     
     
     
     
     
      
              
        if (buy_bb<5000&&buy_aa>sell_aa&&Time0!=Time[0]){
           
           if(orderscnt()<MaxTrades){
             if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;}
               if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Point;}
                OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Blue); 
    if(Bid-LastOrderPrice(OP_SELL)<=30*Point)
               {
                OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
               }  
                 PlaySound("Alert.wav");
                 Time0=Time[0];
     
     
     
     
              }
           }
        
        
        
        if (sell_bb<5000&&sell_aa>buy_aa&&Time0!=Time[0]){
           
           if(orderscnt()<MaxTrades){
             if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*Point;}
               if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*Point;}
                OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Red); 
    if(Bid-LastOrderPrice(OP_SELL)>=30*Point)
               {
                OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
               }  
                 PlaySound("Alert.wav");
                 Time0=Time[0]; 
     
     
                 
              }
           }
        }
     
     
     
     
     
     
    double LastOrderPrice(int type)
    {
     for(int i=OrdersTotal()-1;i>=0;i--)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222)
      {
       return(OrderOpenPrice());
      }
     }
     return(0);
    }  
     
     
     
     
     
     
     
     
     
     
    bool IsFatherClosed()
    {
     for(int i=0;i<OrdersTotal();i++)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111)
      {
       return(false);
      }
     }
     return(true);
    } 
     
     
     
     
     
     
     
     
     
    void CloseOrder(int Magic)
    {
     for(int i=OrdersTotal()-1;i>=0;i--)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
      {
       if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3);
       if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);
      }
     }
    }  
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     //+---------------------------------------------------------------------------------+

    أريد وضع الأكواد التالية في الاكسبيرت بصورة صحيحة مع عدم وجود أي أخطاء
    كود:
    void CloseAll(){
      for(int i=OrdersTotal()-1;i>=0;i--)
      {
     OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderProfit()>0)
       {
        if (OrderType()==OP_SELL)
        {
     OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
        }
        if(OrderType()==OP_BUY)
        {
     OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
        }
       }
      }
     
     } 


    كود:
    bool IsFatherClosed(){
      for(int i=0;i<OrdersTotal();i++)
      {
     OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111)
       {
        return(false);
       }
      }
      return(true);
     
     } 


    كود:
    void CloseOrder(int Magic){
      for(int i=OrdersTotal()-1;i>=0;i--)
      {
     OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
       {
        if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3);
        if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);
       }
      }
     
     } 


    كود:
    if(IsFatherClosed()){
     CloseOrder(222)
     
     } 


    كود:
    double LastOrderPrice(int type){
      for(int i=OrdersTotal()-1;i>=0;i--)
      {
     OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222)
       {
        return(OrderOpenPrice());
       }
      }
      return(0);
     
     } 


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

    كود:
    if(Bid-LastOrderPrice(OP_SELL)>=30*Point)           {
     OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
     
                } 


    تحياتي لك .....


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

    افتراضي

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

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

    الاكسبيرت:
    كود:
     //+------------------------------------------------------------------+ //|                                                                  |
     //|                                                                  |
     //|                                      www.arabictrader.com/vb     |
     //|                                                                  |
     //|                                           |
     //+------------------------------------------------------------------+
     
     #property copyright ""
     #property link      ""
     extern int  MaxTrades = 100;               
     extern double  Lots = 1;                                           
     extern int StopLoss=0;
     extern int TakeProfit=0;
     extern int MagicNumber=2533;                             
     
     
     datetime Time0;
     double point;
     int digits;
       int init()
    {
       Time0=Time[0];
        if(Digits<4)
       {
          point=0.01;
          digits=2;
       }
       else
       {
          point=0.0001;
          digits=4;
       }
    return(0);
    }
     
     
     //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS    deinitialization function                |
     //+------------------------------------------------------------------+
     
     
     void deinit() {
        Comment("");
      }
     
     
     int orderscnt(){
     int cnt=0;
       for(int i =0;i<OrdersTotal();i++){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
             cnt++;
           }
         }
       }
        return(cnt);
      }
     
     
     //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   Start function                            |
     //+------------------------------------------------------------------+
     
     
     int start()
       {
     
     
        
           
          double buy_aa=iCustom(NULL,0,"PPP",0,1);
          double sell_aa=iCustom(NULL,0,"PPP",1,1);
     
     
          double buy_bb=iCustom(NULL,0,"NNN",3,1);
          double sell_bb=iCustom(NULL,0,"NNN",2,1);
     
     
          double SC_B=iCustom(NULL,0,"MMM",0,0);
          double SC_S=iCustom(NULL,0,"MMM",1,0);
          double SL,TP; 
     
     
     
     
     
     
      
              
        if (buy_bb<5000&&buy_aa>sell_aa&&Time0!=Time[0]){
           
           if(orderscnt()<MaxTrades){
             if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;}
               if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Point;}
                OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Blue); 
    if(Bid-LastOrderPrice(OP_SELL)<=30*Point)
               {
                OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
               }  
                 PlaySound("Alert.wav");
                 Time0=Time[0];
     
     
     
     
              }
           }
        
        
        
        if (sell_bb<5000&&sell_aa>buy_aa&&Time0!=Time[0]){
           
           if(orderscnt()<MaxTrades){
             if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*Point;}
               if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*Point;}
                OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Red); 
    if(Bid-LastOrderPrice(OP_SELL)>=30*Point)
               {
                OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
               }  
                 PlaySound("Alert.wav");
                 Time0=Time[0]; 
     
     
                 
              }
           }
        }
     
     
     
     
     
     
    double LastOrderPrice(int type)
    {
     for(int i=OrdersTotal()-1;i>=0;i--)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222)
      {
       return(OrderOpenPrice());
      }
     }
     return(0);
    }  
     
     
     
     
     
     
     
     
     
     
    bool IsFatherClosed()
    {
     for(int i=0;i<OrdersTotal();i++)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111)
      {
       return(false);
      }
     }
     return(true);
    } 
     
     
     
     
     
     
     
     
     
    void CloseOrder(int Magic)
    {
     for(int i=OrdersTotal()-1;i>=0;i--)
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
      {
       if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3);
       if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);
      }
     }
    }  
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     //+---------------------------------------------------------------------------------+

    أريد وضع الأكواد التالية في الاكسبيرت بصورة صحيحة مع عدم وجود أي أخطاء
    كود:
    void CloseAll(){
      for(int i=OrdersTotal()-1;i>=0;i--)
      {
     OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderProfit()>0)
       {
        if (OrderType()==OP_SELL)
        {
     OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
        }
        if(OrderType()==OP_BUY)
        {
     OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
        }
       }
      }
     
     } 


    كود:
    bool IsFatherClosed(){
      for(int i=0;i<OrdersTotal();i++)
      {
     OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111)
       {
        return(false);
       }
      }
      return(true);
     
     } 


    كود:
    void CloseOrder(int Magic){
      for(int i=OrdersTotal()-1;i>=0;i--)
      {
     OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
       {
        if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3);
        if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);
       }
      }
     
     } 


    كود:
    if(IsFatherClosed()){
     CloseOrder(222)
     
     } 


    كود:
    double LastOrderPrice(int type){
      for(int i=OrdersTotal()-1;i>=0;i--)
      {
     OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222)
       {
        return(OrderOpenPrice());
       }
      }
      return(0);
     
     } 


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

    كود:
    if(Bid-LastOrderPrice(OP_SELL)>=30*Point)           {
     OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); 
     
                } 


    تحياتي لك .....

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

  8. #4838
    mostafa400 متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    الإقامة
    مصر
    المشاركات
    375

    افتراضي

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

    http://forum.arabictrader.com/newatt...anager&values=[t]=37612&contenttypeid=1&poststarttime=1391471034&po sthash=f3aba307d84b65e0ccc701fcbe1f296d&insertinli ne=1
    الملفات المرفقة الملفات المرفقة

  9. #4839
    الصورة الرمزية سمير محمد ارمان
    سمير محمد ارمان غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    الإقامة
    مصر
    المشاركات
    625

    افتراضي

    السلام عليكم

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

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

الاســـم:	04-02-2014 01-38-27 ص.png‏
المشاهدات:	12
الحجـــم:	72.4 كيلوبايت
الرقم:	397487  

  10. #4840
    just_be غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2014
    الإقامة
    مصر
    المشاركات
    23

    افتراضي

    اخي العزيز ماستر دولار لقد حاولت استخراج القيم ب comment من الداله icustom ولكني لم انجح في ان الاحظ شيئا مميز مجرد ارقام للاعلي وللادني للشموع

    فمثلا مؤشر هيكن اشي اريد ان اعرف عندما تتحول الشموع للون الاحمر او الازرق فلتكن مثلا function وظيفتها عندما يتحول للازرق تجعل المتغير direction=1
    واذا احمر تجعل المتغير direction=2 والاهم من كل شئ هو ليس كيف كتبت الfunction ولكن هو كيف استطعت ان تستخرج القيم المميزه التي تتاكد انها ستظهر في الحاله 1 او 2 من المؤشر نفسه
    الملفات المرفقة الملفات المرفقة

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

    افتراضي

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

    http://forum.arabictrader.com/newatt...anager&values=[t]=37612&contenttypeid=1&poststarttime=1391471034&po sthash=f3aba307d84b65e0ccc701fcbe1f296d&insertinli ne=1
    وعليكم السلام ورحمة الله وبركاته
    ليست لدي نسخه مفتوحه للأسف يمكنك فتح موضوع حتى يساعدك أي عضو لديه المؤشر

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

    افتراضي

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

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

    وعليكم السلام ورحمة الله وبركاته
    هل قرأت هذا الموضوع

    تحديث جذري قادم للميتاتريدر 4 و لغة MQL4

    الإختلاف ليس كبير وسوف أشرحه بالتفصيل بإذن الله

  13. #4843
    الصورة الرمزية سمير محمد ارمان
    سمير محمد ارمان غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    الإقامة
    مصر
    المشاركات
    625

    افتراضي

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

    تحديث جذري قادم للميتاتريدر 4 و لغة MQL4

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

  14. #4844
    mostafa400 متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    الإقامة
    مصر
    المشاركات
    375

    افتراضي

    wafi_area.v1.2.mq4
    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    ليست لدي نسخه مفتوحه للأسف يمكنك فتح موضوع حتى يساعدك أي عضو لديه المؤشر

    لك جزيل الشكر أستاذ أسامة
    لقد وجدت المؤشر
    وهذه نسخة مفتوحة فى المرفقات
    بارك الله فيك

    http://forum.arabictrader.com/newatt...anager&values=[t]=37612&contenttypeid=1&poststarttime=1391519050&po sthash=82aea8e0368b8617fcc2733089e29b45&insertinli ne=1

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة just_be مشاهدة المشاركة
    اخي العزيز ماستر دولار لقد حاولت استخراج القيم ب comment من الداله icustom ولكني لم انجح في ان الاحظ شيئا مميز مجرد ارقام للاعلي وللادني للشموع

    فمثلا مؤشر هيكن اشي اريد ان اعرف عندما تتحول الشموع للون الاحمر او الازرق فلتكن مثلا function وظيفتها عندما يتحول للازرق تجعل المتغير direction=1
    واذا احمر تجعل المتغير direction=2 والاهم من كل شئ هو ليس كيف كتبت الfunction ولكن هو كيف استطعت ان تستخرج القيم المميزه التي تتاكد انها ستظهر في الحاله 1 او 2 من المؤشر نفسه
    مثال راجع الإكسبرت المرفق سوف تكون نفس الشروط
    الملفات المرفقة الملفات المرفقة

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

  1. موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
    By محمد معمو in forum المؤشرات والاكسبيرتات والبرمجة Indicators & Experts Advisors
    مشاركات: 10
    آخر مشاركة: 03-08-2012, 06:54 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 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33