Ошибки, баги, вопросы - страница 1861
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
еще вопрос - это нормально,отсутствие флагов? билд 1585
альпари
fxopen
Bid и/или Ask
Last и Volume
все тики
если везде COPY_TICKS_ALL = COPY_TICKS_INFO + COPY_TICKS_TRADE
то, чему оно равно у альпари?
альпари
fxopen
У них нет ластов.
это понятно, но что тогда прибавляется,чтобы получить COPY_TICKS_ALL?
ведь у них COPY_TICKS_TRADE=0
и тики в истории с отсутствующими флагами - это неизвестный COPY_TICKS_TRADE ?
это понятно, но что тогда прибавляется,чтобы получить COPY_TICKS_ALL?
ведь у них COPY_TICKS_TRADE=0
и тики в истории с отсутствующими флагами - это неизвестный COPY_TICKS_TRADE ?
HistoryDealGet* и HistoryOrderGet*-функции написаны очень странно, с точки зрения производительности.
Когда делаю HistorySelect, например, на 100К отдельных записей. То HistoryDealGet-функция требует первым аргументом не номер записи в исторической таблице, а тикет. При этом таблица отсортирована по времени, а не по тикету. Поэтому при выполнении, первое, что делает HistoryDealGet-функция, это бежит каждый раз по таблице и ищет подходящий Ticket.
Зачем столь нерациональное расходование ресурсов?! Получается, что самый первый тикет и самый последний будут выполняться с разными скоростями. И чтобы получить все характеристики последней сделки, HistoryDealGet-функции будут каждый раз пробегать всю таблицу.
Почему не сделать нормально?
И как HFT-робота тестировать, если для того, чтобы узнать размер комиссии текущей позиции, нужно лезть каждый раз в тормозную историю через HistorySelect и ни в коем случае не через HistorySelectByPosition? Посмотреть проскальзывание отложенного ордера превращается в треш производительности!
ACCOUNT_PROFIT в тестере показывает ерунду.
Запускаем советник, который открывает и закрывает тут же позицию
Результат
ACCOUNT_PROFIT показывает ноль, но на самом деле -56.44. Как следствие, неправильно оцениваются эквити, просадка и т.д.
PositionGetDouble(POSITION_PROFIT) - аналогично.
И как HFT-робота тестировать, если для того, чтобы узнать размер комиссии текущей позиции, нужно лезть каждый раз в тормозную историю через HistorySelect и ни в коем случае не через HistorySelectByPosition? Посмотреть проскальзывание отложенного ордера превращается в треш производительности!
HistorySelect работает через двоичный поиск запрошенного интервала времени или нет? Т.е. O(N) или O(log(N))?
Нет. В данном случае двоичный поиск неприменим
Так внутриархитектурно обе истории (Orders и Deals) отсортированы по времени.
Извините, погорячился.
Да, отсортированы по времени. Начальная запись ищется двоичным поиском.