النتائج 1 إلى 8 من 8
  1. #1
    الصورة الرمزية Dr_3abkarino
    Dr_3abkarino غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Mar 2010
    الإقامة
    مصر
    المشاركات
    1,853

    افتراضي ياريت يا شباب حد يساعدنى بهذا الاكسبيرت

    السلام عليكم جميعا

    السادة مبرمجى المنتدى الاعزاء

    لى طلب بسيط
    وهو اكسبيرت يقوم بـ:
    يعرض قرائات مؤشر ATR للازواج المفتوح عليها صفقات ويجمعهم
    وعندما يظهر مجموع نقاط الصفقات المفتوحة الى نفس المجموع على الاكسبيرت

    يقوم بإغلاق كل الصفقات المفتوحة


    مثال للتوضيح:
    لدى 3 صفقات مفتوحة على اليورو و الباوند والكندى , فيقوم الاكسبيرت بعرض قرائات مؤشر ATR الخاص بهم



    Pair ATR
    EURUSD 55
    GBPUSD 34
    USD CAD 63
    TOTAL 152


    وبالتالى عندما تصل كل الصفقات المفتوحة الى ربح 152 نقطة يقوم الاكسبيرت باغلاقهم جميعا


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

  2. #2
    الصورة الرمزية hamza_ghennami
    hamza_ghennami غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2019
    الإقامة
    الولايات المتحدة
    المشاركات
    72

    افتراضي

    تفضل .........
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                               Close_With_ATR.mq4 |
    //|                        Copyright 2019, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2019, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
    extern int ATR_Period=14;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
       
    //---
       
    return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //---
       
      
    }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //---
       
    if(Get_Orders_Profits()>=Get_Orders_ATR())Close_Trades();
      }
    //+------------------------------------------------------------------+
    double Get_Orders_Profits(){
      
    double Profits=0,Lots=0;
       for(
    int i=OrdersTotal()-1i>=0i--)
                {
                if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                   if(
    OrderType()<2)
                     
    Profits+=OrderProfit();
                        
    Lots+=OrderLots();
                        }
            return((
    Profits/Lots)/10);
          }
    //+------------------------------------------------------------------+
    double Get_Orders_ATR(){
      
    double ATR_Total=0;
       for(
    int i=OrdersTotal()-1i>=0i--)
                {
                if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                   if(
    OrderType()<2)
                     
    ATR_Total+=iATR(OrderSymbol(),0,ATR_Period,0);
                        }
            return(
    ATR_Total);
          }
    //+-------------------------------------------------------------------+
    void Close_Trades(){
       for(
    int i=OrdersTotal()-1i>=0i--)
          {
            if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
              if(
    OrderType()==OP_BUY)
                   {
                      if(!
    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,clrGreen))printf("Failure To Close The Order",GetLastError());
                     }
                   else if(
    OrderType()==OP_SELL)
                   if(!
    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,clrRed))printf("Failure To Close The Order",GetLastError());
                  } 
               }
    //+-------------------------------------------------------------------+ 

  3. #3
    الصورة الرمزية hamza_ghennami
    hamza_ghennami غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2019
    الإقامة
    الولايات المتحدة
    المشاركات
    72

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة hamza_ghennami مشاهدة المشاركة
    تفضل .........
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                               Close_With_ATR.mq4 |
    //|                        Copyright 2019, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2019, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
    extern int ATR_Period=14;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
       
    //---
       
    return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //---
       
      
    }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //---
       
    if(Get_Orders_Profits()>=Get_Orders_ATR())Close_Trades();
      }
    //+------------------------------------------------------------------+
    double Get_Orders_Profits(){
      
    double Profits=0,Lots=0;
       for(
    int i=OrdersTotal()-1i>=0i--)
                {
                if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                   if(
    OrderType()<2)
                     
    Profits+=OrderProfit();
                        
    Lots+=OrderLots();
                        }
            return((
    Profits/Lots)/10);
          }
    //+------------------------------------------------------------------+
    double Get_Orders_ATR(){
      
    double ATR_Total=0;
       for(
    int i=OrdersTotal()-1i>=0i--)
                {
                if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                   if(
    OrderType()<2)
                     
    ATR_Total+=iATR(OrderSymbol(),0,ATR_Period,0);
                        }
            return(
    ATR_Total);
          }
    //+-------------------------------------------------------------------+
    void Close_Trades(){
       for(
    int i=OrdersTotal()-1i>=0i--)
          {
            if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
              if(
    OrderType()==OP_BUY)
                   {
                      if(!
    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,clrGreen))printf("Failure To Close The Order",GetLastError());
                     }
                   else if(
    OrderType()==OP_SELL)
                   if(!
    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,clrRed))printf("Failure To Close The Order",GetLastError());
                  } 
               }
    //+-------------------------------------------------------------------+ 
    عذرا كان فيه خطأ وتم التصحيح ............
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                               Close_With_ATR.mq4 |
    //|                        Copyright 2019, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2019, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
    extern int ATR_Period=14;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
       
    //---
       
    return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //---
       
      
    }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //---
       
    if(Get_Orders_Profits()>=Get_Orders_ATR())Close_Trades();
      }
    //+------------------------------------------------------------------+
    double Get_Orders_Profits(){
      
    double Profits=0,Lots=0;
       for(
    int i=OrdersTotal()-1i>=0i--)
                {
                if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                   if(
    OrderType()<2)
                     
    Profits+=OrderProfit();
                        
    Lots+=OrderLots();
                        }
            return((
    Profits/Lots)/10);
          }
    //+------------------------------------------------------------------+
    double Get_Orders_ATR(){
      
    double ATR_Total=0;
       for(
    int i=OrdersTotal()-1i>=0i--)
                {
                if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                   if(
    OrderType()<2)
                     
    ATR_Total+=(iATR(OrderSymbol(),0,ATR_Period,0)/Pips(OrderSymbol()));
                        }
            return(
    ATR_Total);
          }
    //+-------------------------------------------------------------------+
    void Close_Trades(){
       for(
    int i=OrdersTotal()-1i>=0i--)
          {
       if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        if(
    OrderType()==OP_BUY){
         if(!
    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,clrGreen))printf("Failure To Close The Order",GetLastError());}
          else if(
    OrderType()==OP_SELL)
           if(!
    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,clrRed))printf("Failure To Close The Order",GetLastError());
                  } 
               }
    //+-------------------------------------------------------------------+
    double Pips(string SYMBOL){
     
    double pips=0;
      
    double ticksize=MarketInfo(SYMBOL,MODE_TICKSIZE);
       if(
    ticksize==0.00001 || ticksize==0.001)
          
    pips=ticksize*10;
            else 
    pips=ticksize;
          return(
    pips);
         }
    //+-------------------------------------------------------------------+ 

  4. #4
    الصورة الرمزية Dr_3abkarino
    Dr_3abkarino غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Mar 2010
    الإقامة
    مصر
    المشاركات
    1,853

    افتراضي

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

  5. #5
    الصورة الرمزية hamza_ghennami
    hamza_ghennami غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2019
    الإقامة
    الولايات المتحدة
    المشاركات
    72

    افتراضي

    االعفو يا الغالي

  6. #6
    الصورة الرمزية Dr_3abkarino
    Dr_3abkarino غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Mar 2010
    الإقامة
    مصر
    المشاركات
    1,853

    افتراضي

    'New MQL4 Source File.mq4' New MQL4 Source File.mq4 1 1
    'كود' - unexpected token, probably type is missing? New MQL4 Source File.mq4 2 1
    'PHP' - semicolon expected New MQL4 Source File.mq4 2 5
    'ATR_Period' - undeclared identifier New MQL4 Source File.mq4 58 51
    3 error(s), 0 warning(s) 4 1
    توقيع العضو
    ليس المهم عدد الصفقات الرابحة و الخاسرة بل المهم هو
    "كم نقطة ربحت عندما ربحت وكم خسرت عندما خسرت"

  7. #7
    الصورة الرمزية hamza_ghennami
    hamza_ghennami غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2019
    الإقامة
    الولايات المتحدة
    المشاركات
    72

  8. #8
    الصورة الرمزية Dr_3abkarino
    Dr_3abkarino غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Mar 2010
    الإقامة
    مصر
    المشاركات
    1,853

    افتراضي

    اخى الكريم تم وضعه على الشارت لكنه لا يعرض القراءة الحالية للـATR للعملات المفتوحة
    توقيع العضو
    ليس المهم عدد الصفقات الرابحة و الخاسرة بل المهم هو
    "كم نقطة ربحت عندما ربحت وكم خسرت عندما خسرت"


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17