Предлагаю выкладывать найденный баги и "особенности" кьюпайла 1. Всегда используйте ТОЛЬКО время сервера если необходимо работа со временем time=GET_INFO_PARAM("SERVERTIME") 2. Кратность лота достается не совсем по инструкции lot=0+get_value(get_param_ex(classcode,seccode,"lot"),"PARAM_VALUE") lot - а не LOTSIZE,как в инструкции 3. В таблице сделок для исполнения поле "Операция" вытягивается как BUY\SELL а не Купля\Продажа как кажется на первый взгляд.
Совет №1 крайне сомнителен, если не сказать больше. Юрий, представьте себе ситуацию, когда у брокера случилосля маленький взрыв и он решил перегрузить данные с начала дня. Или , например, когда по алгоритму надо закрыть позицию за несколько секунд до определенного времени. Или... (пропущен десяток строк теста)
Солошенко Юра Digital Sky
Стаж: 13 лет 11 месяцев Откуда: www.ds-ua.com, www.qlua.org Сообщений: 80
Совет №1 крайне сомнителен, если не сказать больше. Юрий, представьте себе ситуацию, когда у брокера случилосля маленький взрыв и он решил перегрузить данные с начала дня.
Если у брокера случился маленький взрыв, то время это меньшая из тех бед которая у вас появится. Также не совсем понятно "решил перегрузить данные с начала дня." - как вы себе это представляете???
mikemsk писал(а):
Или , например, когда по алгоритму надо закрыть позицию за несколько секунд до определенного времени. Или... (пропущен десяток строк теста)
Если нужно закрыть за несколько секунд до закрытия то соответственно и нужно проверять, что текущее время сервера меньше на несколько секунд до нужного. Поясню насчет времени. В квике можно смотреть 2 времени - локальное и серверное. Серверное, если у вас норм брокер, совпадает с биржевым (гуглим синхронизация вреени Виндоус Сервер), а локальное - это время Вашего компьютера, которое вряд ли синхронизировано с биржами.
"Если у брокера случился маленький взрыв" - штатная ситуация перезагрузки сервера брокера. В этом случае после готовности сервера происходит ресет сервертиме и подгрузка последующих данных с плавным изменением сервертиме. Если ориентироваться на него, робот в процессе загрузки будет срабатывать на устаревшие данные.
"Также не совсем понятно решил перегрузить данные с начала дня" - Call ur broker company for detailed info
Вот навскидку еще одна тривиальная ситуация. Вчера вечером выключили квик, робот не выгружен. Сегодня включаем квик в середине сессии. Робот запустится сразу и увидит время начала сессии в качестве сервертиме. Остальное, надеюсь, очевидно. Другие примеры приводить лень.
"Серверное, если у вас норм брокер, совпадает с биржевым". Не факт абсолютно. ntp синхронизация, конечно помогает, но отнюдь не панацея. Различия в масштабе 1 минуты есть вполне обыденная вещь.
Спорить не стану, достаточно просто собрать разницу abs(локалтиме-сервертиме) за неделю. Я проверял, не вводите окружающих в заблуждение.
"Если у брокера случился маленький взрыв" - штатная ситуация перезагрузки сервера брокера.
Если у Вашего брокера это штатная ситация советую сменить брокера.
Цитата:
В этом случае после готовности сервера происходит ресет сервертиме и подгрузка последующих данных с плавным изменением сервертиме. Если ориентироваться на него, робот в процессе загрузки будет срабатывать на устаревшие данные.
Ресета времени никогда не замечал. сервер Квик либо загружает все данные с начала торговой сессии, либо просто догружает недостающий период. В зависимости от выбранных параметров перезагрузки. Ваш терминал загрузит недостающие данные или данные с начала сессии.
Насчет времени поясню: если у Вас в терминале оно скачет или отличается от биржевого это вопрос к архитектуре КВИК и того как сервер отдает время. После перезагрузки сервера время НЕ идет "с начала". Время сервера в терминале Квик=Времени компьютера на котором стоит сервер Квика.
У меня вопрос по поводу неустойчивости работы самого Квика: - не часто, но бывает такая ситуация, когда в Текущую таблицу параметров не поступают данные вообще, т. е. некий ступор, соответственно, программа на Qpile не может взять необходимые данные по инструменту. Выход из такой ситуации, пока, у меня один - это перезагрузка Квика. А можно ли программно на Qpile выйти из такой ситуации без перезагрузки Квика, ведь сам Квик не завис и программа работает, но данные не поступают?
Солошенко Юра Digital Sky
Стаж: 13 лет 11 месяцев Откуда: www.ds-ua.com, www.qlua.org Сообщений: 80
У меня вопрос по поводу неустойчивости работы самого Квика: - не часто, но бывает такая ситуация, когда в Текущую таблицу параметров не поступают данные вообще, т. е. некий ступор, соответственно, программа на Qpile не может взять необходимые данные по инструменту. Выход из такой ситуации, пока, у меня один - это перезагрузка Квика. А можно ли программно на Qpile выйти из такой ситуации без перезагрузки Квика, ведь сам Квик не завис и программа работает, но данные не поступают?
Если честно, то с такой ситуацией не сталкивался . Могу только посоветовать написать письмо разработчикам КВИКа на [email protected]