не могу найти статью от MQL

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Denis Sartakov
1898
Denis Sartakov  

друзья, помню MQL публиковала статью

о принципах программирования на MQL5.

там подробно описывался механизм получения информации

об открытых позиция, типа, мол позицию надо сначала выбрать в программное окружени,

о потом только становятся доступными  все параметры позиции...

в общем, такая глобальная и капитальная статья...


не могу ее найти...

Ihor Herasko
21177
Ihor Herasko  
Denis Sartakov:

об открытых позиция, типа, мол позицию надо сначала выбрать в программное окружени,

Ради выбора позиции статья как бы и не нужна. Если в MQL4 с этим проблем не было, то в MQL5 все по аналогии:

   for (int i = PositionsTotal() - 1; i >= 0; --i)
   {
      ulong ulTicket = PositionGetTicket(i);
      if (ulTicket == 0)
         continue;
  
      ...
   }
Это для счета типа hedging. Для netting'а цикл не нужен. Просто PositionSelect() и все.
LRA
702
LRA  
Denis Sartakovдрузья, помню MQL публиковала статью

о принципах программирования на MQL5.    .....     не могу ее найти...

Вот эта пойдет?

Denis Sartakov
1898
Denis Sartakov  
Ihor Herasko:

Ради выбора позиции статья как бы и не нужна. Если в MQL4 с этим проблем не было, то в MQL5 все по аналогии:

Это для счета типа hedging. Для netting'а цикл не нужен. Просто PositionSelect() и все.

я вообще в курсе, что и как, но вот переделываю одну чужую прогу и засомневался,

будет ли позиция реально выбрана  после выполнения этой функции:

bool CPositionInfo::SelectByMagic(const string symbol,const ulong magic)
  {
   bool res=false;
   uint total=PositionsTotal();
//---
   for(uint i=0; i<total; i++)
     {
      string position_symbol=PositionGetSymbol(i);
      if(position_symbol==symbol && magic==PositionGetInteger(POSITION_MAGIC))
        {
         res=true;
         break;
        }
     }
//---
   return(res);
  }

то есть в явном виде  Select для позиции отсутствует...

дальше там идет работа с полями позиции:

if (PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) 
    {
      CurrentPrice = CurrentBid;
      PointsGained = (CurrentBid - m_position.PriceOpen())/m_symbol.Point();
    }
Denis Sartakov
1898
Denis Sartakov  

спасибо, друг, но эта не та статья...

Konstantin Nikitin
8631
Konstantin Nikitin  
Denis Sartakov:

я вообще в курсе, что и как, но вот переделываю одну чужую прогу и засомневался,

будет ли позиция реально выбрана  после выполнения этой функции:

то есть в явном виде  Select для позиции отсутствует...

дальше там идет работа с полями позиции:

PositionGetSymbol посмотрите. Все там нормально с выбором позиций.

Denis Sartakov
1898
Denis Sartakov  
Konstantin Nikitin:

PositionGetSymbol посмотрите. Все там нормально с выбором позиций.

да, да, позиция выбирается.

спасибо, друзья.

но статью так и не нашел, там подробно все было,

что, откуда, куда....

Vasiliy Pushkaryov
6970
Vasiliy Pushkaryov  
Denis Sartakov:

да, да, позиция выбирается.

спасибо, друзья.

но статью так и не нашел, там подробно все было,

что, откуда, куда....

Может эта: Ордерa, позиции и сделки в MetaTrader 5 ?

В свое время несколько раз перечитывал, помогла очень после МТ4 понять отличия и понятия.

Во второй части - программные фишки, возможно, то что Вам нужно.

Denis Sartakov
1898
Denis Sartakov  
Vasiliy Pushkaryov:

Может эта: Ордерa, позиции и сделки в MetaTrader 5 ?

В свое время несколько раз перечитывал, помогла очень после МТ4 понять отличия и понятия.

Во второй части - программные фишки, возможно, то что Вам нужно.

вот ! то что надо, то что доктор прописал !

спасибо, друг !

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий