Settings={ Name="absorption", period=20, line= { { Name = "cur1", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) } } } --[[ описание свойств: period - период, за каротрый делается расчет назначение: построение поглащения --]] function Init() y = 0 return 1 end function OnCalculate(index) sz = Size() n = Settings.period if index == 1 then y = 0 end i = index if index-n > 0 then if (C(i) < C(i-1)) and (C(i-1) > O(i-1)) and (C(i) < O(i)) and (C(i-1) - O(i-1) < O(i) - C(i)) then y = y - 1 end if (C(i) > C(i-1)) and (C(i-1) < O(i-1)) and (C(i) > O(i)) and (O(i-1) - C(i-1) < C(i) - O(i)) then y = y + 1 end end return y end
Признаться уже достал этот 32-битный Quik 7. Работать стало почти невозможно, начал подвисать практически на пустом месте. А если повесить на Quik Lua, а к Lua прицепить DLL, то вообще все эпизодически вставало. DLL-ки, вообще-то, многопоточные и освобождают вызывающие потоки (события) Lua практически за миллисекунды, но если таких событий много Quik встает. Хотя, он и без Lua и DLL тоже регулярно встает.)
Были и другие причины ухода от 32-бит Quik, но это уже связано с брокером.
Итак, новый брокер — новый 64-битный Quik 8.4.1.6. Наконец сбылась мечта идиота!
Что можно сказать, — х64 Quik работает гораздо лучше, все равно временами немного подвисает, но, вроде, некритично. После логин-пароля, прежде чем работать надо подождать, — потоки обезличенных сделок начинают работать только через 3-4 минуты после старта. В общем, с этим все более-менее ОК.
Следующий этап — надо переводить весь софт с х86 на х64, и если есть исходники, то никаких проблем не должно появиться. Если вы не используете в своем софте каких либо дополнительных DLL, то все должно ограничиваться двумя действиями.
1. Меняете в проекте С++ в разделе Файлы ресурсов 32-битную версию файла Lua5.1.lib на 64-битную версию Lua5.1.lib,
2. Выставляете в свой свойствах проекта компиляцию в x64. Можно даже так:
Квик. Новичкам.
Если виснет терминал и долго грузит.
После этих параметров работа заметно улучшится.
Итак, начнём.
Про сервера.
Лайфхак 1.
Звоните брокеру и узнаете у него пустой сервер, а не основной. Он работает лучше.
Картинка 1
У меня Открытие брокер.
Далее.
Как сделать чтобы квик не тормозил и работал быстрее?
— Есть ряд рецептов.
Далее делаем как у меня.
Картинка
Возможности новой версии
1. Добавлены новые функции для встроенного языка программирования Lua:
— getTrdAccByClientCode – функция предназначена для получения торгового счета
срочного рынка по коду клиента фондового рынка с единой денежной позицией.
— getClientCodeByTrdAcc – функция предназначена для получения кода клиента
фондового рынка с единой денежной позицией по торговому счету срочного рынка.
— isUcpClient – функция предназначена для получения признака, указывающего имеет ли
клиент единую денежную позицию.
Описание см. в пп. 3.19.1 – 3.19.3 Руководства пользователя Интерпретатора языка Lua.
2. В таблице «Сделки» поддержано отображение новых типов сделок Срочного рынка МБ:
— «Сделка исполнения фьючерса»;
— «Сделка исполнения опциона»;
— «Сделка истечения опциона».
Описание см. в п. 3.8.2 Руководства пользователя.
3. Изменена цветовая схема отображения кнопок «Покупка/Продажа» на форме ввода заявок.
Исправленные недоработки в
версии 8.4.0
1. Ошибка при загрузке файла в таблицу «Карман транзакций».
2. Некорректное отображение скорректированной маржи для клиентов типа «МД+».
3. Некорректный расчет максимального количества на форме ввода заявки на
покупку/продажу для клиентов типа «МД+».
4. Некорректный расчет в некоторых случаях объема сделки РЕПО с ЦК на форме ввода
заявки.
5. В некоторых случаях сбрасывались настройки отображения строки состояния и полосы
прокрутки Рабочего места QUIK.
6. У витринных сделок РЕПО с ЦК в поле «Операция» вместо «К/П» отображалось направление
«Купля».
7. В некоторых случаях открытие диалога доступных Lua скриптов приводило к зависанию
работы Рабочего места QUIK.
8. При определенных обстоятельствах сбрасывался общий фильтр клиентов на панели
инструментов Рабочего места QUIK.
9. Зависание Рабочего места QUIK при получении большого количества позиций клиентов.
10. В некоторых случаях наблюдалось повышенное потребление оперативной памяти.
Сегодня выходной, можно отвлечься от торговли и поэтому, по мотивам этой темы:
https://smart-lab.ru/blog/598591.php решил написать пост, в котором буду рассматривать возможности компьютерного железа, а не возможность запускать торговый терминал с очистительным ключом)
Почему бы не попробовать решить проблему в лоб? Допустим имеем комп с шести ядерным процессором, 16 Гб оперативки. SSD NMVe подключен к разъёму М.2 и согласно данным фирменной утилиты может иметь скорость записи-чтения более 3 Гб/сек. Теоретически всё должно летать и грузиться быстро. Однако, на практике быстро грузится только Винда)
Запустил Process Monitor, нацелил его на info.exe из дистрибутива Квик 8. По временным меткам определил, что самый тяжелый файл info.log весом 800Мб грузился 35 сек. Иначе говоря, при считывании 4К фрагментов мой «супер-шустрый» SSD работает как обычная флешка со скоростью 22Мб/сек! Дальше ещё интересней. Выдрал со старого компа HDD, подключил его к SATA III на новом компе и проделал тот же тест для 32-битного Квик 6. Каково же было моё удивление, когда оказалось, что жесткий диск выпущенный 12 лет назад показал скорость 32Мб/сек, что почти в полтора раза больше, чем современный SSD. Сказать, что я был опечален, значит ничего не сказать.
del alltrade.dat curr_data.log info.log<br><br>Сохраняем файл в указанной выше директории (папке), создаем ярлык и переносим его на рабочий стол. Запускаем командный файл перед стартом Quik. При этом файлы, указанные в команде del будут удалены. При запуске Quik их создаст заново.