kvazar
kvazar личный блог
19 сентября 2020, 15:47

Столько стоит робот?

Начало здесь: https://smart-lab.ru/blog/631748.php
Я подумал, что не готов пользоваться разработками типа osa/net. поскольку привык все делать сам в части ПО.
НО, с нуля начать сейчас связку lua-БД-C# я просто морально… не совсем готов.
Поэтому такой вопрос: 
мне по сути  нужен каркас, который позволяет коннектиться с квиком (odbc), взаимодействовать с ним по api (заявки, ордера, стоп-ордера и отмены минимум). Информацию сохранять в БД, т.к. БД обязательное условие, у меня работа завязана на нее — торговая логика и множество хранимых данных. Никаких ноу-хау не требуется. С такого пакета стартовать можно быстрее...
кто-то обладает такой поделкой, которой он мог бы поделится за деньги, с настройкой на моем компе (тимвьюер) и некоторой техподдержкой.
Есть какие-то мысли? оса-нет и стокшарп не предлагать. 
42 Комментария
    • 3Qu
      19 сентября 2020, 16:13
      kvazar, в инете полно таких поделок. Ссылки, к сожалению, дать не могу, мне они как-то ни к чему были.
      Я через Луа — С++ ДЛЛ работаю. В моих постах что-то есть на эту тему, может пригодится для чего.
        • 3Qu
          19 сентября 2020, 16:26
          kvazar, не. + sqlite.
  • tashik
    19 сентября 2020, 16:12
    Ося и есть такой каркас. Чем не устроило-то? ))
      • tashik
        19 сентября 2020, 16:18
        kvazar, в Осе есть csv. С СУБД сделайте сами, на том уровне, который Вас устроит. Взять любимый пакет и парой строк кода его в нужном месте дернуть — это даже не работа. Вот то, что в Осе нет выставляемых заранее стопов — да, может быть проблемой. А это вот не проблем
        • tashik, хотел предложил автору связку BigQuery + R. Но подумал,  вдруг сделает и будет конкурент вашему Кактусу.))
          • tashik
            19 сентября 2020, 19:23
            BadLogic, ) мы конкурентам только рады, Вы же понимаете, лишь бы ликвидности в опционных стаканах прибавилось. Коннектор к Алору на R кстати можно юзать, если нужно, можно в него контрибутить и доводить. Ник на гитхабе как тут.
      • Anest
        19 сентября 2020, 16:28
        kvazar, а в чём проблема работы с БД? Что именно интересует ? 
          • Anest
            19 сентября 2020, 16:39
            kvazar, Это я понял, Что именно интересует? подключение проекта С# к БД, код что нужен ? 
              • kvazar,  если база, то предлагаю храдкор — напишите торговую логику на хранимых процедурах.  Хороший специалист по PL/SQL на фрилансе стоит недорого. 
                • FinSerfing
                  19 сентября 2020, 18:01

                  BadLogic, хорошая, но вредная шутка.

                  PL/SQL даже близко не предназначен для решения подобных задач.

                  На фрилансе почти всё стоит недорого.

                  И у того есть простая причина: низкое качество.

                  • FinSerfing, почему не предназначен?  Есть торговые системы с логикой прямо в базе. Не уверен что там конкретно PL/ SQL, но что то подобное точно(что там внутри Posgres?). ИМХО  это лучшее решение для сложных торговых стратегий с мониторингом нескольких тысяч базовых активов. 

                    Качество то как определяете? 

                    • FinSerfing
                      19 сентября 2020, 18:22

                      BadLogic, я думал шутите.

                      А вы на полном серьёзе.

                      Рекомендую последовать собственному совету.

                      И испытать всю боль мира на себе.

                      Можете начать с самого простого: отправки заявок, обработки их состояния и ошибок.

                        • FinSerfing
                          19 сентября 2020, 18:56

                          kvazar, с боольшой натяжкой наверное можно считать индикаторы.

                          Но я категорически не рекомендую.

                          Инструменты нужно использовать по назначению.

                          База данных — это место хранения/извлечения информации.

                          Причём зачастую информации долговременной.

                          А индикатор — это нечто более краткосрочное и быстрое.

                          В плане изменения.

                          Логичнее извлечь данные и быстро посчитать значение.

                          Получить новый бар, пересчитать значение.

                          Не придётся хранить лишнюю информацию в базе и нагружать её нетипичными задачами.

                          Кроме того, чем больше процедур вы пишите, тем больше привязываетесь к конкретной базе данных.

                          При необходимости задолбаетесь менять её на другую.

                      • FinSerfing, это от языка не зависит.  В чем проблема взаимодействовать с брокером по HTTP?
                        Пилят на том что знают, если человек хорошо знает PL/SQL, уверен что особых проблему него не будет.
      • Свой Мужик
        19 сентября 2020, 17:03
        kvazar, ну там прямо из квика в mysql можно жеж…
  • Жери
    19 сентября 2020, 16:19
    кбробота спросите он точно вам чё нить продась
  • Дмитрий К
    19 сентября 2020, 17:54
    Я тоже использую trans2quik.dll
    Я не могу себя назвать программистом,  все что делал, гуглил.
    Схема такая.
    Из квика код луа состоящий из нескольких строчек, с импортироаанной либой сокетов,  отправляет в сокет приемник питоновский инфу о событии. Параллельно нужная мне инфа из квика по одбс грузится в БД. 
    Когда приходит событие из луа,  питгновский скрипт отправляет в бд запрос, достаёт инфу, считает, как надо, и по необхомости,  отправяет через trans2quik.dll необходимое действие в квик.
    Я несколько месяцев назад здесь запилил пару постов,  как я  все это делал, и даже выложил все эти либы, мной использованные, и свой говнокод.
    Просто здесь так муторно все искать, чтоб найти свои посты надо рыться в своей истории, поэтому ссылку не оставляю.
    Думаю, все тоже самое можно реализовать на любом другом языке.

  • Игорь Лопатин
    19 сентября 2020, 19:52
    Может уже давали ссылку на https://github.com/finsight/QUIKSharp — там только нет связки с базой данных. Но имхо ничего сложного, от себя посоветую SQLite, и просто и быстро и удобно. И никакого odbc. 
      • Игорь Лопатин
        19 сентября 2020, 20:34
        kvazar, Использую. Как раз и базу для архивов в sqlite веду. Я правда новичок в торговле, так что пока вникаю в процесс. Сама библиотека удобна для C#, но и Луа желательно знать немного, чтобы под себя что-то пилить.
  • Susanin
    20 сентября 2020, 14:54
    а вы сами c# знаете? у меня есть заготовка. MS SQL + C# приложение. ничего лишнего, только робот. интерфейс минимум. только торговля по алгоритму.
      • Susanin
        20 сентября 2020, 16:08
        kvazar, работает так.
        стакан и все сделки, свои заявки и сделки экспортируются в базу данных по odbc. можете делать что угодно.  база MS SQL developer.
        из сделок формируются свечки прямо в базе данных.
        робот постоянно отслеживает изменения в базе данных и принимает решения. ставит или снимает заявки в квике. считает открытую позицию, активные заявки и т.д.
        работал около 7 лет назад. )))) зарабатывал. сейчас уже нет. т.к. красивых трендов не осталось и эффективность скальпинга очень упала.
        что бы его оживить нужно: изменить разрядность номеров заявок в базе данных. т.к. числа слегка выросли. ))
        и на тот момент программа работала с 32 разрядной DLL квика. возможно и так будет работать, но это не точно т.к. номера заявок стали большие и возможно их не пропихнуть в 32 разряда. да и терминал стал 64 разрядный. но я не вижу в этом какие проблемы. просто посмотреть пример использования 64 разрядной dll и поменять названия функций и их агрументов.
        в целом это много поточное приложение рассчитанное на работу нескольких алгоритмов с одним квиком. работает в виде одного приложения.
        насколько я знаю квик по сих пор не поддерживает подключение нескольких приложений одновременно. поэтому все  потоки должны работать в рамках одной программы.
          • Susanin
            20 сентября 2020, 19:04
            kvazar, не знаю. наверно за 30 отдам. я потратил кучу времени и труда что бы заставить все это работать 24 часа 7 дней в неделю.
            но я думаю подобные траты оправданы когда у вас есть готовая стратегия которую осталось только запихнуть в робота. будет быстрее использовать что то готовое чем с нуля делать свое. в противном случае не уверен что в этом есть смысл.

            еще раз, нет никакой более «продвинутой» версии. я не занимаюсь продажей и изготовлением роботов. эту программу я писал исключительно для себя. у меня была оттестированная стратегия и нужен был робот. вот и все.
            сейчас на рынке соотношение шум/сигнал не позволяет по ней работать, эффективность очень хреновая. новую стратегию я пока не сделал.
            это не платформа, не какая то библиотека — это просто автомат калашникова, простой робот для торговли по стратегии. который следит за рынком и торгует без участия человека. там нет графиков и продвинутого интерфейса, просто автомат для торговли. как есть так есть.

            если у вас есть свое зачем вам чужое? для любопытства или вы не можете решить какие то технические проблемы? ну так напишите может что подскажу.
            можете писать в личку. у меня нет скайпа, я как то не пользуюсь.
              • Susanin
                20 сентября 2020, 21:33
                kvazar, ну и меня ничего этого нет. моя поделка рассчитана на запуск и работу круглый год. вот и все.
                писать всякий интерфейс, анализ и все такое, я считаю не имеет смысла. это займет очень много времени. очень трудоемко. кроме того заранее просчитать что именно понадобиться не возможно, а угрохать на это все кучу времени жалко.  проще посчитать все в ексель на коленке, а тестировать в отдельной программе.
                ну MS SQL это тоже самое что аксесс. но возможностей гораздо больше.

                кроме того я считаю что системный трейдинг как раз и подразумевает запуск стратегии один раз на год. пока статистическое преимущество не наберется. ну а угадывать какая стратегия принесет прибыль в следующем месяце а какая нет, сродни угадыванию какая акция вырастет а какая нет, или куда пойдут цены в течении месяца. в этом случае теряется весь смысл.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн