Столько стоит робот?
- 19 сентября 2020, 15:47
- |
- kvazar
Начало здесь: https://smart-lab.ru/blog/631748.php
Я подумал, что не готов пользоваться разработками типа osa/net. поскольку привык все делать сам в части ПО.
НО, с нуля начать сейчас связку lua-БД-C# я просто морально… не совсем готов.
Поэтому такой вопрос:
мне по сути нужен каркас, который позволяет коннектиться с квиком (odbc), взаимодействовать с ним по api (заявки, ордера, стоп-ордера и отмены минимум). Информацию сохранять в БД, т.к. БД обязательное условие, у меня работа завязана на нее — торговая логика и множество хранимых данных. Никаких ноу-хау не требуется. С такого пакета стартовать можно быстрее...
кто-то обладает такой поделкой, которой он мог бы поделится за деньги, с настройкой на моем компе (тимвьюер) и некоторой техподдержкой.
Есть какие-то мысли? оса-нет и стокшарп не предлагать.
Я через Луа — С++ ДЛЛ работаю. В моих постах что-то есть на эту тему, может пригодится для чего.
что-то типа готовый робот, логика которого заточена на работу с субд из которого выдраны мозги — удалено ноу-хау, грааль расчета индикатора и т.д.
как вариант можем обменяться + идеями которые работают.
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 это тоже самое что аксесс. но возможностей гораздо больше.
кроме того я считаю что системный трейдинг как раз и подразумевает запуск стратегии один раз на год. пока статистическое преимущество не наберется. ну а угадывать какая стратегия принесет прибыль в следующем месяце а какая нет, сродни угадыванию какая акция вырастет а какая нет, или куда пойдут цены в течении месяца. в этом случае теряется весь смысл.