Как передать данные в КВИК из сторонней программы? Из Квика я отправляю через SOCKET, а в Квик не получается(((
Пользователь
Сообщений: Регистрация: 30.01.2015
22.11.2024 16:01:56
на форуме тема уже обсуждалась. я приводил результаты теста обмена через файл. Это самый простой и достаточно быстрый способ. Рекомендую начать с него.
Как передать данные в КВИК из сторонней программы? Из Квика я отправляю через SOCKET, а в Квик не получается(((
Как передать данные в КВИК из сторонней программы?? Из Квика во внешний мир я отправляю через SOCKET сервер который я поднял на ПИТОНЕ.
А в Квик из внешнего мира не получается(((
Если сторонняя программа на том же ПК, то нет надобности использовать SOCKET. Можно обмениваться через память или файлы. По скорости будет также или быстрее. ----------------- Если надо обмениваться через SOCKET то сделайте на Lua сервер и клиент в одном скрипте. В сторонней программе можно на любом языке. Универсально сделать все на си и обернуть для нужных языков . В инете есть примеры
Спасибо за ответ
СОКЕТ не принципиален
Подскажи пож-ста как обмениваться через ПАМЯТЬ ?? Через файлы умею, но хочу еще научится через память делать обмен данными
Спасибо
Для этого Вам надо будет написать функции на С или обернуть такие функции для Lua Методы обмена между процессами через память: Shared memory и Mapping memory.
Народ, как подключить библиотеку HTTP ?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.11.2024 07:32:07
Как передать данные в КВИК из сторонней программы? Из Квика я отправляю через SOCKET, а в Квик не получается(((
Как передать данные в КВИК из сторонней программы?? Из Квика во внешний мир я отправляю через SOCKET сервер который я поднял на ПИТОНЕ.
А в Квик из внешнего мира не получается(((
Если сторонняя программа на том же ПК, то нет надобности использовать SOCKET. Можно обмениваться через память или файлы. По скорости будет также или быстрее. ----------------- Если надо обмениваться через SOCKET то сделайте на Lua сервер и клиент в одном скрипте. В сторонней программе можно на любом языке. Универсально сделать все на си и обернуть для нужных языков . В инете есть примеры
Вылетает квик 50 раз за сессию!, вылетает квик при работе в период торговой сессии
Пользователь
Сообщений: Регистрация: 30.01.2015
28.09.2024 20:36:52
Цитата
Лена написал: на компьютере открыто 36 вкладок ,на каждой вкладке 5 графиков и стакан. квик вылетает каждую минуту. Места на диске, где он установлен свобоно 100ГИГ, оперативка 8гиг Разрабы, откройте у себя 40 вкладок и выведите на каждую по 5 графиков и поработайте, выйдет у вас или нет. Бесит уже такая ситуация.
напомню, у меня ДВА инструмента-комп с виндой 7 и ноут с виндой 10, везде памяти вагон и везде одна и таже проблема и мне еще говорят-что проблема в моих девайсах? ну вот ага
когда квик вылетает есть сообщения или он просто закрывает все окна? и хорошо бы при этом наблюдать диспетчер задач (загрузка процессора и памяти)
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
Пользователь
Сообщений: Регистрация: 30.01.2015
24.09.2024 20:48:32
Цитата
VPM написал: Но в отличии от функции исполнение идет в собственном потоке, низко затратам, без использования задержек и блокировки основного потока, может приостанавливать исполнение и возобновлять впоследствии. Подход, в котором каждая стратегия работает в своей корутине, позволяет молниеносно обрабатывать ее, практически не влияя на производительность
Вы опять ошибаетесь . корутина выполняется не в отдельном потоке , а в отдельном стеке . Но поток в смысле многопоточность ОС будет один Т е все корутины , которые вы создадите будут исполняться на одном ядре и последовательно. они не мешают друг другу так как при их создании выделяется отдельный стек. ------------------ Но Вы можете верить что у вас все параллельно.
Выставить сделку с переносом из стакана, быстрые сделки
Пользователь
Сообщений: Регистрация: 30.01.2015
24.09.2024 09:28:14
никак
Как создать глобальную константу доступную многим скриптам и индикаторам?, Как создать глобальную константу доступную многим скриптам и индикаторам?
Пользователь
Сообщений: Регистрация: 30.01.2015
05.09.2024 15:51:13
Но опять же называется строго это называется: программирование без блокировок (Lock-free).
Как создать глобальную константу доступную многим скриптам и индикаторам?, Как создать глобальную константу доступную многим скриптам и индикаторам?
Пользователь
Сообщений: Регистрация: 30.01.2015
05.09.2024 15:47:54
но если использовать атомарные операции то можно сказать и потоконезависимость. Так как никакие потоки вообще никак не обнаруживают друг друга.
Как создать глобальную константу доступную многим скриптам и индикаторам?, Как создать глобальную константу доступную многим скриптам и индикаторам?
Пользователь
Сообщений: Регистрация: 30.01.2015
05.09.2024 15:45:48
Цитата
swerg написал: Вообще точнее сказать потокобезопасный.
Это подразумевалось под потоконезависимостью? Или что-то другое?
Как создать глобальную константу доступную многим скриптам и индикаторам?, Как создать глобальную константу доступную многим скриптам и индикаторам?
Пользователь
Сообщений: Регистрация: 30.01.2015
05.09.2024 09:51:25
Цитата
swerg написал: StaticVar специально для этого делалась
У вас обмен потоконезависимый?
Как создать глобальную константу доступную многим скриптам и индикаторам?, Как создать глобальную константу доступную многим скриптам и индикаторам?
Пользователь
Сообщений: Регистрация: 30.01.2015
05.09.2024 09:49:11
хотел сравнить со своим решением. у меня библиотека в 3 раза меньше.(43кБ)
Как создать глобальную константу доступную многим скриптам и индикаторам?, Как создать глобальную константу доступную многим скриптам и индикаторам?
Пользователь
Сообщений: Регистрация: 30.01.2015
05.09.2024 09:42:49
Цитата
swerg написал: StaticVar специально для этого делалась
если не ошибаюсь, то собрана для 5.3.
Не смог залогиниться в десктоп квике
Пользователь
Сообщений: Регистрация: 30.01.2015
04.09.2024 20:16:06
Такая проблема возникала и у Сбера. Заметил, что это обычно возникало, если подключаешься до начала торгов. Как правило, через некоторое время после такого сообщения соединение устанавливается без каких либо пинков.
Не смог залогиниться в десктоп квике
Пользователь
Сообщений: Регистрация: 30.01.2015
03.09.2024 10:48:11
Цитата
Serge123 написал: В 9:50 выставил заявку в квике, перезагрузился для отмены алгоритма Нейгла, опять запускаю квик, на ввод пароля получаю сообщение, что у меня какие-то неправильные ключи и что-то не то с авторизацией, и так 2 раза.
А что было бы, если бы я попытался залогиниться в 4-й раз? Я, наверно, попал бы на блокировку аккаунта?
А волатильность сейчас высокая, может потребоваться срочно снять заявку (так оно и случилось), а то при её выполнении я стану должен брокеру хорошую сумму, а цена может пойти ещё ниже... Я методом тыка выбрал дополнительный сервер у брокера для связи и тогда только смог залогиниться.
Вопрос: что это была за ерунда такая?
Иногда я для подстраховки держу запущенную торговую программу на телефоне, но особого спокойствия всё равно не чувствую...
Сервер обнаруживает отсутствие связи через некоторое время. Поэтому если сразу и быстро, то может быть как у Вас.
Как создать глобальную константу доступную многим скриптам и индикаторам?, Как создать глобальную константу доступную многим скриптам и индикаторам?
Пользователь
Сообщений: Регистрация: 30.01.2015
03.09.2024 10:45:02
Цитата
ДмитрийР написал: Есть потребность сохранить одно число и иметь возможность использовать его в разных скриптах и индикаторах. Как это можно сделать без чтения\записи в фаил?
См API C for Lua или готовые внешние dll. ------------------- Зря пренебрегаете файлами. Работают быстро так как хранятся в памяти.
Зависание приёма данных в QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
29.08.2024 16:54:15
Цитата
unikum33 написал: Подскажите, пожалуйста, как можно откатиться на 10-ю версию квика, пока идёт багфиксинг. Просто копирование, как при апдейте, через файловый архив не работает. QUIK просто не запускается.
есть в квике папка backup там в папках по датам Ваша предыдущая версия Берете оттуда файлы и копируете в QUIK. (на всякий случай сначала сделайте архив текущего содержания)
Вылетает квик 50 раз за сессию!, вылетает квик при работе в период торговой сессии
ну я и пишу,что квик не умеет работать с большим числом графиков. так что это не моя проблема а разрабов. я не долгосрочный инвестор, который купил и забыл. я внутри дн торгую разные инструменты и, естественно, мне надо переключаться между ними, а иначе как вы себе это представляете?
резюмирую - это не у меня система плохая и даже на игровом мощном буке все летит с квиком в тартарары,а квик сам не умеет работать с большим числом окон.
когда раньше я сидела с парой инструментов, проблем не было. вот и все
Ваш рассказ не содержит технических характеристик загрузки Вашего компьютера, поэтому могу лишь посочувствовать Вам. ------------------------------- Если биржа вернет торговый день с 7-00 до 23-59 и Вы будете все это время активно бегать по бумагам т е по графикам, то Вас надолго не хватит. -------------------- Что касается QUIK как торгового терминала, то писал на форуме результат краштеста для 200 бумаг, примерно 200 тысяч выставленных и снятых заявок за 4 часа. Загрузка процессора примерно 10%. ------------------- Если хотите конкретной помощи, то выкладывайте параметры из менеджера задач и оптимизируйте работу компа и свое беганье по графикам. --------------------- Есть еще один универсальный способ решить проблему. Надо поднять правую руку над головой. Глубоко вдохнуть и , резко опустив руку вниз , громко сказать "ну и ...... c ним ( тут по желанию можно добавить что-то про QUIK или про компьютер или про рынок )" После такого сложного дела можно попить кофе.
[BUG] getFuturesHolding: ошибка в работе
Пользователь
Сообщений: Регистрация: 30.01.2015
22.08.2024 15:02:17
Цитата
VPM написал: , Не понял что мешает организовать свой поток маин? Вот накидал на скорую руку, попробуйте так поставив свои данные. [CODE][/CODE]
Да ничего не мешает. Функцию я эту использую. Но у меня все иначе написано и проблем с этой функцией не было. ----------------------- Поэтому и хотел посмотреть именно ваше решение, в котором есть проблемы. ------------------------ Относительно задержки процессора. Я использую Event, об этом писал и вы знаете. В результате реакция на колбек запаздывает не более, чем на 0.00001 сек, а загрузка процессора 3-7%.
[BUG] getFuturesHolding: ошибка в работе
Пользователь
Сообщений: Регистрация: 30.01.2015
22.08.2024 10:12:21
Цитата
VPM написал: , Функция вызова обрабатывается в потоке маин, работает правильно и со стороны пользователя защищена проверкой на nil,
Цитата
В случае ошибки функция возвращает «nil».
На этот случай дополнительно выводится сообщение и проверяемся корректность ввода пользователем входных параметров. В случае описанном нет ошибки на стороне пользователя (все введено корректно изменился тикер)! Ошибка возникает на стороне функции (Разработчиков), так как возвращает nil то есть - ошибку (читаем документацию)! Вот я и пытаюсь получить комментарий Разработчиков, понять где не точность в функции или документации? Описание говорит что должна вернуться таблица.
просто хотел посмотреть на демо сервере и понять причину. Возможно я не нашел примера, но этот код не содержит вызова, результата и рабочего скрипта, который можно запустить чтобы обнаружить проблему:
Код
-- Function to get Futures Holding
function MoneyManagement:FuturesHolding(symbol)
local holdings = getFuturesHolding(self.firmid, self.account, symbol, self.type)
if holdings then
self.holdings = holdings
self.startbuy = holdings.startbuy or 0
self.startsell = holdings.startsell or 0
self.startnet = holdings.startnet or 0
self.todaybuy = holdings.todaybuy or 0
self.todaysell = holdings.todaysell or 0
self.totalnet = holdings.totalnet or 0
self.openbuys = holdings.openbuys or 0
self.opensells = holdings.opensells or 0
self.lused = holdings.cbplused or 0
self.lplanned = holdings.cbplplanned or 0
self.varmargin = holdings.varmargin or 0
self.avrposnprice = holdings.avrposnprice or 0
self.positionvalue = holdings.positionvalue or 0
self.real_varmargin = holdings.real_varmargin or 0
self.total_varmargin = holdings.total_varmargin or 0
--self.session_status = math.floor(holdings.session_status) or 0
local session_status = {
[0] = 'не определено',
[1] = 'основная сессия',
[2] = 'начался промклиринг',
[3] = 'завершился промклиринг',
[4] = 'начался основной клиринг',
[5] = 'основной клиринг: новая сессия назначена',
[6] = 'завершился основной клиринг',
[7] = 'завершилась вечерняя сессия'
}
self.session_status = session_status[ math.floor(holdings.session_status)]
if getFuturesHolding ~= 'основная сессия' then
Log:trace('Актуальный статус торговой сессии getFuturesHolding: ' .. holdings.session_status .. ' ' .. self.session_status)
end
else
Log:info("Ошибка функции getFuturesHolding, возвращает = " .. tostring(holdings) ..
"; self.firmid = " .. tostring(self.firmid) ..
"; self.account = " .. tostring(self.account) ..
"; symbol = " .. tostring(symbol) ..
"; self.type = " .. tostring(self.type)..' '.. type(self.type))
end
end
[BUG] getFuturesHolding: ошибка в работе
Пользователь
Сообщений: Регистрация: 30.01.2015
22.08.2024 07:12:41
Цитата
VPM написал: , Выше я показал функцию вызова и ответ на нее. Все прекрасно работало на старом тикере. Сбой происходит в момент ввода нового тикера. Ответ на вызов local holdings = nil? при этом все входящие данные верны, более того изменился только код тикера.
Цитата
Ошибка функции getFuturesHolding, возвращает = nil; self.firmid = SPBFUT; self.account = SPBFUT00hkv; symbol = NGU4; self.type = 0 number
Функция возвращает таблицу Lua, не может быть здесь отсутствие самой таблицы, могут отсутствовать поля этой таблицы, но не сама таблица?
Вот из справки
Цитата
Функция предназначена для получения информации по фьючерсным позициям. Формат вызова: TABLE getFuturesHolding(STRING firmid, STRING trdaccid, STRING sec_code, NUMBER type) Функция возвращает таблицу Lua с параметрами Таблицы «Позиции по клиентским счетам». В случае ошибки функция возвращает «nil».
Я и допустил что при обновлении тикера не проходит какая - то инициализация, так как таблица отражает владение, то и активировал просто ордер по этому тикеру, сразу функция заработала нормально. Об этом мое сообщение.
Так как повторить данную ситуацию не могу, то могу лишь предположить следующее. Эта функция по указанным параметрам ищет информацию в архиве терминала. Если это новый тикер и он поступил в колбеке, то его еще нет архиве и в таблицах, так как информация в колбек приходит до ее записи в таблицы. -------------------- Чтобы такой ситуации не происходило , или для того чтобы определить причину, я бы поставил ожидание данных при возникновении ситуации и запись состояния при этом в лог файл. По результатам в лог файле можно было бы что-то решить.
[BUG] getFuturesHolding: ошибка в работе
Пользователь
Сообщений: Регистрация: 30.01.2015
21.08.2024 13:43:19
Мое мнение: Чтобы найти ошибку надо видеть вызов функции и результат. Вполне возможно, что ошибка происходи так как поток не успеет выбрать значение из архива до прихода новых данных. Надо ставить ожидание события, чтобы не было мучительно больно.
написал: если Вы выключили QUIK, то историю сделок Вы не получите, а брокер, вне зависимости от включения QUIK, обязательно Вам ее передаст согласно ГК РФ.
Поумничали.... А нам не официальный отчет нужен, а просто табличка из Квик со сделками на предыдущий день. Без всякого ГК. Для сервиса удобного, а не ради соблюдения ГК. Брокеров много, от каждого идет свой формат загрузки, иногда дурацкий. Простая структура данных, которую самая стать построчно формировать, в такую матрешку оборачивается, запаришься ее обрабатывать. А из Квика можно получать одинаковые файлы от разных брокеров.
Ну,ну. Я Вам объяснил, почему делать филькину грамоту Вам никто не будет. Ну если Вы других не дурите, то вам можно .
история сделок, история сделок
Пользователь
Сообщений: Регистрация: 30.01.2015
15.08.2024 06:28:13
Цитата
Ирина Никонова написал: Добрый день. У нас в компании работает скрипт, сохраняющий сделки в нужном нам формате для загрузки в учетные системы. Но иногда бывают сбои - пользователь может случайно закрыть табличку и ... сделок нет. Хотя бы на один-два дня глубиной хранить историю сделок было бы очень актуально. Брокер, к сожалению, дает какой-то невообразимо дурацкий формат для загрузки сделок, а квиковский нам нравится.
Попробую объяснить почему это не будет сделано. ------------------------ Согласно ФЗ о рынке ЦБ сделки на бирже делает не клиент, а брокер. QUIK лишь терминал для подачи заявок брокеру. . Поэтому действительны лишь те сделки , которые есть в отчете брокера. -------------------- При этом, если Вы выключили QUIK, то историю сделок Вы не получите, а брокер, вне зависимости от включения QUIK, обязательно Вам ее передаст согласно ГК РФ. -------------------- В итоге то, что прислал брокер это и есть Ваши сделки. ------------------ Если формат не устраивает, то конвертируйте в другой формат. Это техническая задача на уровне студента.
сообщение в Telegram - это просто
Пользователь
Сообщений: Регистрация: 30.01.2015
14.08.2024 12:07:40
Цитата
Nikolay написал: io.popen в окружении терминала все равно поднимает окно.
тогда придется использовать API C for Lua и написать такую функцию для отправки сообщений:
Код
static int shell(lua_State* L){ ShellExecuteA(0,"open", (char*)lua_tostring(L, 1),(char*)lua_tostring(L,2),0,0);return 0; }
сообщение в Telegram - это просто
Пользователь
Сообщений: Регистрация: 30.01.2015
14.08.2024 10:29:16
Цитата
VargoR написал: Вопрос только в том, как убрать мелькание командного окна.
попробуйте так:
Код
local token=""
local chat_id=""
local serv= "https://api.telegram.org/bot"..token
local pref= serv.."/sendMessage?chat_id="..chat_id.."&text="
local cur1="curl -s "..'"'..pref
local mes="Привет"
local f=io.popen(cur1..mes); f:close();
Хочу заказать скрипт., Хочу заказать скрипт по поиску роботов, которые покупают или продают рыночными заявками.
написал: Написал первый вариант такого скрипта.Пускаю его на тест сервере.Он обрабатывает всю таблицу это 330 инструментов и 1 млн 100 тысяч записейДля каждого инструмента и каждой записи он ищет по истории нужных роботов.Примерно так.
Поделитесь своими чудесами?
Когда пишу подобную информацию, то сообщаю о том, что можно получить на QUIK экспериментально, а не рассуждая теоретически или оплевывая вся и все. --------------------- Если для кого-то это чудеса, то рад за него и не хочу его разочаровывать в такой вере. ----------------------------------- Тот, кто сам экспериментирует может сообщить о своих достижениях. ----------------------------- Для меня подобная информация является руководством к новым экспериментам, если мне это интересно.
текущий современный способ сделать робота без ежемесячных расходов?
Пользователь
Сообщений: Регистрация: 30.01.2015
06.08.2024 18:20:31
Цитата
Константин написал: Забыл упомянуть в выше написанном. Акции должны выставляться на покупку пока не окончатся свободные финансы в наличии в порядке упорядочивания этого списка, при этом если уже есть в наличии более чем 2 лота, то инструмент пропустить и не покупать
Ээто пишется в виде скрипта на луа,. Прикольно, полагаю Вы считаете, что напишите это в виде одной строчки на скриптовый язык 1С, который напоминает бейсик и никогда не оптимизировался для компактных и быстрых приложений можт конкурировать с Луа, который вы очевидно не знаете. Верно? В Квике подобно бейсику 1С был Qpiile в прошлом веке. --------------------- Покажите на 1С свой запрос в виде одной строчки и дайте оценку времени исполнения.
текущий современный способ сделать робота без ежемесячных расходов?
Пользователь
Сообщений: Регистрация: 30.01.2015
06.08.2024 07:18:28
Цитата
Константин написал: Мне кажется если вкладывать в понятие "робот" какие то аналитические способности, то возможностей интеграций у 1С как платформы достаточно/предостаточно.
Я привел Вам результаты теста так как Вы указали сколько Вы делаете операций. -------------------- Причем далее Вы сами себе противоречите. То 5000 операций, то раз в день. -------------- Вы уж будьте последовательны в своих рассуждениях. -------------- Относительно аналитических возможностей. У меня нет никаких ограничений. Я могу использовать без 1С любые языки программирования, любые библиотеки и любые системы в том числе и ИИ. --------------- Напишите конкретнее , какие новые аналитические возможности даст 1С, кроме обеспечения доступа к системе управления и бухгалтерии предприятия. .
текущий современный способ сделать робота без ежемесячных расходов?
Пользователь
Сообщений: Регистрация: 30.01.2015
05.08.2024 19:36:33
Цитата
Константин написал: Ну не знаю. У меня в день (за 10 часов) выставляется ~5000 заявок (каждые 6-8 секунд пересчитывает состояние какого либо инструмента снимает лимитную заявку и выставляет новую). Само собой сделок гораздо меньше в зависимости от того сошлись ли мы по цене с покупателем/продавцом. Лично мне чаще не надо. (QUIK справляется. 1С справляется. При этом 1С пересчитывает индикаторы используя как раз Python скрипты). Я так понимаю и QUIK и 1С могут гораздо больше. Рынок не совершает таких колебаний, чтобы чаще снимать/выставлять.
Делал краш-тест на демо сервере для оценки скорости и надежности работы на QUIK в тесте на каждое изменение ТТП, которое приходило в колбеке Onparam выставлялась заявка после ее регистрации она снималась. По инструменту активной всегда была лишь одна заявка. ----------------- Итоги теста: ------------- Всего инструментов примерно 230. За 4 часа теста выставлено и снято более 200 тысяч заявок без сбоев и зависаний. При этом использовался пул потоков, из которого вызывалось одновременно до 12 потоков Делал максимум до 500 тысяч заявок пока меня разработчики не отключили от сервера. Больше так не делаю. ----------------- Можете сравнить с 1С.
текущий современный способ сделать робота без ежемесячных расходов?
Пользователь
Сообщений: Регистрация: 30.01.2015
05.08.2024 15:32:56
Цитата
Константин написал: Если вдруг захочется потом продавать робота, то мне кажется, что продавать на C, Java и т.п. будет немного сложновато. Мне кажется что, более или менее люди которые смогут купить робота так или иначе работают с 1С по своему основному месту работы
Т е торгуют на деньги и со счетов фирмы?
Как исправить QUK без переустановки?
Пользователь
Сообщений: Регистрация: 30.01.2015
05.08.2024 10:52:58
Спасибо. Пока ошибки нет.
Как исправить QUK без переустановки?
Пользователь
Сообщений: Регистрация: 30.01.2015
02.08.2024 20:21:24
пардон, опечатка версии 10 и 11.3
Как исправить QUK без переустановки?
Пользователь
Сообщений: Регистрация: 30.01.2015
02.08.2024 20:20:35
Вопрос к разработчикам. Тестирую скрипт на версии 13. и 10. Ошибка одна и та же. При вылете скрипта возникает ошибка системы с сообщением.
Удаление файлов с расширением dat не исправляет ошибку. Исправить можно лишь переустановкой QUIK. ------------------- Переустанавливать каждый раз при такой ошибке очень муторно. ---------------------- Предполагаю, что QUIK записывает какую-то информацию в служебный файл и после этого выдает всегда эту ошибку. =============== Какой файл удалить чтобы QUIK нормально загрузился при возникновении данной ошибки. =============== Для особо непонятливых поясняю. Сообщение о нехватке памяти -является фейком, так как при переустановке с тем же или даже меньшим объемом свободной памяти QUIK нормально работает до очередного затыка в скрипте.
текущий современный способ сделать робота без ежемесячных расходов?
Пользователь
Сообщений: Регистрация: 30.01.2015
01.08.2024 19:13:05
Цитата
Oleg Vazhnev написал: Хочется универсальный способ подходящий под любого брокера. Задержка не имеет значения, т.к. при торговле через интернет ты в любом случае будешь последним.
тогда QUIK+Lua и будет счастья полные штаны.
текущий современный способ сделать робота без ежемесячных расходов?
Пользователь
Сообщений: Регистрация: 30.01.2015
01.08.2024 08:23:21
Пардон, опечатка Если надо еще круче, то делаем кластер, объединяя несколько компов или вешаем доп многоядерный сопроцессор (видеокарту) и используем CUDA
текущий современный способ сделать робота без ежемесячных расходов?
Пользователь
Сообщений: Регистрация: 30.01.2015
01.08.2024 08:21:13
Добавлю --------------------- Если надо скорость, то используем Event в колбеках и Wait в main. Время реакции на колбек составляет не более 0.03 ms. -------------------- Если надо реализовать сложный алгоритм или обрабатывать сотни инструментов, То использую дополнительные потоки в которых работает Luajit. Luajit увеличивает скорость вычислений в 10 и более раз по сравнению с Lua5.4 Дополнительные потоки увеличивают скорость вычислений пропорционально числу ядер -------------------- Если надо еще круче, то делаем кластер, объединяя несколько компов или вешаем. ================== Но есть задержка Интернет. Ставим все в датацентр. Но это уже не бесплатно.
текущий современный способ сделать робота без ежемесячных расходов?
Пользователь
Сообщений: Регистрация: 30.01.2015
31.07.2024 19:46:37
Добавлю Luajit и С без плюсов.
Таблица обезличенных сделок не наполняется, С началом нового дня не приходят свежие даннные
Вроде бы? Зачем утверждать то, в чём не уверен? Данные, которые может увидеть скрипт, при отсутствии ошибок, те же что и в видимой таблице. Легко проверить с помощью функций. Запрашиваешь количество строчек таблицы обезличенных сделок, а потом пробуешь получить значение из строки большей, чем их есть в видимой таблице. Выдаст значение nil. k = getNumberOf("all_trades") F=getItem("all_trades",k).flags Но как я и писал выше, в некоторых случаях случается ошибка, при редактировании параметров фильтров, замене инструментов перед экспирацией. Скрипт выдаёт значения из строк неверно, скорее всего из-за того что при редактировании параметров фильтра, некорректно обновляется файл, содержащий данные обезличенных сделок. Из-за это скрипты у меня, которые анализируют ТОС, начинают выдавать чушь. Правда ситуация исправляется перезаказом данных, но иногда это приходится делать по несколько раз. В последний раз у меня было такое, что я перезаказывал данные после замены инструментов перед экспирацией и у меня раз через раз отображалось то 42108 строчек, то 41958. Притом, что менялось и их программное отображение. В зависимости от того сколько отображалось строчек, у меня менялись первые свечки тикового графика. То их не было, то они появлялись, после перезаказа. И только на раз 8 перезаказа, после проверки, таблица начала выдавать данные, которые запрашивают. И поэтому когда происходят какие то изменения в параметрах фильтра таблицы обезличенных сделок, я проверяю корректное их обновление. В своё время, пока я не обнаружил эту ошибку, я сильно намучался, пытаясь понять почему мои скрипты работают неверно.
Написал "вроде бы" так как исследовал это надцать лет назад. Но специально для Вас сделал сейчас снова. ------------------ Да, я оказался прав. вот две картинки На этой таблица содержит все а на этой включен фильтр кол-во=10 но результат запроса числа строк в ТОС остается как без фильтра
Таблица обезличенных сделок не наполняется, С началом нового дня не приходят свежие даннные
Пользователь
Сообщений: Регистрация: 30.01.2015
29.07.2024 14:44:55
Цитата
вадим написал: Здравствуйте. В квике есть ошибки, связанные с таблицей обезличенных сделок (далее ТОС). При чём у меня два брокера и эта проблема есть в обоих QUIK. При включенном фильтре, когда убираешь какой-либо инструмент из ТОС, то программно он не убирается. Или когда происходит замена инструментов перед экспирацией, ТОС начинает выдавать не правильные данные. Возможно есть и другие ситуации, когда случаются ошибки, я встречал пока только эти. У меня скрипты собирают данные из ТОС. И я заметил ошибки, когда скрипты начали сбоить. Хоть визуально таблица правильно выглядит, программно из неё нельзя корректно получить данные. Сегодня произошла замена инструмента. И мне пришлось раз 8 перезаказать данные, ещё и перезапустить QUIK. Проверяю я работу выводом данных из случайных строк через функцию getItem. И только спустя столько перезагрузок, мне начало выдавать значения те, что и показываются в строке из которой я беру данные. Исправьте пожалуйста проблему в следующих версиях.
Вроде бы, если включить фильтры, то они действуют лишь на отображаемую таблицу. Скрипт будет видеть всю таблицу без фильтров.
Я хочу в QUIK увидеть статус отправки сообщения в Telegram. И вовремя увидеть, что статус сделок перестал улетать в телеграмм. Чтобы было понятно, я делюсь сделками, которые совершаю руками в QUIK с коллегами и хочу вовремя увидеть, что они перестали их получать, если что-то отвалилось в телеге.
такой вариант устроит:
Код
token="......" --робот в telegram
chat_id="....." --ваш в telegram
local mes="hello"
local serv= "https://api.telegram.org/bot"..token
local pref= serv.."/sendMessage?chat_id="..chat_id.."&text="
local cur_="curl -s "..'"'..pref
local f=io.popen(cur_..mes); s=f:read('*all'); f:close(); print("s="..s);
Я бы хотел иметь возможность в LUA видеть статус отправки сообщений в Телегу и если сообщения перестали уходить, то получить какой-то message, Версия с io.popen это позволяла бы сделать, как в приведённом выше примере, но он не работает :(. Ваш вариант отличный, но он позволит только постфактум узнать о проблемах. Но все равно, Вам огромное спасибо за идею в принципе! Это просто прекрасное решение почти всех моих запросов!
Отправьте по аналогии как я написал запрос /update и получите все сообщения. Можно запросить только последнее. Но как Вы собираетесь определить что сообщения перестали приходить ? ---------------- Возможно я не понял, но о каких проблемах Вы хотите узнать? О проблемах с bot в Telegram или о проблемах в QUIK или о проблемах с ПК или о проблемах со связью с биржей?
сообщение в Telegram - это просто
Пользователь
Сообщений: Регистрация: 30.01.2015
27.07.2024 16:56:36
Цитата
Андрей написал: os.execute (curl .. mes .. '"'); --отправляем
quik демо недоступны заявки на срочном рынке, quik демо недоступны заявки на срочном рынке
Пользователь
Сообщений: Регистрация: 30.01.2015
27.07.2024 11:40:10
В заказе подключения надо поставить флажки. В ответе будут указано: ==================== Вам предоставлен доступ к учебному серверу QUIK компании ARQA Technologies сроком на один месяц. Участие в учебных торгах позволяет освоить базовый функционал системы QUIK, протестировать собственные алгоритмы в условиях, близких к реальным.
При доступе с Рабочего места QUIK доступен также функционал Модуля алгоритмических заявок QUIK. Алго-заявки в этом случае - это поручения особого вида, условия исполнения которых заданы заранее реализованными алгоритмами. В помощь - Algorithmic_trading_module_Light_manual.pdf (находится в папке с QUIK).
Фондовый рынок: Торги моделируются на основе информации о торгах акциями для одного из предыдущих торговых дней на Московской Бирже. Данные повторяются несколько раз в день, что позволяет совершать операции почти круглосуточно. Ваш код клиента:
Валютный рынок: Доступ к рынку организован через подключение к учебному серверу Валютного рынка Московской Биржи. Ваш код клиента: .
Срочный рынок: Доступ к рынку организован через подключение к учебному серверу Срочного рынка Московской Биржи. Ваш клиентский счет:
сообщение в Telegram - это просто
Пользователь
Сообщений: Регистрация: 30.01.2015
27.07.2024 11:36:34
У меня нет проблем с кодировкой.
Новая версия (11.3.1.2) в разы дольше загружается, После обновления QUIK до версии 11.3.1.2 стал загружаться более 30 секунд
написал: Если Вы проверяете .junior на демо сервере.....
я не " проверяю .junior на демо сервере ", а просто запускаю QUIK (мышкой на компьютере) и жду более 30 секунд, пока он загрузится до окна ввода пароля
надеюсь, понятно объяснил))
специально для Вас сделал так. 1) jоткрываем терминал QUIK ( таблица обезличенных сделок открыта изначально) - время 30 секунд 2) удаляем таблицу, закрываем терминал QUIK. Открываем терминал QUIK -время 10 секунд ----------------------- Надеюсь, понятно объяснил.
Новая версия (11.3.1.2) в разы дольше загружается, После обновления QUIK до версии 11.3.1.2 стал загружаться более 30 секунд
Недавно от Финама прилетело обновление QUIK до версии 11.3.1.2. Установил и обнаружил, что загрузка (до окна ввода пароля) новой версии занимает от 30 до 40 секунд . Медленная загрузка (до окна ввода пароля) версии 11.3.1.2 наблюдается на разных устройствах с разными версиями Windows. При этом, в таск-менеджере Windows диск не активен, память не распухает, процессор грузится на 5-15%. Скорость не зависит от повторений загрузки (и первая и вторая и третья загрузка идут одинаково медленно)
QUIK много лет загружаю батником:
del info.log del alltrade.dat del archive info.exe -clear
Загрузка (до окна ввода пароля) предыдущих версий всегда занимала не более 10 секунд.
Вопрос:
Можно как-то ускорить процесс загрузки новой версии до привычных 10 секунд?
Если Вы проверяете .junior на демо сервере, то там у них в терминале установлено прием и отображение обезличенных сделок аж в пяти таблицах. А при старте это будет примерно 500 тысяч строк Вот это и тормозит. Чтобы исправить надо переделать все настройки окон и убрать таблицы обезличенных сделок. --------------- Разработчики уберите ваши настройки в терминале junior.
Ошибка выставления ордера
Пользователь
Сообщений: Регистрация: 30.01.2015
26.07.2024 08:16:34
Цитата
Михаил Филимонов написал: Да, и еще погрешность фунции засечки времени, кажется 16 мс., да и саму ошибку Указанная транзакция по указанному классу не найдена: "SPBFUT". выдает ДЛЛ или терминал, это не мое.
Цитата
Михаил Филимонов написал: Конечно различается, ордер "слетал" на Биржу и вернулся ответ.
А где ошибка, то все происходит на локальном компе, так что время не показатель.
Обидно то, что 3 с лишнем года все работало как часы, а вот теперь появилась проблема. Не знаю как устроен внутри Квик, но с МТ-5 постоянно "цапался" с разработчиками, как новый билд, так вылезает какая-либо ошибка.
Так как у Вас время при возникновении ошибки не отличается, то это говорит о том, что заявка никуда не летала. Это возможно, если ошибка в параметрах заявки. Т е ошибку обнаружил сам терминал. надо вывести в лог файл содержимое самой заявки. Возможно оно искажается либо там nil.
Ошибка выставления ордера
Пользователь
Сообщений: Регистрация: 30.01.2015
25.07.2024 19:42:11
посмотрите на время: 25.07.2024 10:00:18.501 --> SetEnterOrder: Ордер CMH5 отправлен. 25.07.2024 10:00:18.501 --> Ошибка: Указанная транзакция по указанному классу не найдена: "SPBFUT". -------------------- там где ошибки нет, время различается. -------------- Предположу, что еще не прошла регистрация транзакции и что-то ее не нашло.