ارجو المساعدة ولو كانت حتى من المبتدئين مقبولة
النتائج 1 إلى 6 من 6
  1. #1
    تاريخ التسجيل
    Apr 2012
    المشاركات
    170

    05 ارجو المساعدة ولو كانت حتى من المبتدئين مقبولة

    السلام عليكم
    اريد ان اعرف كيف تضع حلقة للاكسبيرت حيث: كلما اغلق امر يعيد وضع نفس الامر مع نف اوامر اخذ الربح وايقاف الخسارة

  2. #2
    تاريخ التسجيل
    Mar 2012
    الإقامة
    الأردن
    المشاركات
    553

    افتراضي

    ممكن توضيح اكتر لو سمحت ...
    توقيع العضو
    Trading For Living .. Not Living For Trading

  3. #3
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,977

    افتراضي

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

    لو أنك حددت مثلا ماجيك نمبر محدد للأمر ثم ستقوم بالبحث في الصفقات المفتوحه إذا كان الأمر بنفس الماجيك غير موجود يتم فتحه مره أخرى
    مثال
    كود PHP:
    bool IsOrderOpen(){

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

    ثم ستحتاج إلى دالة لمعرفة الهدف والأستوب لوز لهذه الصفقه
    كود PHP:
    double OrderInfo(string Info_type){
      for(
    int i=0;i<OrdersHistoryTotal();i++){
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
       if(
    Info_type=="TP")return(OrderTakeProfit());
       if(
    Info_type=="SL")return(OrderStopLoss());
      }
     }
     return(
    0);

    ثم سيكون شروط فتح الأمر
    كود PHP:
    if(IsOrderOpen()==false){
     if(
    OrderInfo("cmd")==0)
        
    OrderSend(Symbol(),OP_BUY,OrderInfo("Lots"),Ask,3,OrderInfo("SL"),OrderInfo("TP"),"EA",MagicNumber,0,Blue);
     if(
    orderInfo("cmd")==1)
        
    OrderSend(Symbol(),OP_SELL,OrderInfo("Lots"),Bid,3,OrderInfo("SL"),OrderInfo("TP"),"EA",MagicNumber,0,Red);

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

  4. #4
    تاريخ التسجيل
    Mar 2012
    الإقامة
    الأردن
    المشاركات
    553

    افتراضي

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

    لو أنك حددت مثلا ماجيك نمبر محدد للأمر ثم ستقوم بالبحث في الصفقات المفتوحه إذا كان الأمر بنفس الماجيك غير موجود يتم فتحه مره أخرى
    مثال
    كود PHP:
    bool IsOrderOpen(){

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

    ثم ستحتاج إلى دالة لمعرفة الهدف والأستوب لوز لهذه الصفقه
    كود PHP:
    double OrderInfo(string Info_type){
      for(
    int i=0;i<OrdersHistoryTotal();i++){
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
       if(
    Info_type=="TP")return(OrderTakeProfit());
       if(
    Info_type=="SL")return(OrderStopLoss());
      }
     }
     return(
    0);

    ثم سيكون شروط فتح الأمر
    كود PHP:
    if(IsOrderOpen()==false){
     if(
    OrderInfo("cmd")==0)
        
    OrderSend(Symbol(),OP_BUY,OrderInfo("Lots"),Ask,3,OrderInfo("SL"),OrderInfo("TP"),"EA",MagicNumber,0,Blue);
     if(
    orderInfo("cmd")==1)
        
    OrderSend(Symbol(),OP_SELL,OrderInfo("Lots"),Bid,3,OrderInfo("SL"),OrderInfo("TP"),"EA",MagicNumber,0,Red);


    شرح حلو يديم عليك العافيه يارب
    توقيع العضو
    Trading For Living .. Not Living For Trading

  5. #5
    تاريخ التسجيل
    Apr 2012
    المشاركات
    170

    افتراضي

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

    لو أنك حددت مثلا ماجيك نمبر محدد للأمر ثم ستقوم بالبحث في الصفقات المفتوحه إذا كان الأمر بنفس الماجيك غير موجود يتم فتحه مره أخرى
    مثال
    كود PHP:
    bool IsOrderOpen(){

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

    ثم ستحتاج إلى دالة لمعرفة الهدف والأستوب لوز لهذه الصفقه
    كود PHP:
    double OrderInfo(string Info_type){
      for(
    int i=0;i<OrdersHistoryTotal();i++){
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
       if(
    Info_type=="TP")return(OrderTakeProfit());
       if(
    Info_type=="SL")return(OrderStopLoss());
      }
     }
     return(
    0);

    ثم سيكون شروط فتح الأمر
    كود PHP:
    if(IsOrderOpen()==false){
     if(
    OrderInfo("cmd")==0)
        
    OrderSend(Symbol(),OP_BUY,OrderInfo("Lots"),Ask,3,OrderInfo("SL"),OrderInfo("TP"),"EA",MagicNumber,0,Blue);
     if(
    orderInfo("cmd")==1)
        
    OrderSend(Symbol(),OP_SELL,OrderInfo("Lots"),Bid,3,OrderInfo("SL"),OrderInfo("TP"),"EA",MagicNumber,0,Red);

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

  6. #6
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,977

    افتراضي

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

    قمت بعمل دالتين لهذا الإكسبرت
    الأول للبحث عن الصفقه المفتوحه بإستخدام الكومنت للصفقه
    كود PHP:
     bool CheckOpenedOrders(string comment){
      for(
    int i=0;i<OrdersTotal();i++){
       
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       
    string com=OrderComment();
       if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
        if(
    com==comment)return(true);
       }
      }
     return(
    false);

    فإذا كانت الصفقه موجوده تكون القيمه true أما إذا كان الأمر غير موجود يكون false
    ثم إستخدمت دالة أخرى لفتح الصفقه في حال كان الناتج false
    كود PHP:
    void OpenClosedOrders(int type)
     {
     for(
    int i=0;i<OrdersHistoryTotal();i++){
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      
    string comment=OrderComment();double open=OrderOpenPrice();
      
    double lott=OrderLots();double stop=OrderStopLoss();double profit=OrderTakeProfit();
      
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
       if(
    CheckOpenedOrders(comment)==false){
       if(
    type==OP_BUY){ 
        if(
    Ask>open+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point){
         
    OrderSend(Symbol(),OP_BUYLIMIT,lott,open,3,stop,profit,comment,MagicNumber,0,Green);}
        
        if(
    Ask<open-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point){
         
    OrderSend(Symbol(),OP_BUYSTOP,lott,open,3,stop,profit,comment,MagicNumber,0,Green);}
       }
       if(
    type==OP_SELL){
       if(
    Bid>open+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point){
         
    OrderSend(Symbol(),OP_SELLSTOP,lott,open,3,stop,profit,comment,MagicNumber,0,Green);}
        
        if(
    Bid<open-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point){
         
    OrderSend(Symbol(),OP_SELLLIMIT,lott,open,3,stop,profit,comment,MagicNumber,0,Green);}
         }
        }
       }
      }
     } 
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات