Уровень предполагаемого убытка в пунктах

Уровень предполагаемого убытка в пунктах

Уровень предполагаемого убытка в пунктах открытых ордеров, у которых установлен стоп-лосс.

Данная mql4-функция считает, сколько пунктов будет потеряно, если серия ордеров закроется по стоп-лоссу.

Аргументы функции:

  1. sy — Символ;
  2. op — тип ордера(OP_BUY или OP_SELL);
  3. mn — магик ордеров.

int BezubitokOrderov(string sy,int op,int mn)
  {
   datetime t;
   int   profit;
   int      dg,i,j=-1,k=OrdersTotal();

   double p=MarketInfo(OrderSymbol(),MODE_POINT);

   if(p==0 || StringFind(OrderSymbol(),"JPY")<0) p=0.0001; else p=0.01;

   if(op==OP_BUY)
     {
      for(i=0; i<k; i++)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
           {
            if(OrderSymbol()==sy && OrderType()==OP_BUY && OrderMagicNumber()==mn && OrderStopLoss()>0)
              {
               profit+=(OrderStopLoss()-OrderOpenPrice())/_Point;
              }
           }
        }
        return(profit);
     }
   if(op==OP_SELL)
     {
      for(i=0; i<k; i++)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
           {
            if(OrderSymbol()==sy && OrderMagicNumber()==mn && OrderStopLoss()>0 && OrderType()==OP_SELL)
              {
               profit+=(OrderStopLoss()-OrderOpenPrice())/_Point;
              }
           }
        }
      return(profit);
     }
   return(-1);
  }


Поделись с друзьями:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *