Вопрос по ТТТ, как говорили выше, она формируется срезами и пакетами.
Допустим пакет с ценой LAST отправляется каждые 100 мс. А в нем 10 срезов, каждый 10мс.Так вот, эти 10 мс формируются по простому, просто как есть на «сейчас». Либо второй вариант, в эти 10 мс (за 10мс) можно запихнуть Hi, Low, Now. По сути, по мотиву свечей, пропуск данных нивелирует Мин/Макс за период обновления.
AndyWise написал: видимо опять же Луа стартует на перегонки с загрузкой кэша
Lua стартует наперегонки с загрузкой окон QUIK (видимо, в т.ч. и графиков).
Попробуйте поставить ожидание времени сервера при старте КВИК.
Так уже.., очень редко косячит иногда... Получается задержка нужна на отрисовку по загрузке и по подключению к серверу... С первой еще понятно, а со второй -переподключения на тормозящем сервере бывают...Сколько ждать?
Всем спасибо, я попробую getParamEx("LAST") 10 или 20 раз сек, и выберу МинМакс. Если не понравиться, значит будет OnAllTrade, там еще бонусом дельту можно.
Поезд ушёл, если к Мин/Макс относиться как к цене сейчас. А это факт хождения цены. В чем жопа, можно конкретнее? Пока меня напрягает только возможный перезаказ данных, когда вываливается история, а нужен поток сейчас. Приходиться самому отбрасывать и обрабатывать только свежие данные.
А какой вариант получения данных приемлем? «Никому» Вы слишком категоричны, мне нужны, я хочу нарезать из тика Мин/Макс за 1сек. С удовольствием взял бы секундные свечи, но их нет. ТТТ (LAST) не понял, что это, можно по подробнее. Я опрашивал getParamEx("LAST") раз в сек, но мне нужны иголки Мин/Макс.
Собственно есть 2 варианта источника тиковых данных цены сейчас. Это либо через OnAllTrade, либо через CreateDataSource + SetUpdateCallbac. Вопрос, какой поток меньше тормазит, более легковесный с точки зрения системы, брокера? Вроде по сути тоже самое, что лучше из практики?
if cndlNum==nil or cndlNum==0 then…… if tCN[0]==nil then…….
Это аварийное завершение скрипта, означающее, что графики еще не прогрузились, а к ним уже идет запрос. Либо проблема с индификатором. В любом случае, об этом будет сообщение, и эта критическая ошибка в 99,99% времени не происходит. Авария - это не много не то.
Проблема в том, что каждый раз, в рабочем режиме!, только при закрытии Квика через крестик не происходит полное выполнение main, либо вызова OnClose.
Я добавил message("111") в конец main. message("222") в конец OnStop. message("333") в конец OnClose. Если закрываю скрипт через «доступные скрипты», вижу 222 и 111. Если закрываю через крестик – не вижу ничего, процесс просто разрушается!
Предлагаю вашему вниманию скрипт (5.4.1) демонстрирующий эту проблему. Суть скрипта: взять значения уровней из файла и через механизм меток отобразить линии (картинки) на графике. Это упрощенный вариант, для его запуска необходимо внести идентификатор «Slot_A» на график и уровень трех цен в переменные «PRICELINE 1, 2, 3 ».
О самих ошибках, их два вида.
1. Скрипт уничтожает созданные метки двумя путями. Через OnClose(), и по завершению main(). Это прекрасно работает, если руками включать и выключать скрипт через «доступные скрипты». Но если скрипт оставить запущенным, а Квик закрыть через крестик сверху, слева, то уничтожение созданных меток не происходит. Это хорошо видно при следующем запуске Квика. Для этого добавлена пауза 10*1200 на старте, когда Квик не в сети. Квик запускается уже с линиями, а через 12 секунд они моргают, т.е. происходит их перерисовка. Как удалять метки при закрытии программы? Сейчас ощущение, что Луа не закрывается, а просто прихлопывает процесс.
2.Задержки 10*1200, 1200, 700 пришлось еще добавить по причине фантомных ошибок при загрузке самого Квика или Загрузки данных с сервера. Повторить их сложнее. Такой скрипт на 18 меток запущен три раза, а самих графиков 12 штук. Суть в том, что если без задержек в скрипте, запустить Квик, одновременно запускается и Луа машина со скриптом. НО, Квик еще подгружает историю из своего файлового КЭШа на графики, а ему уже getCandles…и возникает ошибка. Необходимо дожидаться с запасом полной загрузки данных. Можно ли отложить запуск Луа машины или как то получить готовность графиков? Аналогично провалы/ошибки могут возникнуть в момент обновления данных с сервера при подключении, особенно если пропустить торги день, два.