صفحة 440 من 689 الأولىالأولى ... 340390430434435436437438439440441442443444445446450490540 ... الأخيرةالأخيرة
النتائج 6,586 إلى 6,600 من 10335
  1. #6586
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,864

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة first_knight مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاتة
    كيف يمكنني ان اجعل الاكسبيرت
    اذا فتح صفقة اواغلق صفقة في الشمعة الحالية لا يدخل صفقه اخرى في هذه الشمعة
    وينتظر الشمعة الجديده
    وعليكم السلام ورحمة الله وبركاته
    راجع الإكسبرت المرفق الشرط هو
    كود PHP:
    Timee!=Time[0
    الملفات المرفقة الملفات المرفقة

  2. #6587
    الصورة الرمزية forex007
    forex007 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2015
    الإقامة
    مصر
    المشاركات
    206

    افتراضي

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

الاســـم:	EURUSDH1.png
المشاهدات:	91
الحجـــم:	41.7 كيلوبايت
الرقم:	435256

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

  3. #6588
    الصورة الرمزية first_knight
    first_knight غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2014
    الإقامة
    المملكة العربية السعودية
    المشاركات
    170

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    راجع الإكسبرت المرفق الشرط هو
    كود PHP:
    Timee!=Time[0
    بارك الله فيك

  4. #6589
    الصورة الرمزية forex007
    forex007 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2015
    الإقامة
    مصر
    المشاركات
    206

    افتراضي

    شباب لدي استفسار بسيط
    ساعدني اخي اعصار ريتا بداله اعادة حجم لوت المناسب بناء على الاستوب
    بمعنى اذا وضعت 1 % وتم ضرب الاستوب تكون خسارة راس المال 1 % فقط
    كود:
     double LotManage(int stoploss)
      {
      
        double percent = (AccountBalance() *  RiskPercent) /100;
        double lot;
        if(MarketInfo(Symbol(),MODE_LOTSIZE)==100000)lot=(percent/stoploss)/10;
         if(MarketInfo(Symbol(),MODE_LOTSIZE)==10000)lot=(percent/stoploss)/1;
          if(MarketInfo(Symbol(),MODE_LOTSIZE)==1000)lot=(percent/stoploss)/0.1;
          if(lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT);
          if(lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT);
          
           
           return (lot);
      }
    ارغب اضافة تعديل لهذه الدالة بحيث قبل ماتعيد لنا حجم اللوت تقوم بالبحث عن صفقه مفتوحة حالياً بنفس الماجيك نمبر اذا وجدت صفقة مفتوحة تعيد لنا حجم لوت الصفقه المفتوحة
    بمعنى دخل الاكسبيرت أول صفقة شراء بلوت 0.10 اذا ضرب الاستوب يكون قد خسر 1 % وظهرت صفقة شراء ثانيه والصفقة الاولى مازالت (مفتوحة) لم تغلق بعد هنا الدالة تعيد لنا حجم لوت الصفقة الاولى وهو 0.10 ذلك بناء على الماجيك نمبر
    ارجو يكون طلب واضح
    شكرا لكم

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

    افتراضي

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

الاســـم:	EURUSDH1.png
المشاهدات:	91
الحجـــم:	41.7 كيلوبايت
الرقم:	435256

    كما نلاحظ ظهور خط ابيض وهو سعر افتتاح اليوم نلاحظ ظهور الخط الاخضر فوووق هذا يعني اليوم صاعد نفتح صفقه شراء
    كان يضعون استوب عند الخط الاحمر لكن انا بضع الاستوب عند الخط البرتقالي (الهدف == الاستوب) اذا ضغطنا عليه دبل كليك سوف نجد Name=التبريد
    هنا استاذنا مستر دولار كيف استطيع مشاهدة هذه الخطوط بداخل المؤشر وبدخل شراء اذا كان الاخضر فوق الخط الابيض وبيع اذا كان الخط الاخضر اقل من الابيض
    والاستوب طبعا الخط البرتقالي كل هذا بمجرد افتتاح شمعة اليوم
    اذا ممكن تشرح لنا كيف نوصل لهذه الخطوط برمجيا وليس مجرد وضع الكود وانا بنسخه بدون فهمه مثل هذا المؤشر ومؤشرات كامريلا وغيرها من المؤشرات حتى تعلم الوصول لها
    واستفيد منها بالدخول ووضع الهدف والاستوب
    بمعنى كيف اوصل للخاصيه Name برمجيا وبعرف السعر عند هذا الخط
    شكرا لك
    وعليكم السلام ورحمة الله وبركاته
    حتى تستطيع معرفة خصائص الكائن على الشارت ( السعر , التوقيت , اللون , .... ) يجب أولا أن تعرف إسمه
    لمعرفة خصائص الكائن تستخدم الداله
    كود PHP:
    double  ObjectGet(string object_name,int index); 
    object_name هو إسم الكائن
    index هو القيمه التي تريد معرفتها مثال
    كود PHP:
     double price=  ObjectGet("Line1",OBJPROP_PRICE1); 
    أحيانا لا تعرف إسم الكائن نفسه في هذه الحاله ستختلف الطريقه مثلا في هذا المؤشر يمكن أن تبحث عن جميع الكائنات على الشارت ثم تقارن إذا كان لونه برتقالي فهذا ما تبحث عنه
    مثال
    كود PHP:
    double price;
    for(
    int i=ObjectsTotal()-1;i>=0;i--)
    {
     
    string name=ObjectName(i);
     if(
    ObjectGet(name,OBJPROP_COLOR)==Orange)
     {
      
    price=ObjectGet(name,OBJPROP_PRICE1);
      break;
     }


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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة forex007 مشاهدة المشاركة
    شباب لدي استفسار بسيط
    ساعدني اخي اعصار ريتا بداله اعادة حجم لوت المناسب بناء على الاستوب
    بمعنى اذا وضعت 1 % وتم ضرب الاستوب تكون خسارة راس المال 1 % فقط
    كود:
     double LotManage(int stoploss)
      {
      
        double percent = (AccountBalance() *  RiskPercent) /100;
        double lot;
        if(MarketInfo(Symbol(),MODE_LOTSIZE)==100000)lot=(percent/stoploss)/10;
         if(MarketInfo(Symbol(),MODE_LOTSIZE)==10000)lot=(percent/stoploss)/1;
          if(MarketInfo(Symbol(),MODE_LOTSIZE)==1000)lot=(percent/stoploss)/0.1;
          if(lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT);
          if(lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT);
          
           
           return (lot);
      }
    ارغب اضافة تعديل لهذه الدالة بحيث قبل ماتعيد لنا حجم اللوت تقوم بالبحث عن صفقه مفتوحة حالياً بنفس الماجيك نمبر اذا وجدت صفقة مفتوحة تعيد لنا حجم لوت الصفقه المفتوحة
    بمعنى دخل الاكسبيرت أول صفقة شراء بلوت 0.10 اذا ضرب الاستوب يكون قد خسر 1 % وظهرت صفقة شراء ثانيه والصفقة الاولى مازالت (مفتوحة) لم تغلق بعد هنا الدالة تعيد لنا حجم لوت الصفقة الاولى وهو 0.10 ذلك بناء على الماجيك نمبر
    ارجو يكون طلب واضح
    شكرا لكم
    سوف تقوم بعمل دالة للبحث عن حجم لوت الصفقه المفتوحه
    مثال
    كود PHP:
    double OrderLot()
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       return(
    OrderLot());
      }
     }
     return(
    0);

    ثم ستضع من ضمن شروط دالة إدارة رأس المال
    كود PHP:
    double LotManage(int stoploss)
      {
        if(
    OrderLot()>0)return(OrderLot());
        
    double percent = (AccountBalance() *  RiskPercent) /100;
        
    double lot;
        if(
    MarketInfo(Symbol(),MODE_LOTSIZE)==100000)lot=(percent/stoploss)/10;
         if(
    MarketInfo(Symbol(),MODE_LOTSIZE)==10000)lot=(percent/stoploss)/1;
          if(
    MarketInfo(Symbol(),MODE_LOTSIZE)==1000)lot=(percent/stoploss)/0.1;
          if(
    lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT);
          if(
    lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT);
          
           
           return (
    lot);
      } 

  7. #6592
    الصورة الرمزية forex007
    forex007 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2015
    الإقامة
    مصر
    المشاركات
    206

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    حتى تستطيع معرفة خصائص الكائن على الشارت ( السعر , التوقيت , اللون , .... ) يجب أولا أن تعرف إسمه
    لمعرفة خصائص الكائن تستخدم الداله
    كود PHP:
    double  ObjectGet(string object_name,int index); 
    object_name هو إسم الكائن
    index هو القيمه التي تريد معرفتها مثال
    كود PHP:
     double price=  ObjectGet("Line1",OBJPROP_PRICE1); 
    أحيانا لا تعرف إسم الكائن نفسه في هذه الحاله ستختلف الطريقه مثلا في هذا المؤشر يمكن أن تبحث عن جميع الكائنات على الشارت ثم تقارن إذا كان لونه برتقالي فهذا ما تبحث عنه
    مثال
    كود PHP:
    double price;
    for(
    int i=ObjectsTotal()-1;i>=0;i--)
    {
     
    string name=ObjectName(i);
     if(
    ObjectGet(name,OBJPROP_COLOR)==Orange)
     {
      
    price=ObjectGet(name,OBJPROP_PRICE1);
      break;
     }

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

  8. #6593
    الصورة الرمزية forex007
    forex007 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2015
    الإقامة
    مصر
    المشاركات
    206

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    سوف تقوم بعمل دالة للبحث عن حجم لوت الصفقه المفتوحه
    مثال
    كود PHP:
    double OrderLot()
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       return(
    OrderLot());
      }
     }
     return(
    0);

    ثم ستضع من ضمن شروط دالة إدارة رأس المال
    كود PHP:
    double LotManage(int stoploss)
      {
        if(
    OrderLot()>0)return(OrderLot());
        
    double percent = (AccountBalance() *  RiskPercent) /100;
        
    double lot;
        if(
    MarketInfo(Symbol(),MODE_LOTSIZE)==100000)lot=(percent/stoploss)/10;
         if(
    MarketInfo(Symbol(),MODE_LOTSIZE)==10000)lot=(percent/stoploss)/1;
          if(
    MarketInfo(Symbol(),MODE_LOTSIZE)==1000)lot=(percent/stoploss)/0.1;
          if(
    lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT);
          if(
    lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT);
          
           
           return (
    lot);
      } 
    عاشت ايدك اخي الحبيب مستر دولار
    الداله تعمل 100 % بدون مشاكل حفظك الله ورعاك

  9. #6594
    الصورة الرمزية first knight
    first knight غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2014
    الإقامة
    مصر
    المشاركات
    26

    افتراضي

    السلام عليكم ورحمة الله وبركاتة
    اساتذتي المبرمجين
    في هذا الاكسبيرت اريد اذا وضعته على الشارت لا يضع الامر المعلق مباشرتا
    ولكن ينتظر افتتاح شمعة جديدة
    حاولت ان اعمل ذلك بطريقتين مختلفتين ولكن الاكسبيرت يضع الاوامر المعلقة مباشرتا
    الرجاء المساعده
    هذه المحاوله الاولي
    كود:
    //+------------------------------------------------------------------+
    //|                                           pending order time.mq4 |
    //|                        Copyright 2015, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2015, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
    
    
    extern double             Manual_Lot                        = 1;
    extern int                Pending_Distance                  = 30;
    extern int                Magic_Number                      = 6666;  
    
    double             A;
    datetime Timee;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
    {
    if(Digits==3||Digits==5)A=10;else A=1;
    return(INIT_SUCCEEDED);
    }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
    {
    
       
    }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
    {
      
          if(Timee!=Time[0] && Counting_Opend_Orders(OP_BUYSTOP) == 0 )      
      {                                      
          bool Buy_Stop_Order  = OrderSend(Symbol(),OP_BUYSTOP,Manual_Lot, Ask +(Pending_Distance*Point*A),3,0,0,NULL,Magic_Number,0,clrNONE);
      }
    
          if(Timee!=Time[0] && Counting_Opend_Orders(OP_SELLSTOP) == 0 )      
      {                                                           
          bool Sell_Stop_Order = OrderSend(Symbol(),OP_SELLSTOP,Manual_Lot,Bid -(Pending_Distance*Point*A),3,0,0,NULL,Magic_Number,0,clrNONE);
        
      }
       
    }
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    
    //+------------------------------------------------------------------+
    //|              وظيفة عد الصفقات المفتوحة حسب النوع                 |
    //+------------------------------------------------------------------+
    int Counting_Opend_Orders (int type)
    {
          int cnt=0;
          for(int i =0;i<OrdersTotal();i++)
      {
          if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
          if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic_Number && OrderType()==type)
      {
          cnt++;
      }
      }
      }
          return(cnt);
    } 
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    المحاوله الثانية
    كود:
    //+------------------------------------------------------------------+
    //|                                           pending order time.mq4 |
    //|                        Copyright 2015, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2015, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
    
    extern double             Manual_Lot                        = 1;
    extern int                Pending_Distance                  = 30;
    extern int                Magic_Number                      = 6666;  
    
    double             A;
    datetime           Timee;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
    {
    if(Digits==3||Digits==5)A=10;else A=1;
    return(INIT_SUCCEEDED);
    }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
    {
    
       
    }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
    {
    
          if( NewCandle()==true && Counting_Opend_Orders(OP_BUYSTOP) == 0 )      
      {                                      
          bool Buy_Stop_Order  = OrderSend(Symbol(),OP_BUYSTOP,Manual_Lot, Ask +(Pending_Distance*Point*A),3,0,0,NULL,Magic_Number,0,clrNONE);
      }
    
          if( NewCandle()==true && Counting_Opend_Orders(OP_SELLSTOP) == 0 )      
      {                                                           
          bool Sell_Stop_Order = OrderSend(Symbol(),OP_SELLSTOP,Manual_Lot,Bid -(Pending_Distance*Point*A),3,0,0,NULL,Magic_Number,0,clrNONE);
        
      }
       
    }
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    
    //+------------------------------------------------------------------+
    //|              وظيفة عد الصفقات المفتوحة حسب النوع                 |
    //+------------------------------------------------------------------+
    int Counting_Opend_Orders (int type)
    {
          int cnt=0;
          for(int i =0;i<OrdersTotal();i++)
      {
          if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
          if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic_Number && OrderType()==type)
      {
          cnt++;
      }
      }
      }
          return(cnt);
    } 
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    bool NewCandle()
    {
       static int BarsOnChart=0;
    	if (Bars == BarsOnChart)
    	return (false);
    	BarsOnChart = Bars;
    	return(true);
    }
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    الملفات المرفقة الملفات المرفقة

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة first knight مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاتة
    اساتذتي المبرمجين
    في هذا الاكسبيرت اريد اذا وضعته على الشارت لا يضع الامر المعلق مباشرتا
    ولكن ينتظر افتتاح شمعة جديدة
    حاولت ان اعمل ذلك بطريقتين مختلفتين ولكن الاكسبيرت يضع الاوامر المعلقة مباشرتا
    الرجاء المساعده
    هذه المحاوله الاولي
    كود:
    //+------------------------------------------------------------------+
    //|                                           pending order time.mq4 |
    //|                        Copyright 2015, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2015, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
     
     
    extern double             Manual_Lot                        = 1;
    extern int                Pending_Distance                  = 30;
    extern int                Magic_Number                      = 6666;  
     
    double             A;
    datetime Timee;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
    {
    if(Digits==3||Digits==5)A=10;else A=1;
    return(INIT_SUCCEEDED);
    }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
    {
     
       
    }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
    {
      
          if(Timee!=Time[0] && Counting_Opend_Orders(OP_BUYSTOP) == 0 )      
      {                                      
          bool Buy_Stop_Order  = OrderSend(Symbol(),OP_BUYSTOP,Manual_Lot, Ask +(Pending_Distance*Point*A),3,0,0,NULL,Magic_Number,0,clrNONE);
      }
     
          if(Timee!=Time[0] && Counting_Opend_Orders(OP_SELLSTOP) == 0 )      
      {                                                           
          bool Sell_Stop_Order = OrderSend(Symbol(),OP_SELLSTOP,Manual_Lot,Bid -(Pending_Distance*Point*A),3,0,0,NULL,Magic_Number,0,clrNONE);
        
      }
       
    }
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
     
    //+------------------------------------------------------------------+
    //|              وظيفة عد الصفقات المفتوحة حسب النوع                 |
    //+------------------------------------------------------------------+
    int Counting_Opend_Orders (int type)
    {
          int cnt=0;
          for(int i =0;i<OrdersTotal();i++)
      {
          if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
          if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic_Number && OrderType()==type)
      {
          cnt++;
      }
      }
      }
          return(cnt);
    } 
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    المحاوله الثانية
    كود:
    //+------------------------------------------------------------------+
    //|                                           pending order time.mq4 |
    //|                        Copyright 2015, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2015, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
     
    extern double             Manual_Lot                        = 1;
    extern int                Pending_Distance                  = 30;
    extern int                Magic_Number                      = 6666;  
     
    double             A;
    datetime           Timee;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
    {
    if(Digits==3||Digits==5)A=10;else A=1;
    return(INIT_SUCCEEDED);
    }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
    {
     
       
    }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
    {
     
          if( NewCandle()==true && Counting_Opend_Orders(OP_BUYSTOP) == 0 )      
      {                                      
          bool Buy_Stop_Order  = OrderSend(Symbol(),OP_BUYSTOP,Manual_Lot, Ask +(Pending_Distance*Point*A),3,0,0,NULL,Magic_Number,0,clrNONE);
      }
     
          if( NewCandle()==true && Counting_Opend_Orders(OP_SELLSTOP) == 0 )      
      {                                                           
          bool Sell_Stop_Order = OrderSend(Symbol(),OP_SELLSTOP,Manual_Lot,Bid -(Pending_Distance*Point*A),3,0,0,NULL,Magic_Number,0,clrNONE);
        
      }
       
    }
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
     
    //+------------------------------------------------------------------+
    //|              وظيفة عد الصفقات المفتوحة حسب النوع                 |
    //+------------------------------------------------------------------+
    int Counting_Opend_Orders (int type)
    {
          int cnt=0;
          for(int i =0;i<OrdersTotal();i++)
      {
          if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
          if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic_Number && OrderType()==type)
      {
          cnt++;
      }
      }
      }
          return(cnt);
    } 
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
     
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    bool NewCandle()
    {
       static int BarsOnChart=0;
        if (Bars == BarsOnChart)
        return (false);
        BarsOnChart = Bars;
        return(true);
    }
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    وعليكم السلام ورحمة الله وبركاته
    بداخل الداله init إجعل
    كود PHP:
    Timee=Time[0]; 
    بالتالي عندما يبدأ الإكسبرت في العمل فالشرط Timee!=Time[0] لن يتحقق إلا عند بدء شمعه جديده

  11. #6596
    الصورة الرمزية first_knight
    first_knight غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2014
    الإقامة
    المملكة العربية السعودية
    المشاركات
    170

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    بداخل الداله init إجعل
    كود PHP:
    Timee=Time[0]; 
    بالتالي عندما يبدأ الإكسبرت في العمل فالشرط Timee!=Time[0] لن يتحقق إلا عند بدء شمعه جديده
    شكرا جزيلا مستر دولار

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

    افتراضي

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

  13. #6598
    الصورة الرمزية أحمد عبده
    أحمد عبده غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2015
    الإقامة
    مصر
    المشاركات
    10

    افتراضي

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

    هي يوجد أمر يخبرني بالسعر الحالي لعملة معينة في فريم محدد
    يختلف عن الشارت الذي أعمل عليه حاليا
    مثلا Ask يعطيني سعر الشراء الحالي على الشارت الذي أعمل عليه
    ولكني أحتاج لمعرفة سعر الشراء لعمله أخرى في فريم مختلف عن الشارت المفتوح أمامي

    واعتذر للإطالة

  14. #6599
    الصورة الرمزية اعصار ريتا
    اعصار ريتا غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2007
    الإقامة
    السعودية
    المشاركات
    438

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة abo_samar مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته
    استاذنا الكريم مستر دولار
    اريد داله تحسب اقرب قمه واقرب قاع للسعر الحالى
    بحيث اذا دخلت شراء يكون الاستوب لوز اقرب قاع للسعر
    واذا دخلت بيع يكون الاستوب لوز اقرب قمه للسعر
    وجزاكم الله خيرا لما تقدمه من مساعدات للاخوة الكرام
    وعليكم السلام
    يجب ان تحدد ماهي شروط القمه والقاع التي تريدها
    مثلا اذا اردت استخدام الزجزاج وهو الاكثر استخدام لتحديدها
    اخر قمه
    كود:
    double zaghigh(){
         for(int i=0;i<500;i++){
        double zig=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i);
        if(zig!=0&&(zig==Low[i])){
        zig=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i);
        break;
       } }
        for(int s=i;s<500;s++){
        double zagbuy=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,s);
        if(zagbuy!=0&&zagbuy==High[s]){
        zagbuy=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,s);
        break;
         }}
       
         return(zagbuy);
         }
    ثم قبل امر البيع
    كود:
    if (UsezigzagSL)StopLoss=((zaghigh()-Bid)/point);
    اخر قاع
    كود:
    double zaglow(){
         for(int ii=0;ii<500;ii++){
        double zigg=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,ii);
        if(zigg!=0&&(zigg==High[ii])){
        zigg=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,ii);
        break;
        
        }}
      
        for(int d=ii;d<500;d++){
        double zagsell=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,d);
        if(zagsell!=0&&zagsell==Low[d]){
         zagsell=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,d);
        break;
         
        }}
         
         
        return(zagsell);
        }
    ثم قبل امر الشراء
    كود:
    if (UsezigzagSL)StopLoss=((Ask-zaglow())/point);
    وتعريف المتغيرات الخارجيه لتعطيل وتفعيل خيار استخدام الزجزاج
    كود:
    extern string a1="zigzag stoploss";
    extern bool UsezigzagSL=false;
    extern int ExtDepth=12;
    extern int ExtDeviation=5;
    extern int ExtBackstep=3;

  15. #6600
    الصورة الرمزية اعصار ريتا
    اعصار ريتا غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2007
    الإقامة
    السعودية
    المشاركات
    438

    افتراضي

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

    هي يوجد أمر يخبرني بالسعر الحالي لعملة معينة في فريم محدد
    يختلف عن الشارت الذي أعمل عليه حاليا
    مثلا Ask يعطيني سعر الشراء الحالي على الشارت الذي أعمل عليه
    ولكني أحتاج لمعرفة سعر الشراء لعمله أخرى في فريم مختلف عن الشارت المفتوح أمامي

    واعتذر للإطالة
    وعليكم السلام
    استخدم الامر marketinfo
    مثال
    كود:
    MarketInfo("EURUSD",MODE_BID);
          MarketInfo("EURUSD",MODE_ASK);

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

  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