VPM написал: nikolz, Сбер "глючит" второй день! Вчера просто без предупреждений отключали от сервера, сегодня не соединяют, от поддержки огромный ноль или даже нил. Так и хочется сменить лексику на не цензурную ::
у меня сегодня сбер работает отлично. Даже соединился быстрее , чем обычно. Но версия QUIK 8.7.1.3
окно можно свернуть. Если графики и стаканы в большом количестве не открывать, то загрузка процессора составит не более 10%. Много памяти жрет не терминал, а подписка на данные и инструменты. Особенно, если строите графики по параметрам инструментов.
Andrey Golik написал: nikolz, дополним, что архив с копией терминала требуется выложить на удобный для Вас файлообменник и прислать нам ссылку для скачивания (либо здесь, либо в рамках письма на quiksupport@arqatech.com ).
Благодарю за ответ. -------------------- Вчера сбер вдруг неожиданно отключился и при подключении сообщал об ошибке. Решил, что причина в новой версии и снес ее. Оказалось, что причины были у сбера. Сейчас снова на версии 8.Поэтому проблемы нет . Пока ставить версию 11 подожду. -----------------------
Сбер перешел на версию 11.4.0.54. По их предложению установил. И сразу появились временами задержки при передвижении позиции мышкой. Т е двигаешь, ничего не меняется, но через секунд 20-60 позиция перемещается. Эффект проявляется не всегда, возможно при активном движении рынка. До этого работал на версии 8 как самой устойчивой и надежной. Возможно придется обратно откатиться. Что скажут разработчики. Что не так?
Сбер перешел на версию 11.4.0.54. По их предложению установил. И сразу появились временами задержки при передвижении позиции мышкой. Т е двигаешь, ничего не меняется, но через секунд 20-60 позиция перемещается. Эффект проявляется не всегда, возможно при активном движении рынка. До этого работал на версии 8 как самой устойчивой и надежной. Возможно придется обратно откатиться. Что скажут разработчики. Что не так?
nikolz написал: Вы ошибаетесь. Ваш пример не соответствует Вашему t3[i=3]=nil ---------------- В Вашем тесте есть оператор tt1=nil (стр 21) Именно этот оператор освободит память так как он обнуляет ссылку на таблицу , т е массив из кучи становится без ссылки. Его и удаляет сборщик. --- если закомментировать tt1=nil. то результат: ------------- 1. mem 285.5576171875 2. mem 284.5439453125 3. mem 284.751953125 4. mem 284.6689453125 ------------ никакой очистки нет, как я Вам и написал.
Я знаю, что без удаления ссылки самой таблицы, расстановка nil по элементам массива ничего не даст. Пример говорит о другом. Очистка всей таблицы собирает её всю, да. Но он добавлен для того, чтобы видеть какой объём занимает вся таблица, заполненная значениями double.
Второй пример показывает какой размер забирает скрипт при работе с таблицей с дырками. Именно такие и используются при расчёте по индексам ряда. Спорить желания нет, т.к. это эмпирически проверено, даже просто по наблюдаемому объёму занимаемой памяти в окне доступные скрипты.
Хорошо, что признали. ------------------ Не увидел в вашем примере этого. ------------------ Что не так в этих данных. 1. mem 285.5576171875 2. mem 284.5439453125 3. mem 284.751953125 4. mem 284.6689453125 ----------------- Где Ваши доказательства? Можете, не перескакивая, конкретно показать , что и как Вы сокращаете?
VPM написал: Нашел, кому как и мне нужно более подробно!
"В Lua таблицы представляют собой ассоциативные массивы, которые могут хранить значения различных типов. Каждый элемент таблицы в Lua может быть представлен структурой TValue, которая содержит два основных поля: Value value_ — это поле, которое хранит значение элемента. В зависимости от типа, это может быть число, строка, указатель на другую структуру и т.д. int tt_ — это поле, которое хранит тип значения (например, LUA_TNIL, LUA_TNUMBER, LUA_TSTRING и т.д.). Когда вы выполняете операцию t[i-1] = nil, это означает, что вы удаляете элемент из таблицы по индексу i-1. Внутри Lua это приводит к тому, что значение элемента устанавливается в nil, а тип (tt_) устанавливается в LUA_TNIL (который обычно соответствует значению 0). Таким образом, операция t[i-1] = nil эквивалентна следующему: Установка value_ в какое-то "пустое" значение (в случае nil это может быть просто 0 или NULL). Установка tt_ в 0 (что соответствует типу LUA_TNIL). Это означает, что элемент таблицы больше не содержит полезного значения и считается "удаленным" или "пустым"."
Вы очевидно не поняли, то что цитируете. ----------------- Внутри Lua это приводит к тому, что значение элемента устанавливается в nil, а тип (tt_) устанавливается в LUA_TNIL (который обычно соответствует значению 0). ---------------- Поясняю. Т е это означает лишь то, что тип элемента стал равный нулю. Но само значение если это не указатель на таблицу или функцию хранится тоже в TValue. Поэтому ничего не освобождается, Если это указатель таблицу, то место в памяти освободится лишь при условии, что эта таблица больше нигде не используется.
Nikolay написал: local last = os.clock() print = _G.message or print
local sleep = sleep or function(ms) last = os.clock()*1000 while (os.clock()*1000 - last) < ms do end end
local tt1 = {} local tt2 = {}
local test = function()
for n = 1,10000 do tt1[n] = 100.12345 end
print('1. mem '..collectgarbage('count'))
tt1 = nil
collectgarbage() sleep(10)
print('2. mem '..collectgarbage('count'))
for n = 1,10000 do tt2[n] = 100.12345 tt2[n-3] = nil end
print('3. mem '..collectgarbage('count'))
collectgarbage()
sleep(10)
print('4. mem '..collectgarbage('count')) end
function main() test() sleep(1000) end
-- main()
Вы ошибаетесь. Ваш пример не соответствует Вашему t3[i=3]=nil ---------------- В Вашем тесте есть оператор tt1=nil (стр 21) Именно этот оператор освободит память так как он обнуляет ссылку на таблицу , т е массив из кучи становится без ссылки. Его и удаляет сборщик. --- если закомментировать tt1=nil. то результат: ------------- 1. mem 285.5576171875 2. mem 284.5439453125 3. mem 284.751953125 4. mem 284.6689453125 ------------ никакой очистки нет, как я Вам и написал.
Saturn, Второй способ На смартфоне ставите приложение отправки SMS на URL На ПК делаете сервер-приложение (на Autoit или любом другом языке), который будет запускать КВИК и передавать в него код. ---------------------- Третий способ На смартфоне ставите приложение отправки SMS в telegram На ПК делаете сервер-приложение (на Autoit или любом другом языке), который будет запускать КВИК и передавать в него код. В telegram ставите бот, который запускает приложение на ПК --------------------- Успехов
Igor_User написал: Возникла такая проблема. Может кто подскажет. Мой скрипт стал эпизодически останавливаться с ошибкой "attempt to perform arithmetic on a nil value". Сама ошибка понятна, но проблема заключается в том, что в этом сообщении не указывается номер строки, в которой эта ошибка произошла. Обычно при появлении таких ошибок в сообщении указывается и номер строки, благодаря чему можно найти ошибку и устранить. Я первый раз с таким сталкиваюсь. Есть ли какие-нибудь ещё способы определить строку, из-за которой эта ошибка произошла?
VPM написал: nikolz, Учебник мало прочитать, его еще необходимо понять. В моем "опусе", лишь краткие выдержки и не только из этого учебника, на что бы следовало обратить внимание по моему скромному мнению, начиная собирать торговую программу.
Цитата
VPM написал: Этот небольшой опус — попытка поделиться своим опытом и, возможно, помочь другим избежать ошибок или оптимизировать свой подход.
Если бы мне, еще пару - тройку лет назад сказали, обрати внимание на Метатаблицы и объектно-ориентированное программирование, я бы наверно "пальцем у виска покрутил" :: , сегодня это мой основной подход, леплю туда где можно и без него обойтись. А если бы прислушался к совету, сегодня бы не переписывал код, а использовал годами проверенный модуль. За ссылку спасибо, но лично у меня книга сохранена на компе, возможно кому понадобиться. Я лишь сделал пролог, к обсуждению универсальных модулей торговой системы, способной щелкать любые стратегии без изменений, ну или с минимальными изменениями в модулях.
Не в обиду будет сказано, но сначала изучают учебник. А Вы как я понял сначала начали писать что-то, а потом спустя 3 года начали читать. и о чудо, Вы наконец-то поняли то, что в учебниках про луа написано уже лет тридцать назад.
Александр Васильев написал: Доброго ! Пользуюсь скриптом QPILE , вывод по DDE в эксель , после расчётов выставляется и исполняется заявка . После 10.00.00 мск проблем нет . А до 10 . 00 учитывая раннее пробуждение ммвб ( 07.00 ) скрипт выдаёт не корректное время . Пример : 4 заявки в 09.55.11. и далее . 4 заявки после 10.00 мск всё поехало норм .В скрипте ошибок нет . Буду очень благодарен за мысли !!!
Вы неправильно преобразуете время число позиций до 10 часов на 1 меньше. Вы это не учитываете поэтому у вас выделяются не только цифры но и ":"
nikolz написал: При этом транслируется стакан, но не цена аукциона. Цена аукциона появляется когда ее сформируют. --------------------- Мое мнение: Цены аукциона в период аукциона еще нет, поэтому ноль. Когда она сформируется, тогда и появится в этом поле. Все верно? -------------------- Никакой ошибки в трансляции данного параметра нет.
Всё верно, только для акций и валют всё совсем не так. Почему-то именно для фьючерсов сделали иную трансляцию параметров, например, дисбаланс аукциона, объём аукциона, кол-во аукциона и пр. связанные параметры для валют и акций транслируются, а для фьючерсов их НЕТ, совсем нет - ни по итогам аукциона, ни во время, ни после. Почему так - мне никто не может ответить ни здесь ни на бирже.
Для акций аукцион давно, а для фьючерсов с этого года. Нигде не указано, что это должно быть. Возможно и для фьючерсов сделают. Но это не ошибка.
Анекдот: Вечер. Чел ищет что-то под фонарем. Прохожий - потеряли что-то? Чел - да, зажигалку потерял в подъезде дома. Прохожий - а почему ищите под столбом , а не в подъезде? Чел- там- темно, а здесь-светло. -------------------- Вы какой ответ хотите здесь получить? Брокер не хочет давать бесплатно - это его право. Вы не хотите платить - это ваше право. -------------
VPM написал: Собирая новую автоматическую систему, я поднимаю старые наработки, и довожу их до современного уровня понимания написания скриптов на Lua. Этот небольшой опус — попытка поделиться своим опытом и, возможно, помочь другим избежать ошибок или оптимизировать свой подход.
1) Основы Lua: таблицы как основа всего. Основная структура Lua — это таблицы. Именно из таблиц строятся все остальные конструкции языка. Таблицы в Lua — это не просто массивы или словари, а универсальный инструмент, который можно использовать для создания сложных структур данных. Если представить таблицу как отдельный модуль, то система становится четко структурированной. Например, можно создать таблицу, которая будет содержать данные и методы для работы с ними. Это позволяет разделять логику и данные, что делает код более читаемым и поддерживаемым.
2) Универсальные модули. Написав универсальный функциональный модуль, его можно использовать в разных скриптах. Например, модуль для работы с математическими расчетами или модуль для обработки данных можно легко интегрировать в различные проекты. Это экономит время и уменьшает количество ошибок, так как модуль уже протестирован и отлажен.
Код
Пример простого модуля: Модуль для математических расчетов
local MathUtils = {}
function MathUtils.add (a, b)
return a + b
end
function MathUtils.multiply (a, b)
return a * b
end
return MathUtils
Как можно использовать в других скриптах:
local MathUtils = require "MathUtils"
local result = MathUtils.add ( 5 , 3 )
print (result) -- Вывод: 8
3) Метатаблицы и объектно-ориентированное программирование. В Lua нет классов в классическом понимании, но есть метатаблицы, которые творят чудеса, позволяют создавать объектно-ориентированные структуры. Метатаблицы — это мощный инструмент, который позволяет определять поведение таблиц, например, перегрузку операторов или наследование. С помощью метатаблиц можно создавать объекты с методами и свойствами. Такой класс инкапсулирует всю логику, связанную с определенной задачей. Это позволяет изолировать код, упрощает его тестирование и повторное использование. Например, в торговой системе, можно выделить логику управления позициями, расчетов и генерации сигналов в отдельные классы.
Код
Пример класса для торговой системы:
local TradingSystem = {}
TradingSystem.__index = TradingSystem
function TradingSystem.new (params)
local self = setmetatable({}, TradingSystem)
self.length = params.length or 20
self.frac = params.frac or 5
self.pt_stop = params.pt_stop or 3
self.price = {}
self.smooth = {}
self.coef = {}
self.distance2 = {}
self.market_position = 0
self.entry_price = 0
return self
end
function TradingSystem:process_bar (index, high, low, open_price)
-- Логика обработки бара
end
-- Использование
local params = { length = 20 , frac = 5 , pt_stop = 3 }
local system = TradingSystem.new (params)
Делаем выводы по написанию скриптов на Lua. Lua — это мощный и гибкий язык, который отлично подходит для создания автоматических систем: 1. Используйте модули. Разделяйте код на модули по функциональности, чтобы упростить его повторное использование и тестирование. 2. Применяйте метатаблицы. Создавайте объектно-ориентированные структуры для инкапсуляции логики. 3. Документируйте код. Добавляйте комментарии и описание функций, чтобы код был понятен не только вам но и другим разработчикам. 4. Тестируйте. Проверяйте каждый модуль и класс отдельно, чтобы убедиться в их корректности. 5. Оптимизируйте. Убедитесь, что ваш код эффективен и не содержит лишних вычислений. Используя таблицы, модули и метатаблицы, можно создавать четко структурированные и легко поддерживаемые решения.
Надеюсь, этот небольшой опус поможет при создании новых проектов. Удачи!
Не в обиду будет сказано, но зачем рассказывать то, что лучше уже рассказано в учебниках. ------------------- Вот ссылка на хороший учебник по Луа. В нем на 400 страницах излагается подробно, что такое Lua и как на нем программировать. -------------------- https://eligovision.ru/media/upload/lua.pdf
При этом транслируется стакан, но не цена аукциона. Цена аукциона появляется когда ее сформируют. --------------------- Мое мнение: Цены аукциона в период аукциона еще нет, поэтому ноль. Когда она сформируется, тогда и появится в этом поле. Все верно? -------------------- Никакой ошибки в трансляции данного параметра нет.
Подскажите, кто, как решает или решил - "проблему" с авторизаций через СМС ? Ну то есть торговый день закончился, произошёл дисконнект, бот в работе, и ожидает данные, наступило утро и чтобы опять подключить Квик нужно проснутся получить СМС на телефон и ввести его ручками в КВИК.
Как то это не очень :)
Подключаем GSM модуль и вводим скриптом. Проще всего на Atoit, но можно на любом другом языке программирования.
В таблице текущих торгов имеется такой параметр как "Цена аукц.". Для акций и валют этот параметр во время проведения соответствующего аукциона (перед утренней сессией, перед/после дневной или перед вечерней) показывает расчётную цену сведения заявок, выставленных на аукционе, т.е. во время проведения аукциона при наличии на аукционе заявок эта цена всё время отображает какое-то значение (в большинстве случаев постоянно меняющееся до момента сведения). Для фьючерсов же почему-то цена эта во время проведения аукционов не отображается (в таблице она равна нулю) и начинает отображаться только после сведения, что не правильно. Я не знаю чья это недоработка - брокера или биржи или ваша - но очень хотелось бы исправить данную ситуацию. Подскажите возможно ли это и в чьей это зоне ответственности? Если это биржа так транслирует, то есть ли у вас возможность запросить изменение трансляции данного параметра? Сомневаюсь, что дело в брокере, поскольку у меня счета у нескольких брокеров и ситуация одинаковая.
Для фьючерса нет аукциона. Поэтому там и нули.
Вы не правы. Для фьючерсов есть аукцион - он проводится с 8-50 до 9-00 мск.
Дайте ссылку, где указано это. ----------------------- Мое мнение такое. Аукцион проводится для акций и Пифов и валют. Для фьючерса аукционов на московской бирже нет, так как цена фьючерса определяется ценой базового актива.
В таблице текущих торгов имеется такой параметр как "Цена аукц.". Для акций и валют этот параметр во время проведения соответствующего аукциона (перед утренней сессией, перед/после дневной или перед вечерней) показывает расчётную цену сведения заявок, выставленных на аукционе, т.е. во время проведения аукциона при наличии на аукционе заявок эта цена всё время отображает какое-то значение (в большинстве случаев постоянно меняющееся до момента сведения). Для фьючерсов же почему-то цена эта во время проведения аукционов не отображается (в таблице она равна нулю) и начинает отображаться только после сведения, что не правильно. Я не знаю чья это недоработка - брокера или биржи или ваша - но очень хотелось бы исправить данную ситуацию. Подскажите возможно ли это и в чьей это зоне ответственности? Если это биржа так транслирует, то есть ли у вас возможность запросить изменение трансляции данного параметра? Сомневаюсь, что дело в брокере, поскольку у меня счета у нескольких брокеров и ситуация одинаковая.
sandyman написал: Связался с биржей по этому вопросу, но одному человеку, простому клиенту брокера сложно продавить что-то на бирже. Обещали рассмотреть в качестве доработки, но надежды мало. Если найдётся кто-то, кому также важен формат трансляции данного параметра - напишите, пожалуйста, обращение на биржу help@moex.com
Можете дать ссылку, где указано, что для фьючерсов проводится премаркет и алгоритм вычисления цены аукциона фьючерса на Московской бирже.
Сергей написал: Всем спасибо. Avtoit скачал. Правда еще неизвестно много ли лучше будет просыпаться в двенадцать ночи от шума включившихся вентиляторов, а потом в пять утра вставать, считывать и обрабатывать информацию, чтобы успеть к утренней сессии, но сейчас хроническое недосыпание достало. Обиднее всего, что проблема возникла на пустом месте из-за того, что кто-то из программистов Quik доработал программу, возможно даже мимоходом, и сразу у разных брокеров данные таблицы "Торговля" перестали сохранять информацию предыдущего дня до начала следующей сессии. При этом они упорно не хотят исправить эту очевидную ошибку.
проще всего взять Excel и выключать QUIK по окончанию сессии. Для этого не надо ничего писать.
nmn написал: Anton Belonogov, сейчас в 19:40 настройки сохраняются в файл моментально, никаких замедлений, зависаний и прочее - вообще незаметно. Вы что-то предприняли, изменили? Версия 11.4.1.3, ещё днём настройки сохранялись с зависанием терминала на 20-30 сек...
Предположу, что потому-что дневная сессия завершилась. Потока данных нет.
еще можно использовать excel. Можно сделать экспорт таблиц в Excel, а в 23-50 закрывать либо Excel, либо QUIK. Закрывать можно либо планировщиком либо скриптом на луа.
Не в обиду будет сказано, но хотелось бы услышать не пересказ ликбеза их интернета , а конкретные данные из Вашего опыта. -------------- Начну со своего. ----------------- В настоящее время у меня есть вклад на 6 месяцев под 24.2%, есть вклад на 3 месяца под 23.2%, есть вклад накопительный под 19.2%, с которого можно снимать и класть любую сумму, а процент начисляется на остаток на конец дня . Вклады в разных банках (это как разные облигации) --------------- относительно налога. Ставка ЦБ сейчас 21%, т е налог равен нулю. ---------------- Относительно облигаций. Да, доходность по ним должна быть больше, чем по вкладу, за риск потерять деньги, который на рынке всегда больше, чем в банке. ----------------- Пример про доходность по облигациям Самолета не катит. Эта доходность не длительная, а краткосрочная с очень большим риском. ----------------- Для большего риска у меня есть торговля вечным фьючерсом, у которого плечо 5. Например вчера. Доходность за день, которую я смог забрать с рынка составила 4.5% в день. ========= Интересно было бы почитать про реальный результат торговли облигациями.
VPM написал: nikolz, Ну здесь то логика простая, Вы посмотрите на да ты погашения, то есть инвестиционный горизонт огромный. То есть фиксируем доход. Ну дело тут не в текущей доходности даже, а в чувствительности облигации к снижению ставки. То есть сегодняшние 16%, завтра 70% дадут, именно эту оценку я пытаюсь провести. Например, у меня получается, если дюрация облигации составляет 5 лет, то при снижении ставки на 1% цена облигации вырастет примерно на 5%.
Идея понятна. Но Вы не пробовали посчитать в сравнении с депозитом в банке и учетом сложного процента. Недавно читал статью в инете где говорится что высокие проценты по облигациям на длительный срок реально дают более низкий процент чем депозит если разложить эти процента по годам с учетом сложного процента.
VPM написал: На рынке сложилась уникальная ситуация! Акции как сжатая пружина, того и смотри, разожмётся и обгонит "биток" , за 2 месяца отыграна прошлогодняя просадка. Но мой взгляд прикован к облигациям, как "кролик на удава", я смотрю на них. Задача сводится зафиксировать часть доходности в инвестиционном портфеле.
Для анализа отобрал 4 длинных облигаций ОФЗ-ПД (облигации федерального займа с постоянным купонным доходом)
Код
Инструмент Номинал Доходность Размер купона Длит. купона НКД Дата выпл. куп. Дюрация До погашения Погашение Ср. взв. цена Оборот Коэфф. Выплат в год раз Годовой доход Купонный поток % От погашения к дюрации Кол. Шт. приобрести Инвестиция в одинаковое количество %
ОФЗ - ПД 26233 18 / 07 / 35 SUR 1000 15.76 30.42 182 4.35 30.07 . 2025 2437 3799 18.07 . 2035 53.148 967 , 621 , 780 1.9 2 61 р. 36 , 504 р. 11.45 % 1362 600 318 , 888 р. 1.50 900 54 , 753 р. 11.45 %
ОФЗ - ПД 26238 15 / 05 / 41 SUR 1000 15.27 35.4 182 15.95 04.06 . 2025 2658 5927 15.05 . 2041 53.254 1 , 751 , 734 , 568 1.9 2 71 р. 42 , 480 р. 13.29 % 3269 600 319 , 524 р. 1.50 898 63 , 590 р. 13.29 %
ОФЗ - ПД 26243 19 / 05 / 38 SUR 1000 15.78 48.87 182 22.02 04.06 . 2025 2330 4835 19.05 . 2038 69.341 1 , 084 , 655 , 642 1.4 2 98 р. 58 , 644 р. 14.10 % 2505 600 416 , 046 р. 1.15 690 67 , 420 р. 14.10 %
ОФЗ - ПД 26248 16 / 05 / 40 SUR 1000 16.42 61.08 182 27.52 04.06 . 2025 2264 5563 16.05 . 2040 79.718 1 , 820 , 239 , 989 1.3 2 122 р. 73 , 296 р. 15.32 % 3299 600 478 , 308 р. 1.00 600 73 , 296 р. 15.32 %
Наиболее доходная облигация: ОФЗ-ПД 26248 16/05/40 с доходностью 16.42% и годовым доходом 122 рубля. Наименее доходная облигация: ОФЗ-ПД 26238 15/05/41 с доходностью 15.27% и годовым доходом 71 рубль. Наибольший купонный поток: ОФЗ-ПД 26248 16/05/40 с купонным потоком 73,296 рублей. Наименьший купонный поток: ОФЗ-ПД 26233 18/07/35 с купонным потоком 36,504 рублей.
Вывод: В целях — максимизация дохода, то ОФЗ-ПД 26248 16/05/40 является наиболее привлекательной. Если важна меньшая дюрация и меньший срок до погашения, то ОФЗ-ПД 26233 18/07/2035 может быть предпочтительнее.
Но в штопор вводит, ожидаете понижения ключевой ставки ЦБ РФ, то есть облигации с большей дюрацией и более длительным сроком до погашения будут более выгодны, так как они сильнее реагируют на изменение ставок. То есть наиболее выгодной становится облигация ОФЗ-ПД 26238, так как имеет более высокий потенциал роста благодаря большей дюрации. Ну и как тут быть? Как в штопор не впадать?
В банке вклад с доходностью 24%. В чем фишка брать облигации с доходностью 16%?
Кирилл написал: Могут ли программисты пояснить, для чего нужен ОТРИЦАТЕЛЬНЫЙ объем торгов? ( -500 000; - 1 000 000, доводилось видеть и -2 000 000) См. скриншот:
Также, пару лет назад была указана еще одна проблема отображения таблиц:
Округлялась дробная часть. Это касалось только графиков ФосАгро и Норникеля. Наконец-то, Норникель починили. А с Фосагро надо, наверное, еще несколько лет подождать.
alex24 написал: Я так понимаю что половина всех валяющихся платных скриптов для терминала - дело рук самих разработчиков QUIKа иной причины, кроме подобного рода конфликта интересов, я и представить себе не могу. Рассчитывал что буду пользоваться софтом, но почитал форум, посмотрел программу (юзерфрендли интерфейс прямиком из 96-го года намекает что софт пишется одним человеком на коленке в выходные дни). Это все конечно шутки и ирония. Пользоваться не стану и никому не посоветую просто из-за отношения разрабов к потребностям и просьбам пользователей. Очень грустно что комьюнити такое терпеливое. Могли бы проголосовать ногами (уйти в другие торговые системы оставив разрабов думать, что не так и как следует выстраивать взаимодействие с пользователем, а то видите ли больно умные эти пользователи и базовый функционал требуют!)
Приведите пример других торговых терминалов для российского рынка.
Anton Belonogov, Вы читали сообщение биржи, что на рынке более 30 млн частных инвесторов. --------------------------- Вместо того, чтобы сделать подробную инструкцию к вашей поделке для разных систем, Вы решили издеваться над ними, заставляя делать миллионы человек одни и те же действия по копированию строк из вашего творения? --------------------------------- Вам не совестно это предлагать? ------------------- Cделали поделку -сделайте подробную документацию, а не предлагайте костыли. -------------------- Экономьте электроэнергию и берегите природу.
Это как через зад смотреть гланды. Очень увлекательно для разработчиков, но непонятно для пользователей. -------------------- У Вас в приложении в документации QUIK приведены названия параметров на русском языке (зачем эти названия на русском?), а на англ написать эти названия никто не догадался за 25 лет существования QUIK?
unikum33 написал: update: залогинился в субботу, торгуется только LQDT от ВТБ брокера. Даже при отсутствии торгов загрузка ЦП 5%. Получается, что именно открытые графики дают нагрузку ЦП? Или может быть то, что они выведены на отдельный монитор(с зажатым ctrl)?
__spb13__ написал: Добрый день, Скрипт вызывается из окна "Доступные скрипты". В скрипте все как обычно: получаю цену, открываю заявку. Но, и цена и заявка срабатывают только если в таблице "Текущая таблица параметров" выбран инструмент соответствующий инструменту заданному в скрипте. Что это, такое запрограммированное поведение Quik? Или все-же существует метод как получить цену и открыть заявку без какой-либо связки скрипта с окнами инструментов?
Можно использовать колбек Onparam. этот колбек вызывается , когда приходят какие-либо изменения в ТТП Например, совершилась сделка или изменились лучшая цена в стакане. При этом Вы получаете код инструмента и можно прочитать текущую цену этого инструмента и решить выставлять или нет заявку или изменить положение стоп-заявки
VPM, Возможно Вы это знаете, но я просто напомню. Данные в терминал приходят блоками. Если Вы используете высокоточный счетчик ПК для измерения времени (дискретность 0.1 мкс) то обнаружите, что одновременно могут прийти десятки сделок между которыми сотни миллисекунд. ----------------------- Есть данные, которые рассылаются биржей в широковещательном режиме. Они рассылаются с интервалом сотни миллисекунд. ========================== Кроме того, если вы не в дата центре и не в Москве, то задержка получения данных с биржи будет примерно 50 ms. ---------------------------- Все это создает запаздывание данных с биржи и на биржу порядки сотен миллисекунд. ======================= Меня интересует быстродействие скриптов не для того, чтобы посылать 1000 заявок по одному инструменту, а для того, чтобы максимально быстро прогнозировать изменение цены по 1000 инструментам, чтобы отправить заявку по каждому из них не более, чем за 1 секунду.