Предлагаю вашему вниманию скрипт (5.4.1) демонстрирующий эту проблему. Суть скрипта: взять значения уровней из файла и через механизм меток отобразить линии (картинки) на графике. Это упрощенный вариант, для его запуска необходимо внести идентификатор «Slot_A» на график и уровень трех цен в переменные «PRICELINE 1, 2, 3 ».
О самих ошибках, их два вида.
1. Скрипт уничтожает созданные метки двумя путями. Через OnClose(), и по завершению main(). Это прекрасно работает, если руками включать и выключать скрипт через «доступные скрипты». Но если скрипт оставить запущенным, а Квик закрыть через крестик сверху, слева, то уничтожение созданных меток не происходит. Это хорошо видно при следующем запуске Квика. Для этого добавлена пауза 10*1200 на старте, когда Квик не в сети. Квик запускается уже с линиями, а через 12 секунд они моргают, т.е. происходит их перерисовка. Как удалять метки при закрытии программы? Сейчас ощущение, что Луа не закрывается, а просто прихлопывает процесс.
2.Задержки 10*1200, 1200, 700 пришлось еще добавить по причине фантомных ошибок при загрузке самого Квика или Загрузки данных с сервера. Повторить их сложнее. Такой скрипт на 18 меток запущен три раза, а самих графиков 12 штук. Суть в том, что если без задержек в скрипте, запустить Квик, одновременно запускается и Луа машина со скриптом. НО, Квик еще подгружает историю из своего файлового КЭШа на графики, а ему уже getCandles…и возникает ошибка. Необходимо дожидаться с запасом полной загрузки данных. Можно ли отложить запуск Луа машины или как то получить готовность графиков? Аналогично провалы/ошибки могут возникнуть в момент обновления данных с сервера при подключении, особенно если пропустить торги день, два.