Блог им. igor12

Вопрос к алготрейдерам - интересует «движок»..

    • 05 марта 2016, 18:02
    • |
    • igor12
  • Еще

Нужен  торговый модуль (движок) под Квик… Лучше готовое решение-иначе долго и дорого..

То что встречал в сети- по разным вопросам до конца не устраивает…(мож что пропустил)..

Основные требования – надёжность  удобство в работе и возможность

подключать свои алгоритмы без больших проблем (это кратко).

Просьба дать ссылки на подобные решения или пишите в личку.

 

★2
31 комментарий
А что «движок» делать должен?
avatar
А. Г., Выставлять заявки в квик на основании встроенных стратегий (вам то не знать,  что движком  называют ..)
avatar
Это зависит от того, на чем написаны стратегии. Есть запись в текстовые файлы, из которых квик читает и выставляет заявки, есть стокшарп, есть транстуквикдлл для С++ и С#, есть соответствующие команды во встроенном в квик языке lua.
avatar
А. Г., Считаю, что вопрос реализации стратегии в данный момент вторым.
Код нужных стратегий можно переписать под любой язык..
Нынешняя реализация на WL4…
avatar
igor12, У меня такой же подход
1-сервер заявок
2-сервер котировок
3-код на любой платформе

1-пункт я для себя сделал forum.quik.ru/forum11/topic904/
2-3  у меня на базе МТ4  и WL6
В планах сделать Сервер котировок на С#
avatar
Андрей COBRA,  Спасибо за отклик..
Где-то можно глянуть подробнее  ?
Или как связаться с вами(в личку)…
avatar
igor12, спрашивайте, что подробнее исходники?
можете в личку
avatar
Андрей COBRA, Не очень понятно как это работает- насколько удобно и надёжно и глянуть информацию пока негде…
avatar
igor12, котировки идут в MT4 там же много роботов на каждую акцию,   каждый робот пишет в файл заявку, а сервер заявок их независимо обрабатывает, выставляет стопы и т.д..    Через определенное время робот, считывает файл состояния и делает выводы о сотоянии сделки.  Все просто и бесплатно и работает стабильно. только акции, фьючи не тестил.
avatar
Андрей COBRA, С МТ по жизни не связывался- считая эту платформу «кухонным» инструментом..
И интерес прежде всего к срочке а не споту…
avatar
igor12,

Под WL4 была dll, которая записывала сигнал в текстовый файл для квика и заявка выставлялась, если в квике был включен импорт транзакций из файла. Единственное ее неудобство: заявки выставлялись по рыночным ценам и исполнение было как получится.
avatar
А. Г., Есть у меня  адаптер к нему AXY robotrader (лицензионный)..
Но  глючит слегка, а автор уже не поддерживает его…
avatar
igor12,

Ну WL при переходе от 4 версии к 5 сменил язык, вот все и «полетело».
avatar
А. Г., Про 6  версию WL на C# в курсе...
AXY robotrader заточен под WL4 c  4 и пытался его запустить…
avatar
А чем плоха связка Амиброкер + Квик (с использованием АмиШарп например)?
avatar
тслаб смотри… он к квику прикручивается
avatar
ves2010, Как-то с ТСлабом не пошло сразу.
Да и думается, что связка «тестовая» платформа (Тслаб, Ами, Вэлс, SuperCharts...) адаптер — Квик — не лучшее решение для торговли… Хотя у вас вроде всё это работает…
avatar
igor12, тогда тебе нужен сток шарп
прикол в том что в тслабе вменяемая техподдежка… и счас написан и тестят тслаб2.0 если у тя конкретные траблы то тебе адекватно помогут
avatar
ves2010, «тогда тебе нужен сток шарп» — не согласен с категоричностью  этого утверждения..
Продвинутые ребята реализуют подобные задачи и на  C# ,R , питоне, луа   или их комбинациях  .....
Как-то раньше пробовал запустить прогу  Сухова на сток шарпе для загрузки котировок(Гидра) — крайне криворукое решение оказалось…
avatar
igor12, Гидра до сих пор весьма криворуко сделана.
avatar
 

Конструктор стратегий Lbot3D

avatar
QuikSharp Советую глянуть. А что касается стокшарпа так более глючную оболочку трудно найти. Вы на их форум посмотрите, багтрекер, а не форум.
avatar
Игорь,  Спасибо за ссылку...
Но пока не очень понятно, как этим пользоваться…
avatar
igor12, Чтобы этим пользоваться, нужно уметь кодить на C#.
По сути — это коннектор между вашим роботом (в который заложена стратегия) и Квиком. Умеет получать данные из Квика (Параметры бумаг, заявки, сделки, графики/свечки, колбэки и т.п.), и отправлять в Квик команды на открытие/снятие ордеров.
Проект с открытым исходным кодом. Все еще продолжает разрабатываться, но пользоваться уже можно.
Вкратце как-то так…
avatar
Prophetic, «Чтобы этим пользоваться, нужно уметь кодить на C#.»- тут как раз и проблема..
А челу, имеющему опыт работы на C# довести до удобного в работе варианта(некий интерфейс для оперативного запуска отключения торговых алгоритмов по разн. инструментам)- это большой кусок работы??
avatar
igor12, Мне трудно ответить однозначно на Ваш вопрос. К сожалению, я так и не смог понять из Вашего поста, что именно вы хотите сделать. Могу лишь привести пример собственного опыта.
До недавнего времени всех своих роботов я писал на QLua, в том числе был привод с визуальным интерфейсом. Но когда роботов, одновременно запущенных в квике стало больше десятка, то это стало здорово тормозить сам квик (особенно после обновления до 7-ки). Начал искать возможные альтернативные варианты и случайно наткнулся на QuikSharp. Сразу скажу, что я не программист, но некоторый жизненный опыт программирования на нескольких языках, для решения определенных задач, есть. До этого на C# я почти ничего не писал. И максимум, что полезного сделал — это читалку логов для своих роботов, написанных на QLua. Столкнувшись с QuikSharp, понял, что для того, чтобы что-то получилось необходимо более глубокое изучение языка. Нашел на ютубе курс и полностью его просмотрел, выполняя написание программы из этого курса.
С момента знакомства с QuikSharp прошло около полугода. Результаты такие:
— Всех роботов теперь пишу только на C#, используя QuikSharp, немного доделанный под себя.
— Есть оболочка, которая совмещает в себе алгоритмизированный привод (использую для торговли на фондовой секции), там же блок запуска пакета роботов (стратегии пишутся отдельно, загоняются в DLL`ку и подключаются к главной оболочке), плюс еще пара мелочей.
— Общая стабильность меня устраивает, за исключением проблем восстановления работоспособности после дисконнекта (если таковой происходит).
— Продукт узкоспециализированный, рассчитанный именно на меня и мои предпочтения.
— Разгрузил квик, т.к. все сложные расчеты теперь выполняются вне торгового терминала.
— Сказать что продукт имеет законченный вид никак нельзя, но уже использую в «боевой» торговле.

Так что, сколько уйдет времени у человека с большим опытом кодирования на C# я не знаю, но если этот человек знаком с биржевой торговлей, то явно меньше чем у меня.
На самом деле, многое зависит от постановки задачи.
Опять же из своего опыта: я нескольким трейдерам совершенно бесплатно писал роботов и приводы под их стратегии (в первую очередь для саморазвития) на QLua, и всегда выяснялось одно и то же:
Трейдеры, привыкшие торговать руками в подавляющем большинстве случаев не могут с ходу описать алгоритм, и не потому, что не хотят им делиться, а потому что не знают как формализовать правила по которым они торгуют.
В результате, написание каждого робота превращалось в многократное (иногда достаточно длительное) обсуждение различных условий и параметров системы, с целью превращения их в программный код.
З.Ы.: Для справки — ни одну из стратегий этих трейдеров я так и не стал использовать в своей торговле, хотя некоторые полезные идеи для своих стратегий удалось почерпнуть.
avatar
Prophetic, Прежде спасибо вам за столь подробный ответ.....
«так и не смог понять из Вашего поста, что именно вы хотите сделать»-
мне  нужен некий торговый модуль под Квик,  с помощью которого можно будет торговать свои «паттерны».  Вот и пытаюсь найти решения для этой задачи.
Писал, что в данный  момент алгоритмы формализованы на 4 Вэлсе(паскалеподобный язык). Переписать их под 6 Вэлс вроде больших проблем не должно создать. Даже есть специальная программа переписывающая код4 вэлса под 6 на С#.(пусть и чуть криво).  А вот дальше!?
C C# не знаком и полгода на освоение не могу позволить себе. Готов  за разумное вознаграждение воспользоваться сторонней помощью программиста знакомого с данной темой 
Готовых подходящих решений  не нашёл… То что видел -по разным причинам не устраивает меня. Кратко как-то так…
avatar
igor12,
тоже пытаюсь перейти с МТ4 на WL6
для работы на WL6 проблему можно делить на 2 части.
1 подача котировок в WL6 из QUIK
2. заявки в QUIK из WL6 ( через мой коннектор будет работать на Фортс я потестил работает нормально)

Будут идеи по 1 пункту обращайтесь. кодить умею на С# сделаю бесплатно,
пока не разбирался как устроена подача котировок в WL6, как забирать котировки из QUIK понятно, дело на пару дней.

avatar
Prophetic, если не сложно можно кусочек кода как выставлять заявки в QUIKSHARP. Методы по параметрам тикера (GetSecurityInfo...) работают, а CreateOrder не проходит.  Автор наверно не ответит на такие простые вопросы.
Сходу в исходниках пока не разобрался.
Заранее спасибо.
avatar
Андрей COBRA, Конечно. Мне не жалко:

long result = 0;
QuikSharp.DataStructures.Transaction.Order order_new = new QuikSharp.DataStructures.Transaction.Order();
order_new.ClassCode = ClassCode;
order_new.SecCode = SecurityCode;
order_new.Operation = operation; // type Operation
order_new.Price = price;
order_new.Quantity = qty;
order_new.Account = AccountID;
order_new.ClientCode = ClientCode;
result = await _quik.Orders.CreateOrder(order_new);

У меня сделано так. Думаю, разберетесь. Правда, есть некоторое «НО»:
Я до сих пор использую довольно старую версию QuikSharp, т.к. некоторые проблемы до сих пор не позволили мне нормально объединять свежие версии от автора со своими доработками. Так что теоретически, эта конструкция может и не сработать в текущем виде, но думаю общий порядок Вы уловили.

avatar
Prophetic, увидел. Спасибо.
avatar

теги блога igor12

....все тэги



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