Сергей Затылкин
Сергей Затылкин личный блог
01 ноября 2017, 15:47

Как написать своего торгового робота?

Прошу помочь в поиске информации с чего начинать написание робота. Торгую в квике.

Интересны ссылки на:
1) с официальной документации
2) примеры роботов
3) куда вставлять скрипт на исполнение

О себе: писал код на php+mysql+js, битрикс
20 Комментариев
  • Андрей К
    01 ноября 2017, 15:58
    О себе: писал код на php+mysql+js, битрикс
    в одном видео про Герчика, очень давно, когда он работал в Финаме, в его команде парень все делал в 1С. Умопомрачительно =))

    может у вас прям на php получится
    • Lev
      01 ноября 2017, 18:20
      Андрей К, если через API работать, то не вижу препятствий к реализации этой затеи на php.
    • Роман Frank
      03 ноября 2017, 10:08
      Андрей К, у меня тоже робот на 1С — между прочим, очень удобно, в отличие от C++ и других языков.
  • Ivor
    01 ноября 2017, 16:44
    на каком языке программируешь? 
  • Karim
    01 ноября 2017, 16:49
    Если есть работающая стратегия и нужен под нее робот под Квик, то есть несколько вариантов.
    1. Написать на встроенном языке QLua. Описание на сайте разработчика квика, в помощь форум там же. Ну и гугл. Вот неплохой ресурс quikluacsharp.ru
    2. Забрать нужные данные из квика с помощью того же QLua в стороннюю программу. Либо вывесить их в память и оттуда забирать, либо сделать клент-сервер, ну и т.д.
    Стороннюю прогу можно писать на чем угодно. Например на С#.
    Вот здесь данные передаются через стек Lua в dll на С++
    smart-lab.ru/blog/387954.php
    smart-lab.ru/blog/389253.php
    3. Работать с квиком через файлы tri и tro. Здесь вообще можно писать на чем угодно, хоть на 1С.

    Может можно и еще что то придумать типа коннекторов к велсу и другим прогам.
    • Сергей Кузьминов
      01 ноября 2017, 17:47
      Karim, забыли работу с квиком через dll. 
      • Karim
        01 ноября 2017, 17:51
        Сергей Кузьминов, Я же ссылку дал, как подключать dll и как в нее данные сбрасывать.
        • Сергей Кузьминов
          01 ноября 2017, 17:57
          Karim, вы в своем видео создаете собственную dll. А я имею в виду API квика — готовую dll-ку. 
          • Karim
            01 ноября 2017, 18:52
            Сергей Кузьминов, У квика есть API? Не знал. А вы с чего это взяли, что оно есть. Кроме trans2quik.dll я ничего не знаю. Но это не API, а просто библиотека функций.
            О чем речь, поясните плз.
            • Сергей Кузьминов
              01 ноября 2017, 18:59
              Karim, я именно trans2quik.dll и имею в виду. Открываем 6 раздел документации квика. Пункт 6.12:

              Чем Вам не API? Полноценный программный интерфейс. Можно делать чудные вещи.
              • Karim
                01 ноября 2017, 19:06
                Сергей Кузьминов, Пробовал работать с этой библиотекой. Подключал ее к проге на С#.
                Но по мне проще сразу на С++ через стек с Lua работать.

                • Сергей Кузьминов
                  01 ноября 2017, 19:54
                  Karim, не пробовал, хотя ваше видео смотрел. Через API просто, если работать с теми средами, где нужно выводить информацию через DDE. Тут выше писали про «парня, который делал все на 1С». А что, это сильно сложно?  1С — язык, который точная копия Visual Basic со всеми его конструкциями.  И в этом случае никаких других способов нет: выводим через DDE таблицы, отправляем транзакции через эту самую библиотеку.
                  • Karim
                    01 ноября 2017, 20:31
                    Сергей Кузьминов, Да нет, не сложно. Просто есть нюансы. Что бы вывести таблицу по DDE, ее нужно сформировать. На QLua не получится, так как у этих таблиц экспорт по DDE запрещен. Придется формировать на QPILE. Кроме того, обновляться они будут не чаше, чем 1 раз в секунду. Увы, так работает QPILE.
                    Если это не проблема для вас, то да все просто.
                    Только гораздо проще в таком случае команды в квик отправлять через *.tri файл раз время не критично. И не заморачиваться с присоединением внешней dll.
  • Пафос Респектыч
    01 ноября 2017, 16:49
    3) куда вставлять скрипт на исполнение

    Гусары, молчать! ©
  • Альберт
    01 ноября 2017, 22:13
    говорят что и на экселе работает.
    начинать надо с четкой рабочей стратегии
  • ch5oh
    02 ноября 2017, 00:10

    Начните с ТСЛаб, чтобы не увязать в технических деталях написания своего коннектора.

    www.tslab.ru/soft/


    Имеется провайдер для квика (и много для чего еще).
    wiki.tslab.ru/doc20rus/rukovodstvo-2-0/postavshchiki-dannyh

     

    Конкретно связка Квик-Луа:
    wiki.tslab.ru/doc20rus/rukovodstvo-2-0/postavshchiki-dannyh/quik-lua

  • Сергей Кузьминов
    02 ноября 2017, 02:11
    Если для тебя выучить язык программирования — это дело двух недель и есть четкое понимание стратегии, то не начинай с tslab. Там программисту делать нечего. Так, поиграться. В крайнем случае — кривое TSlab API(но даже документации нормальной не найдешь). Начинай с lua, язык простой. Но опять же, если есть понимание твоей стратегии. 
    Если понимания нет, то зачем тебе торговый робот?
  • Дмитрий Васильев
    03 ноября 2017, 11:53
    Если язык программирования не проблема, лучше работать напрямую с сервером брокера/биржи, минуя торговый терминал. Плюсы, думаю, перечислять не надо. Из минусов — относительно длительное время разработки и тестирования скелета робота. Лично я использую связку С++ + TransaqConnector, в дальнейшем, возможно, перейду на более быстрое соединение и API.

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

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