Блог им. oldzas

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

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

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

О себе: писал код на php+mysql+js, битрикс
★1
20 комментариев
О себе: писал код на php+mysql+js, битрикс
в одном видео про Герчика, очень давно, когда он работал в Финаме, в его команде парень все делал в 1С. Умопомрачительно =))

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

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

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

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

Гусары, молчать! ©
говорят что и на экселе работает.
начинать надо с четкой рабочей стратегии
avatar

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

www.tslab.ru/soft/


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

 

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

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

теги блога Сергей Затылкин

....все тэги



UPDONW
Новый дизайн