Если вам мое мнение интересно, не нужно плодить зоопарк интерфейсов, надо допилить луа до ума и всем будет хорошо, оверхед там небольшой, нативный код поддерживается, маршалить в свой процесс можете как угодно, хоть тот же ком-сервер в своей длл делайте, а кто-то хочет пайп, а кто-то хочет сокет, а кому-то и из квика нормально.
Вот именно, что не нужно. Нужно допиливать не луа, а trans2quik, а не этот зоопарк интерфейсов с "маршаливанием" в своей процесс и прочим геморроем.
Денис сапап написал: Добрый день. При открытии программы не хватает памяти, что делать? Раньше открывалась
Ошибка "Не хватило памяти под объекты"? Если да, и памяти на самом деле хватает - удалить все файлы с расширением *.log и *.dat, кроме metastock.dat, alerts.dat, portfolio.dat, scripts.dat. Если это не поможет - удалите используемый файл настроек *.wnd (по умолчанию - info.wnd в корне папки с QUIK). Должно помочь.
Нет такого файла в папке Quik. Вы нормальное ПО сделать вообще не в состоянии ? У Вас руки из жопы растут ?
Александр Копяткевич написал: Здравствуйте, Sergey Denegin . Как таковой настройки на сохранение истории графиков нет. В терминале QUIK максимально отображаются 3 тысячи свечей, а хранится максимум 65 тысяч.
Уточните, пожалуйста, на втором терминале (на котором история сохранилась за 4 месяца) Вы постоянно держали график открытым? Когда график открыт он постоянно сохраняет данные при обновлении. Так же, уточните, пожалуйста, подключаются ли терминалы к одному и тому же серверу брокера или каждый к отдельному?
С какой целью разработчики Quik Сделали хранения свечей в кол-ве 65 000, если реализовали отображение только 3000 ?? Зачем разработчики просто так занимают место на HDD Клиента ?
Добрый день. В текущей реализации сервер не сохраняется более 3000 тысяч свечей, по просьбе пользователей было решено пока реализовать хранение истории локально на рабочем месте.
Тут вопрос еще немного в другом- " В терминале QUIK максимально отображаются 3 тысячи свечей". Фактически, если я правильно интерпретирую, то, что вижу - в окне по конкретной бумаге к примеру на минутном графике отображается статистика минутных свечей примерно за 2 месяца, а это ни как не 3000 минутных свечей. Все таки фраза - " В терминале QUIK максимально отображаются 3 тысячи свечей" - некорректная или устаревшая ?
Александр Копяткевич написал: Здравствуйте, Sergey Denegin. Как таковой настройки на сохранение истории графиков нет. В терминале QUIK максимально отображаются 3 тысячи свечей, а хранится максимум 65 тысяч.
Уточните, пожалуйста, на втором терминале (на котором история сохранилась за 4 месяца) Вы постоянно держали график открытым? Когда график открыт он постоянно сохраняет данные при обновлении. Так же, уточните, пожалуйста, подключаются ли терминалы к одному и тому же серверу брокера или каждый к отдельному?
С какой целью разработчики Quik Сделали хранения свечей в кол-ве 65 000, если реализовали отображение только 3000 ?? Зачем разработчики просто так занимают место на HDD Клиента ?
Sergey Denegin написал: Только выгрузил данные свечей в файлы с двух терминалов - в одном случае в файле 4076 строк, в другом 12160 строк.
Возможно один работает дольше, всмысле что раньше был подключен и успел накопить больше свечек. Не сегодня, а вообще, за время работы. Возможно проводилась чистка архивов графиков, это сбрасывает кол-во обратно до 3000.
Цитата
Sergey Denegin написал: Я тогда не понимаю, что значит "отображает только 3000 свечей", когда я их вижу значительно больше.
="может показывать 3000". Если не включена настройка, показывает все свечи сколько есть в наличии.
На графике есть настройка показывать меньше, у меня например стоит 500 свечей.
Подскажите пожалуйста, где именно в Quik`е вы видите такую настройку ?
Подскажите пожалуйста на чьей стороне может быть косяк - на стороне Quik или брокера ?
В тех.поддежке брокера сказали, что на строне Quik и что данная ошибка направлена на исправление/рассмотрение разработчикам Quik:
Ошибка заключается в следующим:
1)При входе в Quik наблюдается ошибка кприптопровайдера ЭЦП, при том, что самое соединение с этим самым кприптропровайдером успешно установлено. Скриншот прилагаю:
Ошибка является плавающей, но постоянной. Для примера, сегодня было тоже самое, перезагрузил компьютер - ошибка временно пропала.
1)Оказалось, по крайней мере у меня, что смс-оповещения появляются в окне оповещения(именно в окне) c задержкой от 1 до 10 минут в среднем.
2)Но, тут появилась другая проблема:
-Сейчас захотел снять смс-оповещение, кликаю правой кнопкой мыши по нему в окне-оповещения, и функция "снять оповещение" - неактивно! Оно серое. -И тоже самое с попыткой создать смс-оповещение - оно неактивно! Я не могу установить смс-оповещение. Это очередной баг или в Quik есть лимит на кол-во смс-оповещений ??
Вы Quik бесплатно даете пользоваться или за деньги ? Если бесплатно, то проблем нет, если вы свой косячный продукт за деньги продаете, то это проблема:
-Через 10 минут сервис смс-оповещений опять стал доступен, поставил оповещение для проверки, уже час жду, когда оно появится в "окне-оповещения" - его там нет!!!!
Optimus1 Optimus1 написал: На следующий день я запустил quik с другого компьютера - и в таблице оповещений не было не одного активного или исполненного оповещения.Подскажите куда они пропали ? И как теперь понять вообще мои оповещения, который я выставлял днем ранее (в частности смс-оповещения) - вообще еще активны или нет ?
Удостоверьтесь, что Вы не путаете таблицу сообщений и окно оповещений. Если Вы подразумевали именно Окно оповещений - проверьте его настройки на отображение всех типов оповещений. Особое внимание обратите на "Фильтр состояния" и "Фильтр по виду". Отмеченные галочкой виды оповещений будут отображаться, не отмеченные - не будут. Также просьба уточнить, приходила ли Вам SMS с оповещением в тот день? Помимо этого, важно знать, какие настройки Вы задавали самому оповещению, когда его создавали.
Цитата
Optimus1 Optimus1 написал: Только что выставил sms-оповещение, оно успешно зарегистрировалось, но в окне оповещений - его нет!!!!!Причем в окне оповещения висит только две активные локальные: ни sms, ни ранее исполненных нет!!!
Просьба прислать скриншот (снимок экрана) настроек окна оповещений и самого окна.
Также рекомендуем Вам обновить свое рабочее место до актуальной версии - 8.12. Сделать это можно из самой программы. Для этого выберите в пункте меню "Система" - "О программе" - "Проверить обновление программы". Если появится сообщение, что версия программы не изменилась на сервере, то попробуйте запросить у своего брокера дистрибутив с последней доступной версией. Если брокер по каким-либо причинам не предоставит Вам актуальную версию, то обновиться Вы можете самостоятельно, скачав файлы обновления с нашего публичного ftp: ftp://ftp.quik.ru/public/updates/8.12/ Скачанный архив нужно будет распаковать. Создайте копию папки, в которой находится Ваш терминал и переместите в нее файлы из скачанного архива в нее с подтверждением замены.
1)Оказалось, по крайней мере у меня, что смс-оповещения появляются в окне оповещения(именно в окне) c задержкой от 1 до 10 минут в среднем.
2)Но, тут появилась другая проблема:
-Сейчас захотел снять смс-оповещение, кликаю правой кнопкой мыши по нему в окне-оповещения, и функция "снять оповещение" - неактивно! Оно серое. -И тоже самое с попыткой создать смс-оповещение - оно неактивно! Я не могу установить смс-оповещение. Это очередной баг или в Quik есть лимит на кол-во смс-оповещений ??
Подскажите пожалуйста, почему в Quik перестали работать неторговые поручения ? Брокер уверяет, что уже две недели от разработчиков Quik`а ждет исправления, а исправления все нет.
Добрый день.
Чтобы ответить нужно больше информации. Что именно не работает? Пункт меню не активен, ошибка при подаче поручения?, кто Ваш брокер?
1)Пункт выбора: Расширения --> Неторговые поручения. Вот "неторговые поручения" неактивны, то есть не нажимается, как бы "серый" 2)Сбербанк.
Нажимаешь и там пустое место. Отсутствуют какие-либо опции. Брокер тоже от Сбера. Сегодня устанавливал Quik на компьютер и обнаружил такую проблему. Если такое не только у меня, то дело, вероятно, не в моём ПК. Надеюсь брокер и Quik разберутся с этой ситуацией. Опции эти нужны в ближайшее время, а привычнее всего подавать эти поручения через программу. Но если дело в моих настройках программы, то буду рад услышать, что нужно отладить мне вручную, что опции снова работали как и раньше.
Это не в настройках дело, тех.поддержка Сбера сообщила, что это косяк со стороны разработчиков Quik и что они уже 2-3 недели ждут, когда разработчики Quik пофиксят этот баг.
Подскажите пожалуйста, почему в Quik перестали работать неторговые поручения ? Брокер уверяет, что уже две недели от разработчиков Quik`а ждет исправления, а исправления все нет.
Добрый день.
Чтобы ответить нужно больше информации. Что именно не работает? Пункт меню не активен, ошибка при подаче поручения?, кто Ваш брокер?
1)Пункт выбора: Расширения --> Неторговые поручения. Вот "неторговые поручения" неактивны, то есть не нажимается, как бы "серый" 2)Сбербанк.
Подскажите пожалуйста, почему в Quik перестали работать неторговые поручения ? Брокер уверяет, что уже две недели от разработчиков Quik`а ждет исправления, а исправления все нет.
Подскажите пожалуйста насчет оповещений в Quik и в частности SMS-оповещений:
1)Я настроил несколько локальный и СМС оповещений, протестировал - они работают. 2)На следующий день я запустил quik с другого компьютера - и в таблице оповещений не было не одного активного или исполненного оповещения.
Подскажите куда они пропали ? И как теперь понять вообще мои оповещения, который я выставлял днем ранее (в частности смс-оповещения) - вообще еще активны или нет ?
Дохнет сервер в конце торгового дня, квик подключается на другой, очистка сессии, перезалив всей ТВС за день, тик за тиком дергается ваш апи, на каждом тике маршалинг и ожидание обработки на вашей стороне. Рано или поздно вы, конечно, догоняете сессию, главное чтобы она не закончилась к тому моменту.
Вы привели просто еденичный и самый звгруженный вариант взаимодействия с quik'ом и на основании этого некорректного примера делаете вывод, что такое api не нужно. Ну согласитесь, что это неправильно ?
Optimus1 Optimus1 написал: Записать в есель эти же 450 тыщ строк - занимает не более 5 секунд.
Одним вызовом записывали, сразу все в safearray и вперед в эксель, да? В реале-то оно не так работать будет.
Ну так, а откуда возьмутся те 3 млн строк о которых вы пишите ? Они что сразу сгенерятся в 1 секунду ? Что это за 3 млн строк ? Приведите пример конкретной задачи, а то слишком абстрактно получается.
это все же более реальный сценарий (насколько вариант с полноценным апи в бесплатном рабочем месте вообще реален, у мамбы свой апи есть и ей такой расклад очень не понравится)
В чем его не реальность то !? И чем api не нравится и кому ?
Optimus1 Optimus1 написал: Я так понимаю (возможно я жесЦко ошибаюсь ?), но trans2quik - только для выставления заявок.
Не ошибаетесь. Значит, апи это trans2quik с кучкой дополнительных функций, так? Тогда давайте "желать" этих функций в trans2quik, а не предлагать сделать из квика нетинвестор (или метатрейдер, или еще что-то), это все же более реальный сценарий (насколько вариант с полноценным апи в бесплатном рабочем месте вообще реален, у мамбы свой апи есть и ей такой расклад очень не понравится).
Цитата
Optimus1 Optimus1 написал: А первоначально то, как эту ТВС выгрузить из Quika ?
Да неважно как, хоть "сохранить в текстовый файл", вопрос в том, чтобы все эти 3-6 миллионов строк потом в эксель напихать через ком. Даже не предлагаю время засекать, бо эксперимент закончится через диспетчер задач скорей всего.
450 тыщ строк в 5 столбцов на стареньком i5 - взять в vector на С++ - занимает порядка 2 секунд. Записать в есель эти же 450 тыщ строк - занимает не более 5 секунд.
Optimus1 Optimus1 написал: Не совсем понял, что вы имели ввиду под выгружать ТВС через ком ? Вы имели ввиду выгружать ТВС встроенную функцию quik через dde в ексель ?
Создать книгу и напихать туда всю твс через ком апи, хоть бы из текстового файла.
А первоначально то, как эту ТВС выгрузить из Quika ?
Был же нетинвестор с комом, чет никто им не пользовался, так и сдох, странное дело. А ежли в эксель ТВС через ком загружать, через неделю-то он отвиснет, не пробовали?
Не совсем понял, что вы имели ввиду под выгружать ТВС через ком ? Вы имели ввиду выгружать ТВС встроенную функцию quik через dde в ексель ?
Optimus1 Optimus1 написал: не могут сделать нормальное полноценное API
Давно сделали, QuikFIX называется.
Подключение внешней платформы к серверу QUIK для получения информации с сервера QUIK и подачи в QUIK торговых поручений (FIX adapter и FIX Client Connector)
Передача данных с сервера QUIK во внешнюю платформу (FIX drop copy)
Подключение QUIK к внешней торговой платформе с целью получения информации на сервер QUIK и передачи торговых поручений из QUIK (FIX order router)
Я так понимаю - это протокол прямого подключения к серверу, а я говорил про API к ПО Quik.
Мне вот просто из любопытства интересно, почему разработчики Quik`а - не могут сделать нормальное полноценное API к своему (своему ли?) продукту ?? Чтобы можно было нормально и просто взаимодейстовать через единый интерфейс без всяких костылей типа: DDE, ODBC, QLUA, QPILE, trans2quik - какой б?ть шикарный выбор, аж глаза разбегаются.
Здравствуйте, Подскажите пожалуйста, есть ли в quik возможность получения доступа к данным (цены, и прочии параметры по инструменту) через сокеты ? То есть по сути сделать из quik такой мини локальный сервер еа который можно слать свои запромы получать на них ответы ?
Подскажите пожалуйста, вот скрипт, который выводит фактическое значение цены свечи, в тот момент, когда происходит изменение цены:
Код
p_classcode_1="TQBR"
p_seccode_1="GAZP"
is_run = true
function cb(index)
Price_close1 = ds:C(Kol_vo_svechey)
local t1 = ds:T(Kol_vo_svechey)
message("Цена:"..tostring(Price_close1));
end
------------------------------------------------------------------
function main()
ds=CreateDataSource(p_classcode_1, p_seccode_1, INTERVAL_D1)
--------------
while ds:Size() == 0 do
sleep(5)
end
--------------
Kol_vo_svechey=ds:Size()
ds:SetUpdateCallback(cb)
while is_run do
sleep(100)
end
end
Но, если в момент работы скрипта происходит разрыв связи и обратное ее восставновление, после подключение скрипт выводит значения всех свечей по выбранному интервалу от 1 до последней, почему так происходит ? Причем, если скрипт запустить во время уже устанновленного подключения, вывода всех свечей не происходит, а выдается только последняя цена.
Вариант был бы идеальным, но к сожалению не по всем инструментам кол-во свечей по факту на данный момент имеется - 3001, то есть если скрипт попадет на такой инструмент, то он зависнет на проверке полноты Size`а.
Так работает. Это что то на подобии задержки, чтобы данные успели погрузится ? Если да, то как быть точно уверенным, что это задержи хватило, а если таких запросов будет больше одного, то необходимо после каждого запроса задержку делать ?
А вот еще что то не понятное мне, опять запускаю вышеприведенный скрипт, с уже подключенным соединением, на тот инструмент, который есть в "таблице торгов", но по которому не открыт график. Если в скрипте указываю дневной интервал, то скрипт показывает значение, если указываю минутный интервал, скрипт показывает значение "0", но после того, как я открыл график по данному инструменту и открыл на нем минутный интервал, то после запуска скрипта, показывается правильно значение.
Данные по инструменту в таблице"текущие торги" есть. Там по сути, как я понял вообще все данные по всем инструментам у меня были в этой таблице. То есть по сути, если эта таблица открыта со всеми инструментами, то есть CreateDataSource будет обращаться при любом инструменте к этой таблице ?
Хотя нет, сейчас запустил скрипт по инструменту (при разорванном соединении), по которому график в Квике открыт не был, но скрипт все равно вывел правильно значение.
Так и не понял все таки откуда и как подгружаются данные при вызове этой функции:
Код
is_run=true
------------------------------------------------------------
function main()
ds1, err = CreateDataSource("TQBR", "GAZP", INTERVAL_D1);
Kol_vo_svechey=ds1:Size()
Price_close = ds1:C(Kol_vo_svechey)
message(tostring(Price_close))
while is_run do
sleep(1000)
end
end
После выполнения этого скрипта, вывелось значения цены закрытия последней свечи по выбранному инструменту. После этого, я закрыл Квик, а потом его открыл, но без подключения и заменил в скрипте инструмент с GAZP на SBER, запустил и скрипт показал правильно значение. Так откуда скрипт взял эти данные, если я не запускал данный скрипт по инструменту SBER будучи подключенным к серверу ?
Запустил в Квике вот этот скрипт для проверки, как работает CreateDataSource:
Код
p_classcode_1="TQBR"
p_seccode_1="GAZP"
is_run=true
------------------------------------------------------------
function main()
ds1, err = CreateDataSource("TQBR", "GAZP", INTERVAL_M1, "last");
message(err);
ds1:SetEmptyCallback();
message(ds1:Size());
while is_run do
sleep(1000)
end
end
Но что то ничего не происходит, никаких message(ds1:Size()) не появляется.