Написал скрипт на языке Lua для торгового терминала QUIK.
И назвал его
Торговый робот «Lbot».
Предназначил для автоматизации выполнения торговых операций на фондовом рынке.
Обязал выполнять операции купли-продажи заданной ценной бумаги на фондовом рынке путем выставления лимитированных биржевых заявок.
Научил понимать слова из правил торговой стратегии, задаваемой из файла настроек в формате
ini:
- OpenLong — вход в длинную позицию;
- CloseLong — закрытие длинной позиции;
- OpenShort — открытие короткой позиции;
- CloseShort — закрытие короткой позиции;
- StopLoss — закрытие позиции по стоп-лоссу;
- TakeProfit — закрытие позиции по тэйк-профиту.
Добавил возможность управления позициями путем нажатий соответствующих кнопок.
Подробнее на сайте:
http://www.xsharp.ru/
ПС пока еще ни у кого ни одна библиотека(VCL,iup,wx) не дала стабильности!
ПСС А так молодец!
«Применение GUI – интерфейса следует свести к минимуму, так как стабильная работа связки QUIK + LUA + VCLua не гарантирована разработчиками («Интерпретатор языка Lua», руководство пользователя, стр. 3: «Некорректная работа сторонних библиотек, загруженных скриптом, может приводить к ошибкам в работе терминала QUIK»).»
В данной работе GUI-интерфейс отключается либо удалением файла «gui.lua», который отвечает за это, либо записью «GUI = не нужен!»
За оценку спасибо!
ini-описания стратегий понятнее, ближе, роднее.
Отключается либо удалением каталога socket со всем содержимым, либо удалением из конфигуратора строки:
«millisecond = Y»
«PositionSize = 31000 //сумма на которую робот может торговать в рублях»
Это некоторая защита, ограничение.
Роботу позволено, в данном случае, использовать депозит не более, чем на 31000 рублей на ГО для ВСЕХ торгуемых роботом инструментов. Если сумма ГО превысит указанное, робот не будет торговать вообще (~ ты что, нащальника, считать деньги твои я буду, да?)
(Было время, на VBA EXCEL писал. Вот уж оценка по нестабильности ПЯТЬ++! Нормально и одного часа не работала.)
К QLUA на QUIK для Windows претензий у меня никаких нет.
Надоело под каждую стратегию новый проект компилить.
У них-же всё одинаково, морда, контроль исполнения заявок, только условия открытия-закрытия меняются, что можно прописать в текстовом коротком скрипте.
1. на одном инструменте может быть только одна стратегия с фиксированным размером бумаг.
2. открытие и закрытие позиций должны быть формализуемы однозначно по ценам, времени и их составных — индикаторов. Какие-либо паттерны не обрабатываются.
За оценку спасибо.
«account = SPBFUT01yyy» на «account = SPBFUT01xxx»
Руководство пользователя, гл.4, стр.5
п. 4.1. Состояние робота
Возможные ошибки:
...
Timeframe – ошибка определения тайм-фрейма графика с соответствующим идентификатором. Устранить несоответствие наименования идентификатора индикатора или цены с данными из ini-файла;
В ней можно настроить свою стратегию, и Lbot станет торговым роботом.
Пример стратегии:
А привод, т.е. возможности программы "Intraday LUA" — в Lbot сопутствующий функционал.
Штука то интересная...
Свечной тралл в нем инресно можно настроить...?
Да.
Пример: OpenLong = cross(MOV1, MOV2, 1) and {Close} > {MOV3}
Где MOVx — это некоторые индикаторы (например, скользящие) со своими параметрами.
Ema1 в нашем контексте — это просто идинтификатор индикатора, скорее всего, экспоненциальной средней. «1» — это просто добавка к имени идентификатора, параметр может быть любым.