текущий современный способ сделать робота без ежемесячных расходов?
Пользователь
Сообщений: Регистрация: 20.10.2015
31.07.2024 19:33:58
Привет. Хочу автоматическую торговую систему сделать (опять). В прошлом писал под ASTS Bridge, Spectra, FAST и Plaza2 на C++, но все эти технологии полагаю в любом случае стоят каких-то денег у брокеров в настоящий момент, поэтому этот свой код использовать не могу. Если хочется бесплатно, то только через Quik или может есть ещё варианты? Для торговли через Quik смотреть в сторону C++ - Lua или что-то лучше есть?
Пользователь
Сообщений: Регистрация: 30.01.2015
31.07.2024 19:46:37
Добавлю Luajit и С без плюсов.
Пользователь
Сообщений: Регистрация: 20.03.2023
31.07.2024 23:26:10
API брокеров бесплатны, как я понимаю. Есть у тинька и финама, но у финама альфа версия и можно забыть про миллисекунды. Для прототипов я использую sol2 либу для C++-Lua, но потом надо переписывать части на Lua C API (или sol::stack...) для скорости
Пользователь
Сообщений: Регистрация: 30.01.2015
01.08.2024 08:21:13
Добавлю --------------------- Если надо скорость, то используем Event в колбеках и Wait в main. Время реакции на колбек составляет не более 0.03 ms. -------------------- Если надо реализовать сложный алгоритм или обрабатывать сотни инструментов, То использую дополнительные потоки в которых работает Luajit. Luajit увеличивает скорость вычислений в 10 и более раз по сравнению с Lua5.4 Дополнительные потоки увеличивают скорость вычислений пропорционально числу ядер -------------------- Если надо еще круче, то делаем кластер, объединяя несколько компов или вешаем. ================== Но есть задержка Интернет. Ставим все в датацентр. Но это уже не бесплатно.
Пользователь
Сообщений: Регистрация: 30.01.2015
01.08.2024 08:23:21
Пардон, опечатка Если надо еще круче, то делаем кластер, объединяя несколько компов или вешаем доп многоядерный сопроцессор (видеокарту) и используем CUDA
Пользователь
Сообщений: Регистрация: 20.03.2023
01.08.2024 08:36:44
Цитата
funduk написал: API брокеров бесплатны, как я понимаю. Есть у тинька и финама, но у финама альфа версия и можно забыть про миллисекунды.
У финама есть transaq connector У алора есть Atentis
Пользователь
Сообщений: Регистрация: 27.01.2017
01.08.2024 10:17:45
Кажется в первую очередь выбор брокера - это стоимость его услуг, комиссий. А то какой бы ни был у него шлюз, расплачиваться придется потом. Финам выглядит более сбалансированным, хотя стоимость сделки за контракт на срочном рынке у него уже 1 рубль, вместо 0.5 рублей. Кажется не много, ерунда. Но когда сделок под тысячу, уже не так смешно становится.
Пользователь
Сообщений: Регистрация: 20.10.2015
01.08.2024 16:14:41
Хочется универсальный способ подходящий под любого брокера. Задержка не имеет значения, т.к. при торговле через интернет ты в любом случае будешь последним.
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
01.08.2024 17:16:17
Могу предложить полуфабрикат на 1С через QUIK
Осталось выучить 1С
Пользователь
Сообщений: Регистрация: 30.01.2015
01.08.2024 19:13:05
Цитата
Oleg Vazhnev написал: Хочется универсальный способ подходящий под любого брокера. Задержка не имеет значения, т.к. при торговле через интернет ты в любом случае будешь последним.
тогда QUIK+Lua и будет счастья полные штаны.
Пользователь
Сообщений: Регистрация: 20.10.2015
03.08.2024 14:41:15
Забыл самое важно сказать, что хочу на C++ писать, т.к. у меня уже много полезного кода на C++
Пользователь
Сообщений: Регистрация: 20.03.2023
04.08.2024 11:39:40
Цитата
Oleg Vazhnev написал: Забыл самое важно сказать, что хочу на C++ писать, т.к. у меня уже много полезного кода на C++
Ну так пишите) Lua C API и/или любой из мостов C++-Lua. Я использую .
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
05.08.2024 15:14:51
Если вдруг захочется потом продавать робота, то мне кажется, что продавать на C, Java и т.п. будет немного сложновато. Мне кажется что, более или менее люди которые смогут купить робота так или иначе работают с 1С по своему основному месту работы
Пользователь
Сообщений: Регистрация: 30.01.2015
05.08.2024 15:32:56
Цитата
Константин написал: Если вдруг захочется потом продавать робота, то мне кажется, что продавать на C, Java и т.п. будет немного сложновато. Мне кажется что, более или менее люди которые смогут купить робота так или иначе работают с 1С по своему основному месту работы
Т е торгуют на деньги и со счетов фирмы?
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
05.08.2024 16:47:22
Не в этом смысле. Люди уровня менеджеров среднего и высшего звена наверняка только имеют мысли о биржевой торговле или инвестировании. А по сложившейся практике все они так или иначе знакомы с продуктами 1С. будь то торговля или производство.
Пользователь
Сообщений: Регистрация: 27.01.2017
05.08.2024 17:14:21
1С как платформа для роботов - это из области использования сковородки для глажки одежды. Вот как система учета портфеля, сделок, может даже подачи транзакций через файлы и папку обмена Квик - в самый раз. Хотя и это создает ряд сложностей, т.к. это либо установка на конкретном рабочем месте, либо web клиент, что уже требует совсем других затрат на поддержание. Это не говоря уже о скорости работы 1С. Это даже хуже Питона.
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
05.08.2024 17:38:04
Ну не знаю. У меня в день (за 10 часов) выставляется ~5000 заявок (каждые 6-8 секунд пересчитывает состояние какого либо инструмента снимает лимитную заявку и выставляет новую). Само собой сделок гораздо меньше в зависимости от того сошлись ли мы по цене с покупателем/продавцом. Лично мне чаще не надо. (QUIK справляется. 1С справляется. При этом 1С пересчитывает индикаторы используя как раз Python скрипты). Я так понимаю и QUIK и 1С могут гораздо больше. Рынок не совершает таких колебаний, чтобы чаще снимать/выставлять.
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
05.08.2024 17:43:23
При этом 1С анализирует запросом не 1 инструмент, а весь список. Т.е. выставлять и снимать можно сразу 300 акций РФ за 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С.
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
05.08.2024 19:47:36
В мои задачи не входило делать краш тестов. Поступал только из логики торговли. На бирже не происходит таких колебаний которые имели бы смысл так активно ее долбить. Возможно надо просто подождать немного дольше между временем постановки и снятия заявки. Думаю интервал ДЕНЬ самое то. Возможно я ошибаюсь.
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
05.08.2024 19:53:28
Мне кажется если вкладывать в понятие "робот" какие то аналитические способности, то возможностей интеграций у 1С как платформы достаточно/предостаточно.
Пользователь
Сообщений: Регистрация: 30.01.2015
06.08.2024 07:18:28
Цитата
Константин написал: Мне кажется если вкладывать в понятие "робот" какие то аналитические способности, то возможностей интеграций у 1С как платформы достаточно/предостаточно.
Я привел Вам результаты теста так как Вы указали сколько Вы делаете операций. -------------------- Причем далее Вы сами себе противоречите. То 5000 операций, то раз в день. -------------- Вы уж будьте последовательны в своих рассуждениях. -------------- Относительно аналитических возможностей. У меня нет никаких ограничений. Я могу использовать без 1С любые языки программирования, любые библиотеки и любые системы в том числе и ИИ. --------------- Напишите конкретнее , какие новые аналитические возможности даст 1С, кроме обеспечения доступа к системе управления и бухгалтерии предприятия. .
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
06.08.2024 09:36:35
Помогите мне пожалуйста на LUA написать такой запрос:
Выставить на покупку заявки по текущей последней цене все инструменты (русские акции), для которых соблюдаются условия: 1 Текущая цена последняя> Цена последняя неделю назад и+ 2 Цена последняя неделю назад > Цена последняя 2 недели назад и+ 3 Цена последняя 2 недели назад >Цена последняя 3 недели назад и+ 4 Цена последняя 3 недели назад>Цена последняя 4 недели назад и+ Инструменты (акции) при этом надо упорядочить по размаху цене (макс-мин) за период 1 месяц в порядке убывания Это все единым запросом пожалуйста и выведите этот список при совершении покупки на экран
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
06.08.2024 09:50:04
Забыл упомянуть в выше написанном. Акции должны выставляться на покупку пока не окончатся свободные финансы в наличии в порядке упорядочивания этого списка, при этом если уже есть в наличии более чем 2 лота, то инструмент пропустить и не покупать
Пользователь
Сообщений: Регистрация: 30.01.2015
06.08.2024 18:20:31
Цитата
Константин написал: Забыл упомянуть в выше написанном. Акции должны выставляться на покупку пока не окончатся свободные финансы в наличии в порядке упорядочивания этого списка, при этом если уже есть в наличии более чем 2 лота, то инструмент пропустить и не покупать
Ээто пишется в виде скрипта на луа,. Прикольно, полагаю Вы считаете, что напишите это в виде одной строчки на скриптовый язык 1С, который напоминает бейсик и никогда не оптимизировался для компактных и быстрых приложений можт конкурировать с Луа, который вы очевидно не знаете. Верно? В Квике подобно бейсику 1С был Qpiile в прошлом веке. --------------------- Покажите на 1С свой запрос в виде одной строчки и дайте оценку времени исполнения.
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
06.08.2024 18:55:55
Да. LUA я не знаю. По 2 причинам: 1 По LUA есть всего 2 книжки по языку 2 на сайте hh.ru по нему всего 4 вакансии (без указания з/п)
Именно по этой причине так как тема письма была на чем лучше писать я и написал "если захотите потом робота продавать, то лучше изучить потенциальную аудиторию покупателей"
А так как инвестициями и трейдингом занимаются либо программисты либо менеджеры среднего и высшего звена, которые так или иначе работают в 1С типовых конфигурациях и возможно знакомы с языком 1С, то возможно им будет проще изучить 1С.
Не думаю что люди которые работают на должностях типа "Менеджер по продажам", "Начальник отдела закупок/ продаж", "Зам директора по ....." начнут вдруг изучать LUA по 2 доступным книжкам.
... Кстати я ни разу не написал, что 1с одной строкой можно запрограммировать. Я написал единым запросом к базе данных.
Насколько я понимаю как только биржа добавит в свой API возможность выставлять заявки заявки и исполнять их, у LUA возникнут сложности с его потребностью. Как и у QUIK
Пользователь
Сообщений: Регистрация: 22.11.2020
https://disk.yandex.ru/d/nm2ZTNl8MoOyXw
06.08.2024 19:17:58
Более или менее разнообразные системы прогнозирования описаны тут
Пользователь
Сообщений: Регистрация: 27.01.2017
06.08.2024 19:43:05
Цитата
Константин написал: Насколько я понимаю как только биржа добавит в свой API возможность выставлять заявки заявки и исполнять их, у LUA возникнут сложности с его потребностью. Как и у QUIK
Данный API ничего не изменит, т.к. это средство для разработки. Чтобы его использовать нужен клиент, читай терминал, в том или ином виде. А самый знакомый и уже давно используемый - это Квик. Вот если брокеры массово начнут писать свои терминалы, тогда возможно. Но это крайне маловерятно. По крайней мере для меня, терминал должен быть не как Web приложение (и даже не на C#), которые сейчас лепят везде, даже там где это бессмысленно.
Пользователь
Сообщений: Регистрация: 20.01.2020
06.08.2024 20:15:07
Цитата
Константин написал: Насколько я понимаю как только биржа добавит в свой API возможность выставлять заявки заявки и исполнять их, у LUA возникнут сложности с его потребностью. Как и у QUIK
У биржи уже давно есть API с возможностью выставлять и исполнять заявки
написал: Насколько я понимаю как только биржа добавит в свой API возможность выставлять заявки заявки и исполнять их, у LUA возникнут сложности с его потребностью. Как и у QUIK
У биржи уже давно есть API с возможностью выставлять и исполнять заявки
Я имел в виду что-то не дорогое типа
Пользователь
Сообщений: Регистрация: 27.01.2017
07.08.2024 09:11:29
Цитата
Константин написал: Я имел в виду что-то не дорогое типа
Это новая реализация, пока без денег. Потом, как обычно, будет за деньги.