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

 
Nauris Zukas:

Ладно, по другому задам вопрос. На пример, я могу записать все данные в файле (FileWrite), потом  могу все делать с индикатором и компилировать и даже терминал закрыт, но я всегда смогу потом обратится к файлу за данными (FileReadString), они там будут. Вопрос, можно как то записать все данные не в файле а где то в памяти компьютера (или терминала), как например это в массиве? Массив не подойдут, потому как он сбрасывается при компиляций индикатора. Данные должны сохранятся пока терминал открыт.

Ресурсы.

 
fxsaber:

Ресурсы.

Спасибо, наверно начну с этого.

 

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

Так вот после я запрашиваю ордера и в том числе получаю идентификатор позиции по тикету ордера:

long pos_id=HistoryOrderGetInteger(order_ticket,ORDER_POSITION_ID);

10 сделок, каждому соответствует свой ордер. Однако идентификатор я могу получить только для первых двух ордеров, соответствующим первым двум сделкам. Для последующих ордеров идентификатор 0.

Что за мистика?

Deal - Order

2 - 2

3 - 5

4 - 8

5 - 11

...

11 - 29


После каждой открытой сделки я еще два лимитника ставлю в качестве стопов. Поэтому тикеты сделок и ордеров разные. Так вот, идентификатор позиции я могу получить ненулевой только для ордеров с тикетами 2 и 5. Да, позиция эта уже закрыта. Текущей открытой позиции нет.

 
Juer:

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

***

Каким образом у Вас получается открыть ОДНУ позицию ДЕСЯТЬЮ сделками?

Каким образом послав ОДИН торговый приказ Вы получаете ДЕСЯТЬ сделок?


Или опишите ситуацию точнее (тип торгового счёта, название инструмента, направление каждой сделки)

 
Vladimir Karputov:

Каким образом у Вас получается открыть ОДНУ позицию ДЕСЯТЬЮ сделками?

Каким образом послав ОДИН торговый приказ Вы получаете ДЕСЯТЬ сделок?


Или опишите ситуацию точнее (тип торгового счёта, название инструмента, направление каждой сделки)

Ну наверное открываю я позицию одной сделкой. Но другие сделки типа IN в том же направлении принадлежат той же позиции.

Где я написал, что я послал один торговый приказ?

10 сделок в одном направлении (buy в данном случае). 10 ордеров. Но при запросе истории ордеров только у первых двух определяется Position identifier. У остальных 0.

 
Juer:

Ну наверное открываю я позицию одной сделкой. Но другие сделки типа IN в том же направлении принадлежат той же позиции.

Где я написал, что я послал один торговый приказ?

10 сделок в одном направлении (buy в данном случае). 10 ордеров. Но при запросе истории ордеров только у первых двух определяется Position identifier. У остальных 0.

Пожалуйста ответь точнее: Или опишите ситуацию точнее (тип торгового счёта, название инструмента, направление каждой сделки)

 
Vladimir Karputov:

Пожалуйста ответь точнее: Или опишите ситуацию точнее (тип торгового счёта, название инструмента, направление каждой сделки)

BICMarkets-Demo сервер, EURUSD. Сделки Buy, 10 сделок. А потом 10 сделок Sell (out). И после этого я пытаюсь получить идентификатор позиции по номеру ордера (см. выше).

Тип счёта? Что это? Хеджинг или нет? Не знаю даже.

 
Juer:

BICMarkets-Demo сервер, EURUSD. Сделки Buy, 10 сделок. А потом 10 сделок Sell (out). И после этого я пытаюсь получить идентификатор позиции по номеру ордера (см. выше).

Тип счёта? Что это? Хеджинг или нет? Не знаю даже.

Тип счёта: неттинг или хедж. Третьего не дано :) . О, теперь уже 20 сделок. А вначале было 10. В общем хотите нормальный ответ - нормально задайте вопрос.

Перечислите по шагам торговые операции. Приведите журнал терминала - чтобы можно было сравнить с тем, что Вы говорите и имеет в виду.

 

Просматриваю стандартные классы и часто вижу лишние, как мне кажется скобки.

//+------------------------------------------------------------------+
//| Get the property value "POSITION_TYPE"                           |
//+------------------------------------------------------------------+
ENUM_POSITION_TYPE CPositionInfo::PositionType(void) const
  {
   return((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE));
  }

Воз здесь у return зачем, нужны скобки в начале и в конце ?

Вот здесь зачем они ?

//--- return the result
   return(str);
 
pivomoe:

Просматриваю стандартные классы и часто вижу лишние, как мне кажется скобки.

Воз здесь у return зачем, нужны скобки в начале и в конце ?

Вот здесь зачем они ?

Для читабельности

Причина обращения: