Вчерашний тест, можно сказать, успешный: 54 тысячи заявок, 14 тысяч сделок, расчёт кода робота каждые 500мс, затраченной памяти 2Гб. Но главное - ни одного зависания. Всё очень быстро и точно (в сравнении с QPILE). В реальной торговле в таком режиме использовать не собираюсь и затраты памяти будут не существенные. Поэтому вопрос не критичный, скорее для возможного улучшения работы. Но это первый день краш-теста.
Использование памяти скриптами Lua
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
18.09.2020 08:36:36
Основные пожиратели памяти - функции QUIK. Но могу ошибаться, т.к. только начал оптимизацию. Может, где-то и накапливаемый массив есть. , обратите внимание на мой код в начале темы. При каждом вызове безобидной getInfoParam("SERVERTIME") приходится жертвовать 3 байта памяти. Вот этот момент меня больше всего интересует. В моём коде аналогичные вызовы, только в десятки или сотни раз больше.
Использование памяти скриптами Lua
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
17.09.2020 15:37:01
Сегодня выпустил своего простенького робота сеточника на демо-счёт. Пока трудится без капризов, но потребление памяти, с учётом, что робот практически не накапливает данные впечатляет. Мусоровоз приезжает систематически, но загружает не весь мусор.
Потребовалось кое-что сделать при событии закрытия терминала. Но OnClose() и OnStop(flag) не выводит системные сообщения и не выполняет код внутри. Если отключить qlua.dll в окне «Версии компонентов и плагинов», всё работает по инструкции. Как можно объяснить такое поведение?
Код
function OnInit() -- Функция вызывается терминалом QUIK перед вызовом функции main().
is_run = true
return
end -- выход из функции: OnInit()
function main() -- Функция, реализующая основной поток выполнения в скрипте. Для ее выполнения терминал QUIK создает отдельный поток.
while is_run do -- повторяющийся цикл, пока is_run = true
sleep(1000)
end -- выход из цикла: повторяющийся цикл, пока is_run = true
return
end -- выход из функции: main()
function OnClose() -- Функция вызывается перед закрытием терминала QUIK и при выгрузке файла qlua.dll.
-- Под выгрузкой файла qlua.dll подразумевается отключение плагина QLua
-- в окне «Версии компонентов и плагинов» (см. п. 1.9. Раздела 1 Руководства
-- пользователя QUIK).
message("OnCl ose="..tostring(1),1) -- отладка скрипта с выводом системного сообщения
end
function OnStop(flag) -- Функция вызывается терминалом QUIK при остановке скрипта из диалога управления и при закрытии терминала QUIK.
-- При остановке или удалении работающего скрипта Lua из диалога управления «Доступные
-- скрипты» параметр вызова flag принимает значение «1». При закрытии терминала QUIK –
-- значение «2».
message("OnStop flag="..tostring(flag),1) -- отладка скрипта с выводом системного сообщения
is_run = false
return 5000
end
Оформление окон внутри терминала
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
16.09.2020 08:06:04
...Но должна быть хорошая память на расположение таблиц. Когда рабочее пространство не меняется много лет, можно и в слепую нужную таблицу найти.
Оформление окон внутри терминала
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
16.09.2020 08:00:45
Как вариант, можно отключить полосу с заголовком на таблицах всей вкладки. Пр.кн.мыши на названии вкладки-Показать/убрать заголовок.
Использование памяти скриптами Lua
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
15.09.2020 12:56:34
Спасибо за ответ. Вот что у меня получилось. 1. Объявление локальной переменной не повлияло на затраты памяти. 2. Объявление переменной заранее не повлияло на затраты памяти. 3. Вызов штатной os.clock() не приводит к увеличению затраченной памяти. Получается, что сделать максимально статичным использование памяти невозможно из-за её увеличения при повторном вызове штатных функций QLUA..
Использование памяти скриптами Lua
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
15.09.2020 11:40:26
Интересен алгоритм использования памяти. Ниже простой скрипт, который при каждом расчёте обращается к функции "getInfoParam". При запуске, в столбце "Память, КБ" = 41.04, и, с каждым новым расчётом, затраченная память увеличивается: 41.04, 41.07, 41.11... Почему происходит увеличение используемой памяти, ведь данные не накапливаются? Заметил, что в скриптах память увеличивается до определённого предела (примерно в 2 раза больше, чем при старте) затем сбрасывается до начального размера. Возможно, где-то уже это обсуждалось, но не нашёл.
Код
function OnInit() -- Функция вызывается терминалом QUIK перед вызовом функции main().
is_run = true
return
end -- выход из функции: OnInit()
function main() -- Функция, реализующая основной поток выполнения в скрипте. Для ее выполнения терминал QUIK создает отдельный поток.
while is_run do -- повторяющийся цикл, пока is_run = true
ScriptTimeStart = getInfoParam("SERVERTIME") -- Время начала расчёта скрипта
sleep(1000)
end -- выход из цикла: повторяющийся цикл, пока is_run = true
return
end -- выход из функции: main()
function OnStop() -- Функция вызывается терминалом QUIK при остановке скрипта из диалога управления и при закрытии терминала QUIK.
is_run = false
return
end
Демо-доступ и таблица "Позиции по клиентским счетам (фьючерсы)"
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
11.09.2020 11:44:33
Нашёл отличие. В призраке limit_kind=-3. Это на вашем сервере кто-то балуется, а таблица QUIK такое не отображает. Из справки: "Срок расчётов. Возможные значения: положительные целые числа, начиная с «0», соответствующие срокам расчётов из таблицы «Позиции по инструментам»: «0» – T0, «1» – T1, «2» – T2 и т.д. 2 d_long STRING Эффективный"
Демо-доступ и таблица "Позиции по клиентским счетам (фьючерсы)"
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
11.09.2020 07:23:50
Продолжу тему. Я думал, не проснулся (вы тоже видите это?): Вторая строка-призрак дублирует содержанием первую.
Легенда графика в QUIK 8.6, Легенда графика не отображается при добавлении нового графика на диаграмму.
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
09.07.2020 09:14:34
В последних версиях QUIK, легенда графика не отображается, при добавлении нового графика на диаграмму. Это не удобно, т.к, при добавлении новых графиков, не видно, какие именно индикаторы или графики используются. Приходится включать отображение легенды для каждой области графика. Понятно, что сделано это для экономии рабочего пространства, но неэффективно.
Куплю и раздам функции для LUA 5.3 x64, Нужны w32.dll lfs.dll qvcl.dll.
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
17.05.2020 08:09:19
Нужно собрать: w32.dll - для авто логина QUIK lfs.dll - для работы с файлами qvcl.dll - для создания визуального интерфейса Эти функции будут и бесплатно, но без пинка, в неизвестном будущем. Пинок в виде ₽10К (2+2+6) и народная слава гарантируется. Ссылки на библиотеки выложу.
QPILE всё?, Роботы QPILE больше не будут торговать
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
10.03.2020 08:14:52
К счастью, разработчики QUIK умеют читать мысли и пока я писал вопрос они уже ответили: "Проблемы работы с длинными номерами в QPILE (на любых версиях терминала). Для решения проблемы п. 7 следует реализовать Ваш алгоритм на языке QLUA. При этом следует использовать версию терминала QUIK, которая на момент публикации данного уведомления еще не вышла, но планируется к выпуску до того, как данное изменение в торговой системе будет внедрено." Я прав. Хотя, вопрос был риторический. ) Буду потихоньку перекидывать алгоритмы на QLUA для версии QUIK, которая ещё не вышла.
QPILE всё?, Роботы QPILE больше не будут торговать
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
10.03.2020 08:08:18
Учитывая переход на размерность идентификатора заявок и сделок до 19-ти символов, требуется обновления функционала QPILE. Подробнее: Но делать это никто не будет, т.к. поддержка QPILE приостановлена 6 лет назад. В итоге, все роботы QPILE больше не будут торговать. Таблицы QPILE будут работать как и прежде. Всё верно?
Брокер Открытие. Не работает MOVE_ORDERS., Ошибка: "Указанная транзакция по указанному классу не найдена: "SPBOPT"."
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
20.02.2020 12:46:36
У брокера Открытие перестала работать возможность перестановки заявки одним запросом, через MOVE_ORDERS. Аналогичная тема уже поднималась: , но брокер, похоже не знает, что это за ругательство "MOVE_ORDERS". Версия QUIK 7.27.2.1, это последняя версия, на которую позволяет обновиться сервер Открытие. Я вышел из положения путём отправки двойного запроса: удаления и выставления заявки. Долблю сервер в два раза больше, за что прошу прощение. Ещё и мои каждый день стали писать письма, мол моё ПО глючное. Приходится высылать каждый день функционал с двойным запросом. Поэтому, пишу письмо Вам, уважаемые разработчики. Вы, по крайней мере, знаете, что есть такое "MOVE_ORDERS".
Таблица обезличенных сделок. Открытый интерес., Как получить данные из QPILE?
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
12.12.2019 16:25:57
Ясно, спасибо. Не мог разобраться то ли лыжи не едут, то ли я... Оказывается первое.
Таблица обезличенных сделок. Открытый интерес., Как получить данные из QPILE?
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
11.12.2019 19:05:54
Цитата
Alexander Kopyatkevich написал: Здравствуйте! Уточните, пожалуйста, в самой таблице обезличенных сделок данные по этому параметру есть? Так же, так как язык QPile регистрозависимый, попробуйте задать параметр большими буквами (то есть, должно быть OPEN_INTEREST).
Данные в самой таблице обезличенных сделок данные по этому параметру есть. Пробовал и так: GET_VALUE (GET_ITEM ("ALL_TRADES", i), "OPEN_INTEREST") Другие параметры выводятся.
Таблица обезличенных сделок. Открытый интерес., Как получить данные из QPILE?
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
10.12.2019 18:14:17
Цитата
Alexander Kopyatkevich написал: Здравствуйте, . Для таблицы обезличенных сделок параметр называется open_interest.
Сообщите, пожалуйста, open_interest не доступен в QPILE или что-то делаю не так?
Таблица обезличенных сделок. Открытый интерес., Как получить данные из QPILE?
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
06.12.2019 16:49:42
TrdOpenInterest = GET_VALUE (GET_ITEM ("ALL_TRADES", i), "open_interest") 'открытый интерес Не выдаёт данные. Проверил на последней версии 8.2.
Таблица обезличенных сделок. Открытый интерес., Как получить данные из QPILE?
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
06.12.2019 16:14:17
Спасибо за ответ. NUMCONTRACTS - это параметр таблицы Текущие Торги. Нужен параметр из Таблицы обезличенных сделок.
TrdOpenInterest = GET_VALUE (GET_ITEM ("ALL_TRADES", i), "?") 'открытый интерес
Таблица обезличенных сделок. Открытый интерес., Как получить данные из QPILE?
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
05.12.2019 13:09:20
Таблица обезличенных сделок. Открытый интерес. Как получить данные из QPILE? В инструкции нет параметра и описания.
Количество лотов на валютном рынке
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
12.11.2019 18:19:33
Спасибо, да, но там позиция, точнее объём в валюте депозита. Конечно, можно пересчитать поделив на стоимость лота. Получается, что на валютной секции лоты не транслируются.
Автоматическое поручение на перевод средств между площадками
Посмотреть можете в таблице Текущие торги добавив параметр Лот.
Имеется ввиду лотов по открытым позициям.
Автоматическое поручение на перевод средств между площадками
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
07.11.2019 17:59:04
Возможно ли программным методом организовать перевод из фондовой секции на FORTS и обратно?
Количество лотов на валютном рынке
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
07.11.2019 17:47:32
Здравствуйте! В какой таблице можно увидеть количество лотов на валютной секции?
Управление таблицей LUA, Вопросы и пожелания.
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
01.03.2019 12:37:13
Напомню. Годы летят, а таблицы скриптов QLUA, всё также, бессовестно лезут на первую попавшуюся вкладку…
Улучшенный поиск, Пробел, как разделитель запроса
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
22.02.2019 12:39:41
Логика простая. Пробел является разделителем вхождений в запрос. Например. Запрос «sr 215» выведет все 215-е страйки опционов фьючерса Сбербанка.
SR021500BB9
SR021500BC9
SR021500BD9
... и т.д.
Запрос «sr d» выведет все мартовские коллы опционов фьючерса Сбербанка.
SR013000BD9
SR014000BD9
SR015000BD9
... и т.д.
Такой способ ускоряет поиск.
индикатор исторической волатильности
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
09.02.2019 09:05:36
Могу предложить Индикатор для QUIK Historical Volatility
Мерцание таблицы QPILE после повторной загрузки скрипта, Версия QUIK 7.16
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
09.02.2019 08:54:59
Спасибо, пользуюсь уже более полугода. Ошибок нет.
Улучшенный поиск, Пробел, как разделитель запроса
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
10.04.2018 19:10:13
Приветствую! Уважаемые разработчики, не могли бы вы немного улучшить поиск. Думаю, моя идея будет интересна и не сложна в реализации. Например, мне нужно найти опцион "SR021500BD8". Я могу найти "sr0215", увижу все опционы всех серий . Чтобы более точно указать запрос, нужно ввести полностью код опциона. Но если введу "sr0215 D8", я могу увидеть только опционы этой серии. Т.е. пробел может служить разделителем частей запроса, ну, и само самой быть пробелом. На практике знаю, что штука удобная.
Мерцание таблицы QPILE после повторной загрузки скрипта, Версия QUIK 7.16
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
09.04.2018 11:30:50
Мерцание заголовков таблицы QPILE и её содержимого после повторной локальной загрузки любого скрипта в версии QUIK 7.16. При этом, добавляется первая пустая строка. Возможно возникало и в предыдущих версиях. Решается удалением и созданием новой таблицы. Просьба поправить в последующих версиях.
Фильтрация транзакций "своего" робота
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
23.03.2018 13:27:29
Я сделал через комментарий Если нужно разделять одинаковые заявки внутри робота под одним комментарием использую ID.
Метки в новой версии 7.14, В новой версии изменились метки, где описание новых параметров?
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
23.03.2018 11:12:35
Кстати, TRANSPARENT_BACKGROUND = 1, делает прозрачной и саму картинку, не только фон. Насколько понимаю, ошибка.
Метки в новой версии 7.14, В новой версии изменились метки, где описание новых параметров?
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
23.03.2018 11:10:34
Можно же через GUI, а в коде нельзя. Неравноправие!
Метки в новой версии 7.14, В новой версии изменились метки, где описание новых параметров?
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
16.03.2018 07:58:51
Здравствуйте! А моё пожелание уже не меняется уже более 10 лет. Возможность привязки метки к координатам окна диаграммы. Это позволит фиксировать надписи, например, к левому верхнему краю.
Программы PMN Trade, Список моих программ созданных с 2007-го года.
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
14.03.2018 17:00:42
Очень не хватает редактирования сообщения. В предпросмотре всё выглядело хорошо, а после отправки сообщения появились HTML теги.
Программы PMN Trade, Список моих программ созданных с 2007-го года.
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
14.03.2018 16:58:10
Приветствую всех интересующихся снова. Времени на хобби сейчас стало меньше. Но, тем не менее, кое-что было сделано за последний год:
10.03.2017
Версия 20170310 Добавлено: - Возможность использования трейлинг-стоп
17.03.2017
Версия 20170317 20170316 – Увеличено количество изменений арбитражного индикатора. 20170317 – Устранён двойной расчёт индикатора. Подробнее: .
28.03.2017
Версия 20170328 20170328 – Добавлено: возможность указания даты экспирации патерном expДД.ММ.ГГГГ.
21.04.2017
Версия 20170421 - Добавлена возможность расчёта отступов, стоп-лосс и тейк-профит на основе индикатора АТР (Average True Range).
22.05.2017
Версия 20170522 - Исправлен учёт количества прибыльных позиций подряд. В прежних версиях, если происходил переход на другой уровень, счётчик количества прибыльных позиций подряд сбрасывался на ноль. Было это сделано намерено, но теперь было решено отказаться от этой версии.
02.06.2017
Версия 20170602 - Возможность автоматического определения кода бумаги. Например, если указать "?", то код бумаги будет опеределён из легенды (названия) индикатора. Работает только для FORTS. Позволяет быстро переключать торговый инструмент, меняя график при помощи привязки к таблице Текущие торги (Таблица Текущих Параметров).
16.08.2017
20170715 - Возможность совершения в получателях дополнительных сделок, т.е. свои сделки. 20170715 - Возможность дублирования из нескольких QUIK в один. 20170731 - Возможность работы через Интернет. 20170816 - Возможность отключения полной синхронизации.
24.11.2017
Версия 20171123 - Добавлена возможность "Режим Ассистента". Робот подхватывает выставленную трейдером заявку для входа и далее работает в обычном алгоритме. Версия 20171124 - Добавлена возможность "Режим Последовательного входа в позиции". Например, если "Последовательный вход в позиции" = "Да", робот сначала будет выставлять только первую заявку для входа из списка. Когда произойдёт вход в первую позицию в полном объёме, будет выставляться заявка входа второй позиции и т.д. Если применяются ТП и СЛ, они будут выставляться сразу, после входа в позицию.
13.03.2018
Версия 20180310 - Добавлена возможность "Граница волатильности". Можно определять в каком состоянии рынка (трендовом или контртрендовом) робот будет торговать. Уровень волатильности определяется индикатором АТР. Например, если значение АТР выше указанного уровня, то состояние рынка будет определено, как "трендовое". Если мы выбрали торговлю только в контртрендовом состоянии рынка, то открытые позиции будут ожидать закрытия по стоп-лосс или тейк-профит, но новые позиции открываться не будут. Версия 20180311 - Добавлена возможность указания стоп-лосс на основе значения индикатора. Например, если укажем в настройках стоп-лосс "!стоп", то нужно создать индикатор с идентификатором "стоп". Значение для стоп-лосс будут приходить из этого индикатора в неизменённом виде.
Аналог функции eval для lua, Аналог функции eval для lua
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
08.12.2017 16:32:18
...выведет 9.
Аналог функции eval для lua, Аналог функции eval для lua
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
08.12.2017 16:31:25
Цитата
Sergey Gorokhov написал: Здравствуйте, Можно попробовать через loadstring
Код
function calculateString (str)
return assert(loadstring( "return " .. str))()
end
Отличное решение! Большое Вам спасибо! Как и предполагал, можно пользоваться всеми math функциями, например, "math.pow(3,2)" выведет
Аналог функции eval для lua, Аналог функции eval для lua
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
08.12.2017 13:46:37
Задача простая. Есть переменная типа string str = "1+(2*3)". Нужно из неё получить результат 7. Есть два способа. Первый - пишем парсерную функцию eval. Хорошая функция, учитывающая скобки, приоритет операций и т.д. занимает около 1000 строк. Второй - просто и изящно передаём строку в назначение переменной, например res = 1+(2*3), будет равен 7.
Код
function calculateString(str) {
return (new Function('return ' + str))();
}
Это пример для JavaScript. Где-то видел аналогичный для LUA, но не могу найти. Помогите с решением задачки.
Копирование сделок., Копирование сделок.
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
14.08.2017 08:37:44
Утилита для QUIK "Дубликатор сделок QUIK-QUIK"
Последние обновления: 20170715 - Возможность совершения в получателях дополнительных сделок, т.е. скрипт получателя видит только свои сделки. 20170715 - Возможность дублирования из нескольких QUIK в один. 20170731 - Возможность дублирования сделок через Интернет.
Перекрестие с информацией, Прошу добавить в ближайшие 50 лет
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
22.07.2017 15:46:54
Спасибо! Быстро реагируете!
Неверный код клиента в MOVE_ORDERS, Ошибка Неверный код клиента при вызове транзакции перестановки заявки FORTS
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
09.06.2017 06:49:39
А пока проблема решается, может есть способ из кода узнать используется ли единый брокерский счёт (ЕДП)?
Феерическое
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
01.06.2017 07:48:25
Неверный код клиента в MOVE_ORDERS, Ошибка Неверный код клиента при вызове транзакции перестановки заявки FORTS
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
30.05.2017 16:52:28
Приветствую! Появилась ошибка "Неверный код клиента" при вызове транзакции перестановки заявки FORTS. При этом, заявка выставляется и снимается без проблем с аналогичным массивом. Проблема возникла у брокера Открытие, при использовании Единого брокерского счёта и субсчетов. В других вариантах у этого же брокера ошибка не наблюдается.
Перерисовка индикатора из кода, Перезапуск OnCalculate()
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
25.04.2017 08:16:35
Всё же, решить проблему не удалось. Проблема именно в том, что пересчёт индикатора задним числом удалось сделать только на новом тике. Если пересчитывать ранее, например, на последнем баре, получаем всё те же нули с верхнего графика.
Перерисовка индикатора из кода, Перезапуск OnCalculate()
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
22.04.2017 12:17:03
, спасибо за хорошую мысль. Действительно, перерисовать индикатор можно только таким способом, прогнав весь массив тайм-серии сначала. А событием для этого сделаю ненулевую цену графика. Попробую. Но, всё равно, "телега бежит впереди лошади". Может уважаемые разработчики хоть, как пожелание зарегистрируют запуск расчёта индикаторов после получения данных всех графиков на диаграмме.
Перерисовка индикатора из кода, Перезапуск OnCalculate()
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
22.04.2017 08:33:32
Цитата
Sergey Gorokhov написал: Михаил Понамаренко , Все равно не воспроизводится. быть может у Вас индикатор все-таки создан из окна с верхним графиком? Попробуйте повторить на разных инструментах.
Для чистоты эксперимента, установил QUIK 7.10 с Вашего сайта. Ничего не менял в настройках, только скопировал тестовый индикатор и добавил окно второго инструмента. Инструменты другие. Но картина такая же. (