Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 898

 
Sile Si:

Так, я так и делаю

потом id сделки сравниваю с тикетом позиции, и считаю что выбрала сделку,

но возвращает цену позиции. Почему?

Вопрос на засыпку: с помощью

PositionGetDouble(POSITION_PRICE_OPEN)

Вы получаете цену сделки? Или все таки цену позиции?

 
Alexey Kozitsyn:

Вопрос на засыпку: с помощью

Вы получаете цену сделки? Или все таки цену позиции?

Ну-у, если я предварительно выбрала сделку, значит это цена сделки. В документации не нашла цену открытия сделки.

 
Sile Si:

Ну-у, если я предварительно выбрала сделку, значит это цена сделки. В документации не нашла цену открытия сделки.

Каким образом Вы выбираете сделку? Какой функцией?

Ведь в МТ5 нет тривиального способа определения цены открытия сделки (не позиции). В частных случаях это возможно (когда сделка по параметрам совпадает с позицией), но универсального способа нет.

 
Ihor Herasko:

Каким образом Вы выбираете сделку? Какой функцией?

Ведь в МТ5 нет тривиального способа определения цены открытия сделки (не позиции). В частных случаях это возможно (когда сделка по параметрам совпадает с позицией), но универсального способа нет.

Выбирала сделку по id 

DEAL_POSITION_ID

Идентификатор позиции, в открытии, изменении или закрытии которой участвовала эта сделка. Каждая позиция имеет уникальный идентификатор, который присваивается всем сделкам, совершенным на инструменте в течение всей жизни позиции.

long

 
Sile Si:

Выбирала сделку по id 

DEAL_POSITION_ID

Идентификатор позиции, в открытии, изменении или закрытии которой участвовала эта сделка. Каждая позиция имеет уникальный идентификатор, который присваивается всем сделкам, совершенным на инструменте в течение всей жизни позиции.

long


Сейчас пробую по другому.  В тестере, среднюю цену считает правильно. На реале, какую то чужую цену показывает в коммент.

На счетах типа Netting позиция и сделка - разные понятия. Вы сейчас показали выбор позиции.

 
Как в mql5 найти максимум за N баров? Подобие iHighest
 
lil_lil:
Как в mql5 найти максимум за N баров? Подобие iHighest

А чем не устраивает iHighest?

 
lil_lil:
Как в mql5 найти максимум за N баров? Подобие iHighest

CopyHigh в массив и ArrayMaximum  в этом массиве.

Это будет максимальное значение в отличии от iHighest который возвращает индекс бара с максимальным значением.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyHigh
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyHigh
  • www.mql5.com
Функция получает в массив high_array исторические данные максимальных цен баров для указанной пары символ-период в указанном количестве. Необходимо отметить, что отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества...
 
lil_lil:
Как в mql5 найти максимум за N баров? Подобие iHighest
//+------------------------------------------------------------------+
//| Возвращает индекс максимального значения таймсерии High          |
//+------------------------------------------------------------------+
int Highest(const int count,const int start)
  {
   double array[];
   ArraySetAsSeries(array,true);
   return(CopyHigh(Symbol(),PERIOD_CURRENT,start,count,array)==count ? ArrayMaximum(array)+start : WRONG_VALUE);
  }
//+------------------------------------------------------------------+
//| Возвращает индекс минимального значения таймсерии Low            |
//+------------------------------------------------------------------+
int Lowest(const int count,const int start)
  {
   double array[];
   ArraySetAsSeries(array,true);
   return(CopyLow(Symbol(),PERIOD_CURRENT,start,count,array)==count ? ArrayMinimum(array)+start : WRONG_VALUE);
   return WRONG_VALUE;
  }
//+------------------------------------------------------------------+
 
Спасибо.
Причина обращения: