Вопрос по работе с историей

 
Мне нужно получить прибыль последних десяти сделок. Именно последних, причем в порядке совершения (результатом должен быть массив из 10 элементов). Всвязи с этим вопрос - будет ли этот код выдавать ордера в порядке:
а) открытия
б) закрытия:


for(int nCnt = 0; nCnt < OrdersTotal(); nCnt++)
{
OrderSelect(nCnt, SELECT_BY_POS, MODE_HISTORY);
if(OrderMagicNumber() == nMagic && OrderType() <= OP_SELL && OrderSymbol() == Symbol())
{
dProfit = OrderProfit();
...
}
}
}


Как вообще решить такую задачу средствами MQL?

С уважением,
Кварк
 
Так что - никто не знает?
:(
 
Всвязи с этим вопрос - будет ли этот код выдавать ордера в порядке:
а) открытия
б) закрытия:

Так а самому проверит трудно?
Поставь Print (........) и посмотри.
 
Всвязи с этим вопрос - будет ли этот код выдавать ордера в порядке:
а) открытия
б) закрытия:

Так а самому проверит трудно?
Поставь Print (........) и посмотри.


Можно, конечно, и так. Но неудобно. Особенно если учесть, что для этого надо сначала открыть несколько ордеров, потом закрыть их в произвольном порядке...

Более глобальная проблема - в хелпе сплошь и рядом не документированны подобные мелочи. Это уже как пожелание разработчикам. Например, как правильно:
1. for(nCnt = 0; nCnt < OrdersTotal(); nCnt++)
2. for(nCnt = 1; nCnt <= OrdersTotal(); nCnt++)

В экспертах на форумах я видел и так и так, так что проблема не только моя.

Или:
Highest(mode, range, first)
(кстати, в билде 170 хелп и по этой функции перестал работать)
В хелпе ни слова о том, в каком направлении ведется отсчет от первого бара. Также есть способ изменить направление, по которому в массиве прирастает индекс (есть такая функция). Как при этом поведет себя Highest? Тоже неизвестно.

Можно, конечно, все перепробовать. Но лучше иногда обращать внимание разработчиков. Как показывает практика, они исправляют ошибки, на которые им указывают в форумах...
 
Более глобальная проблема - в хелпе сплошь и рядом не документированны подобные мелочи.

Согласен.
Поэтому и приходится использовать Print(....),
как один из основных инструментов изучения MQL :))
 
Можно, конечно, и так. Но неудобно.

Вы только представьте, сколько времени сэкономите себе и остальным, если воспользуетесь советом "в программировании ты все должен делать сам, проведя исследование, а не жаловаться".

Это реальный совет, который заставляет _думать_самостоятельно_, а не ждать что кто-то принесет очередное решение на тарелочке.
 
Можно, конечно, и так. Но неудобно.

Вы только представьте, сколько времени сэкономите себе и остальным, если воспользуетесь советом "в программировании ты все должен делать сам, проведя исследование, а не жаловаться".

Это реальный совет, который заставляет _думать_самостоятельно_, а не ждать что кто-то принесет очередное решение на тарелочке.


Я так и делаю. Только не жалуйтесь потом, что запросы к дилеру приходят каждые полторы секунды. Хотя да, дилеры же не ваши...

Я постараюсь задавать вопросы пореже.
Причина обращения: