Начало здесь: https://smart-lab.ru/blog/631748.php
Я подумал, что не готов пользоваться разработками типа osa/net. поскольку привык все делать сам в части ПО.
НО, с нуля начать сейчас связку lua-БД-C# я просто морально… не совсем готов.
Поэтому такой вопрос:
мне по сути нужен каркас, который позволяет коннектиться с квиком (odbc), взаимодействовать с ним по api (заявки, ордера, стоп-ордера и отмены минимум). Информацию сохранять в БД, т.к. БД обязательное условие, у меня работа завязана на нее — торговая логика и множество хранимых данных. Никаких ноу-хау не требуется. С такого пакета стартовать можно быстрее...
кто-то обладает такой поделкой, которой он мог бы поделится за деньги, с настройкой на моем компе (тимвьюер) и некоторой техподдержкой.
Есть какие-то мысли? оса-нет и стокшарп не предлагать.
kvazar, в инете полно таких поделок. Ссылки, к сожалению, дать не могу, мне они как-то ни к чему были.
Я через Луа — С++ ДЛЛ работаю. В моих постах что-то есть на эту тему, может пригодится для чего.
kvazar, в Осе есть csv. С СУБД сделайте сами, на том уровне, который Вас устроит. Взять любимый пакет и парой строк кода его в нужном месте дернуть — это даже не работа. Вот то, что в Осе нет выставляемых заранее стопов — да, может быть проблемой. А это вот не проблем
BadLogic, ) мы конкурентам только рады, Вы же понимаете, лишь бы ликвидности в опционных стаканах прибавилось. Коннектор к Алору на R кстати можно юзать, если нужно, можно в него контрибутить и доводить. Ник на гитхабе как тут.
Anest, идеально весь РАБОТАЮЩИЙ комплект. подключить проект к бд я могу, но чем больше «мяса» в каркасе тем проще....
что-то типа готовый робот, логика которого заточена на работу с субд из которого выдраны мозги — удалено ноу-хау, грааль расчета индикатора и т.д.
как вариант можем обменяться + идеями которые работают.
FinSerfing, почему не предназначен? Есть торговые системы с логикой прямо в базе. Не уверен что там конкретно PL/ SQL, но что то подобное точно(что там внутри Posgres?). ИМХО это лучшее решение для сложных торговых стратегий с мониторингом нескольких тысяч базовых активов.
FinSerfing, это от языка не зависит. В чем проблема взаимодействовать с брокером по HTTP?
Пилят на том что знают, если человек хорошо знает PL/SQL, уверен что особых проблему него не будет.
Я тоже использую trans2quik.dll
Я не могу себя назвать программистом, все что делал, гуглил.
Схема такая.
Из квика код луа состоящий из нескольких строчек, с импортироаанной либой сокетов, отправляет в сокет приемник питоновский инфу о событии. Параллельно нужная мне инфа из квика по одбс грузится в БД.
Когда приходит событие из луа, питгновский скрипт отправляет в бд запрос, достаёт инфу, считает, как надо, и по необхомости, отправяет через trans2quik.dll необходимое действие в квик.
Я несколько месяцев назад здесь запилил пару постов, как я все это делал, и даже выложил все эти либы, мной использованные, и свой говнокод.
Просто здесь так муторно все искать, чтоб найти свои посты надо рыться в своей истории, поэтому ссылку не оставляю.
Думаю, все тоже самое можно реализовать на любом другом языке.
Может уже давали ссылку на https://github.com/finsight/QUIKSharp — там только нет связки с базой данных. Но имхо ничего сложного, от себя посоветую SQLite, и просто и быстро и удобно. И никакого odbc.
kvazar, Использую. Как раз и базу для архивов в sqlite веду. Я правда новичок в торговле, так что пока вникаю в процесс. Сама библиотека удобна для C#, но и Луа желательно знать немного, чтобы под себя что-то пилить.
Susanin, C# изучаю в свободное время, сам ничего не делал еще, но думаю, это не проблема при наличии фолиантов (много справочной литературы: C#, CLR, WPF, SQL server, VS) и желания. 4-5 программок сделал учебных. а в БД что сохраняется на итог?
kvazar, работает так.
стакан и все сделки, свои заявки и сделки экспортируются в базу данных по odbc. можете делать что угодно. база MS SQL developer.
из сделок формируются свечки прямо в базе данных.
робот постоянно отслеживает изменения в базе данных и принимает решения. ставит или снимает заявки в квике. считает открытую позицию, активные заявки и т.д.
работал около 7 лет назад. )))) зарабатывал. сейчас уже нет. т.к. красивых трендов не осталось и эффективность скальпинга очень упала.
что бы его оживить нужно: изменить разрядность номеров заявок в базе данных. т.к. числа слегка выросли. ))
и на тот момент программа работала с 32 разрядной DLL квика. возможно и так будет работать, но это не точно т.к. номера заявок стали большие и возможно их не пропихнуть в 32 разряда. да и терминал стал 64 разрядный. но я не вижу в этом какие проблемы. просто посмотреть пример использования 64 разрядной dll и поменять названия функций и их агрументов.
в целом это много поточное приложение рассчитанное на работу нескольких алгоритмов с одним квиком. работает в виде одного приложения.
насколько я знаю квик по сих пор не поддерживает подключение нескольких приложений одновременно. поэтому все потоки должны работать в рамках одной программы.
Susanin, интересно, сколько стоит заготовка? и получается не используете более продвинутую версию? ну то есть сейчас не торгуете? я сейчас чиню свою поделку, если получится в скайпе пообщаться, я бы показал как она работает, чтобы понять стоит ли переделывать. просто смена платформы безболезненно не проходит)
kvazar, не знаю. наверно за 30 отдам. я потратил кучу времени и труда что бы заставить все это работать 24 часа 7 дней в неделю.
но я думаю подобные траты оправданы когда у вас есть готовая стратегия которую осталось только запихнуть в робота. будет быстрее использовать что то готовое чем с нуля делать свое. в противном случае не уверен что в этом есть смысл.
еще раз, нет никакой более «продвинутой» версии. я не занимаюсь продажей и изготовлением роботов. эту программу я писал исключительно для себя. у меня была оттестированная стратегия и нужен был робот. вот и все.
сейчас на рынке соотношение шум/сигнал не позволяет по ней работать, эффективность очень хреновая. новую стратегию я пока не сделал.
это не платформа, не какая то библиотека — это просто автомат калашникова, простой робот для торговли по стратегии. который следит за рынком и торгует без участия человека. там нет графиков и продвинутого интерфейса, просто автомат для торговли. как есть так есть.
если у вас есть свое зачем вам чужое? для любопытства или вы не можете решить какие то технические проблемы? ну так напишите может что подскажу.
можете писать в личку. у меня нет скайпа, я как то не пользуюсь.
Susanin, просто работая в access есть плюсы и минусы. и я все думаю, может пора сделать переход на ООП с поддержкой СУБД. Поскольку идей много, нужна свобода, поэтому это, в моем понимании, не что-то готовое.
Дело в том что у меня это не автомат Калашникова, а конструктор, данные хранятся для анализа и принятия решений для среднесрочных стратегий.
Много инструментов, много стратегий, управление рисками и т. д. Визуализация работы, анализ сделок, тестер, анализ данных и т.д.
kvazar, ну и меня ничего этого нет. моя поделка рассчитана на запуск и работу круглый год. вот и все.
писать всякий интерфейс, анализ и все такое, я считаю не имеет смысла. это займет очень много времени. очень трудоемко. кроме того заранее просчитать что именно понадобиться не возможно, а угрохать на это все кучу времени жалко. проще посчитать все в ексель на коленке, а тестировать в отдельной программе.
ну MS SQL это тоже самое что аксесс. но возможностей гораздо больше.
кроме того я считаю что системный трейдинг как раз и подразумевает запуск стратегии один раз на год. пока статистическое преимущество не наберется. ну а угадывать какая стратегия принесет прибыль в следующем месяце а какая нет, сродни угадыванию какая акция вырастет а какая нет, или куда пойдут цены в течении месяца. в этом случае теряется весь смысл.
Группа «Озон Фармацевтика» начала клинические исследования седьмого биотехнологического препарата
Биотехнологическая компания полного цикла «Мабскейл», входящая в Группу «Озон Фармацевтика», пол...
Группа «Озон Фармацевтика» начала клинические исследования седьмого биотехнологического препарата
Биотехнологическая компания полного цикла «Мабскейл», входящая в Группу «Озон Фармацевтика», пол...
BRENT/GOLD: нефть продолжает болтаться во флете, золото потеряло запал BRENTНефть на прошедшей торговой неделе продолжила колебаться в состоянии неопределенности в прежнем коридоре. Снова протестирова...
BRENT/GOLD: нефть продолжает болтаться во флете, золото потеряло запал BRENTНефть на прошедшей торговой неделе продолжила колебаться в состоянии неопределенности в прежнем коридоре. Снова протестирова...
DoxodVoborot, из отчёта МСФО 0,0277 это прибыль не за 1 кв 24г, а за 3 кв 2024года, а общая прибыль за 9 месяцев 0,1372. смитрю в книгу, вижу фигу это называется. Изучи для начала див политику всех...
Я через Луа — С++ ДЛЛ работаю. В моих постах что-то есть на эту тему, может пригодится для чего.
что-то типа готовый робот, логика которого заточена на работу с субд из которого выдраны мозги — удалено ноу-хау, грааль расчета индикатора и т.д.
как вариант можем обменяться + идеями которые работают.
BadLogic, хорошая, но вредная шутка.
PL/SQL даже близко не предназначен для решения подобных задач.
На фрилансе почти всё стоит недорого.
И у того есть простая причина: низкое качество.
FinSerfing, почему не предназначен? Есть торговые системы с логикой прямо в базе. Не уверен что там конкретно PL/ SQL, но что то подобное точно(что там внутри Posgres?). ИМХО это лучшее решение для сложных торговых стратегий с мониторингом нескольких тысяч базовых активов.
Качество то как определяете?
BadLogic, я думал шутите.
А вы на полном серьёзе.
Рекомендую последовать собственному совету.
И испытать всю боль мира на себе.
Можете начать с самого простого: отправки заявок, обработки их состояния и ошибок.
kvazar, с боольшой натяжкой наверное можно считать индикаторы.
Но я категорически не рекомендую.
Инструменты нужно использовать по назначению.
База данных — это место хранения/извлечения информации.
Причём зачастую информации долговременной.
А индикатор — это нечто более краткосрочное и быстрое.
В плане изменения.
Логичнее извлечь данные и быстро посчитать значение.
Получить новый бар, пересчитать значение.
Не придётся хранить лишнюю информацию в базе и нагружать её нетипичными задачами.
Кроме того, чем больше процедур вы пишите, тем больше привязываетесь к конкретной базе данных.
При необходимости задолбаетесь менять её на другую.
Пилят на том что знают, если человек хорошо знает PL/SQL, уверен что особых проблему него не будет.
BadLogic, зависит.
Каждый язык создавался с прицелом на определённые задачи.
BadLogic, ну и где здесь реализация торговой логики ?
Всё ровно в рамках языка: извлечение, группировка и суммирование.
Я не могу себя назвать программистом, все что делал, гуглил.
Схема такая.
Из квика код луа состоящий из нескольких строчек, с импортироаанной либой сокетов, отправляет в сокет приемник питоновский инфу о событии. Параллельно нужная мне инфа из квика по одбс грузится в БД.
Когда приходит событие из луа, питгновский скрипт отправляет в бд запрос, достаёт инфу, считает, как надо, и по необхомости, отправяет через trans2quik.dll необходимое действие в квик.
Я несколько месяцев назад здесь запилил пару постов, как я все это делал, и даже выложил все эти либы, мной использованные, и свой говнокод.
Просто здесь так муторно все искать, чтоб найти свои посты надо рыться в своей истории, поэтому ссылку не оставляю.
Думаю, все тоже самое можно реализовать на любом другом языке.
стакан и все сделки, свои заявки и сделки экспортируются в базу данных по odbc. можете делать что угодно. база MS SQL developer.
из сделок формируются свечки прямо в базе данных.
робот постоянно отслеживает изменения в базе данных и принимает решения. ставит или снимает заявки в квике. считает открытую позицию, активные заявки и т.д.
работал около 7 лет назад. )))) зарабатывал. сейчас уже нет. т.к. красивых трендов не осталось и эффективность скальпинга очень упала.
что бы его оживить нужно: изменить разрядность номеров заявок в базе данных. т.к. числа слегка выросли. ))
и на тот момент программа работала с 32 разрядной DLL квика. возможно и так будет работать, но это не точно т.к. номера заявок стали большие и возможно их не пропихнуть в 32 разряда. да и терминал стал 64 разрядный. но я не вижу в этом какие проблемы. просто посмотреть пример использования 64 разрядной dll и поменять названия функций и их агрументов.
в целом это много поточное приложение рассчитанное на работу нескольких алгоритмов с одним квиком. работает в виде одного приложения.
насколько я знаю квик по сих пор не поддерживает подключение нескольких приложений одновременно. поэтому все потоки должны работать в рамках одной программы.
но я думаю подобные траты оправданы когда у вас есть готовая стратегия которую осталось только запихнуть в робота. будет быстрее использовать что то готовое чем с нуля делать свое. в противном случае не уверен что в этом есть смысл.
еще раз, нет никакой более «продвинутой» версии. я не занимаюсь продажей и изготовлением роботов. эту программу я писал исключительно для себя. у меня была оттестированная стратегия и нужен был робот. вот и все.
сейчас на рынке соотношение шум/сигнал не позволяет по ней работать, эффективность очень хреновая. новую стратегию я пока не сделал.
это не платформа, не какая то библиотека — это просто автомат калашникова, простой робот для торговли по стратегии. который следит за рынком и торгует без участия человека. там нет графиков и продвинутого интерфейса, просто автомат для торговли. как есть так есть.
если у вас есть свое зачем вам чужое? для любопытства или вы не можете решить какие то технические проблемы? ну так напишите может что подскажу.
можете писать в личку. у меня нет скайпа, я как то не пользуюсь.
Дело в том что у меня это не автомат Калашникова, а конструктор, данные хранятся для анализа и принятия решений для среднесрочных стратегий.
Много инструментов, много стратегий, управление рисками и т. д. Визуализация работы, анализ сделок, тестер, анализ данных и т.д.
писать всякий интерфейс, анализ и все такое, я считаю не имеет смысла. это займет очень много времени. очень трудоемко. кроме того заранее просчитать что именно понадобиться не возможно, а угрохать на это все кучу времени жалко. проще посчитать все в ексель на коленке, а тестировать в отдельной программе.
ну MS SQL это тоже самое что аксесс. но возможностей гораздо больше.
кроме того я считаю что системный трейдинг как раз и подразумевает запуск стратегии один раз на год. пока статистическое преимущество не наберется. ну а угадывать какая стратегия принесет прибыль в следующем месяце а какая нет, сродни угадыванию какая акция вырастет а какая нет, или куда пойдут цены в течении месяца. в этом случае теряется весь смысл.