Ошибки, баги, вопросы - страница 1862

 
Slawa:

Да, отсортированы по времени. Начальная запись ищется двоичным поиском.

Последнюю запись разве не логично искать так же?

Очень напрягает организация работы с историей. HFT в тестере - почти нереально. Написал по этому поводу несколько постов на форуме и оформил в виде заявки в СД.


И еще, если в терминале и так есть история, то почему к ней обязываете обращаться через HistorySelect, а не по принципу MT4 - SELECT_BY_POS? И что совсем непонятно, зачем HistoryDealGet* реализован через тикет с соответствующей O(N), когда логично опять же через SELECT_BY_POS?


Очень интересные записи

HistoryDealGetInteger(DealTicket, DEAL_TICKET);
HistoryOrderGetInteger(OrderTicket, ORDER_TICKET);
 
fxsaber:

Последнюю запись разве не логично искать так же?


Зачем?

От времени до времени. Начальное время нашёл, а дальше идёт поэлементное копирование. До конечного времени.

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

 
Slawa:

Зачем?

От времени до времени. Начальное время нашёл, а дальше идёт поэлементное копирование. До конечного времени.

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

Для того, чтобы копировать кусками, а не поэлементно. Т.е. через двоичный поиск находим оба индекса, а дальше кусок первого блока, все блоки полностью до последнего и оставшийся кусок - последнего.
 
fxsaber:

Очень напрягает организация работы с историей. HFT в тестере - почти нереально.


Решается алгоритмичнски.

Для HFT не надо каждый раз лазить в историю. Подготовьте необходимую информацию в процессе инициализации и держите её наготове, чтобы очень быстро доступаться

 
Slawa:

Решается алгоритмичнски.

Для HFT не надо каждый раз лазить в историю. Подготовьте необходимую информацию в процессе инициализации и держите её наготове, чтобы очень быстро доступаться

А узнать, как закрылась последняя позиция?
 
fxsaber:

 и оформил в виде заявки в СД.

А вот это совершенно непонятно, зачем. Хотите дискуссии, проводите её здесь. В сервисдеске не учат программированию
 
fxsaber:
А узнать, как закрылась последняя позиция?

Во время инициализации сходили один раз и запомнили.

В процессе работы самостоятельно сохраняйте всю нужную информацию. Все инструменты есть

 
Slawa:
А вот это совершенно непонятно, зачем. Хотите дискуссии, проводите её здесь. В сервисдеске не учат программированию

Сталкивался несколько раз, когда разработчики в силу своих обстоятельств пропускают сообщение. В СД так не выходит.


Дело не в уровне владения программированием. И, наверное, он неплох у меня, что касается MQL5. Привожу доводы, что работа с историей очень медленная и странная, с точки зрения даже логики использования. HistoryDealGet*- O(N). Почему все так сделали? Почему нет нормального доступа к ИМЕЮЩЕЙСЯ истории?

 
Slawa:

Во время инициализации сходили один раз и запомнили.

В процессе работы самостоятельно сохраняйте всю нужную информацию. Все инструменты есть

Нет, дурачка не включаю. Как понять, что позиция закрылась по TP или SL в тестере без обращения к истории?

Вы предлагаете запомнить TP/SL и на тике, где позиции не стало, проверить, удовлетворяет ли тик TP/SL-закрытию? Кому удовлетворяет - по тому уровню с высокой вероятностью закрыл и тестер. Так?

Ну а профит закрытой позиции? - Аналогично? Тогда это уже сродни написанию своего тестера.

 
fxsaber:

Нет, дурачка не включаю. Как понять, что позиция закрылась по TP или SL в тестере без обращения к истории?

Вы предлагаете запомнить TP/SL и на тике, где позиции не стало, проверить, удовлетворяет ли тик TP/SL-закрытию? Кому удовлетворяет - по тому уровню с высокой вероятностью закрыл и тестер. Так?

Ну а профит закрытой позиции? - Аналогично? Тогда это уже сродни написанию своего тестера.

Видимо, я что-то не понимаю в HFT. Насколько я знаю, когда торгуешь "очень быстро", то тебе нет никакого дела до предыдущих сделок.
Причина обращения: