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

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Правильный перевод double в int

Slava, 2018.09.28 07:10

Я тоже отмечусь. Зачем нужна нормализация даблов?

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

Правильно ли понимаю работу Тестера?

  1. Шлем приказ на выставление BuyLimit по BuyLimit_PriceRequest.
  2. Тестер создает BuyLimit, у которого BuyLimit_Price = NormalizeDouble(BuyLimit_PriceRequest).
  3. На каждом тике Тестер делает проверку (BuyLimit_Price <= Ask) БЕЗ NormalizeDouble.


Т.е. очень дорогой второй шаг делается ради того, чтобы не делать очень дорогим третий шаг. Т.к. тиков (третий шаг) на порядки больше, чем OrderSend (второй шаг).


ЗЫ Когда Digits == 0, NormalizeDouble тормозит?

 
Slava:
Я многократно профилировал тестер. И знаю, где там "затык". Это финансовые расчёты, которые предполагают несколько нормализаций результатов к числу знаков валюты депозита

Обернул OrderSend в замер времени и прогнал в режиме Оптимизации, чтобы не тормозили логи одиночного прохода и посмотреть на реальное время выполнения функции в Тестере.

Получил среднее время выполнения ~4.5 мкс. Это соответствует 500 NormalizeDouble (скрипт запускал с таким количеством)!

Поэтому могу с полной уверенностью сказать, что тормоза не в нормализации.


Также было интересно посмотреть, какую часть от Оптимизационного прохода отжирает OrderSend, по сравнению с данными профилировщика. Получил совпадение - от четверти до трети.


Повторю ужас, с которым столкнулся, и из-за чего сыр-бор

 
подскажите пожалуйста. Почему я не могу закрыть ордер? Терминал пишет "нет цены". Что это может быть?
 
Zhams84:
подскажите пожалуйста. Почему я не могу закрыть ордер? Терминал пишет "нет цены". Что это может быть?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2018.07.23 13:56

Постоянно стал нарываться на эту ошибку

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

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Andrey Khatimlianskii, 2018.07.23 14:15

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

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2018.07.23 16:46

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

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2018.07.23 22:00

На некоторых символах стоит таймаут, на некоторых - нет. Как узнать максимальный возраст тика, который еще может восприниматься OrderSend (нет [No price])?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2018.07.23 23:59

Бывает, что последний тик, полученный 16 секунд назад, не воспринимается актуальным для OrderSend. Наверное, это все таки баг.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2018.07.24 09:51

Этот баг

где-то за минуту можно воспроизвести с помощью данного скрипта на ForexTimeFXTM-Demo01, если перед запуском включить в Обзор рынка все символы.

 
По какой причине тикеты ордеров в Тестере начинаются с двойки, а не с единицы?
 
fxsaber:
По какой причине тикеты ордеров в Тестере начинаются с двойки, а не с единицы?


1 тикет - баланс


 
Vladislav Andruschenko:

1 тикет - баланс

Это сделка. Речь шла про Ордера.

 
fxsaber:

Это сделка. Речь шла про Ордера.

Возможно это наследство от четвёрки, где были только ордера.

 
fxsaber:

Это сделка. Речь шла про Ордера.


Резонный вопрос


если снять 100 долларов, то номер тикета ордера не увеличивается. 

 

В Тестере есть замечательный столбец


И его так не хватает в Терминале и особенно в Визуализаторе... Просьба добавить.

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