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

Цель создания конструктора -максимально упростить разработку торговых роботов на основе торгового терминала QUIK и библиотеки QLUA.

Какие задачи можно решать на этом конструкторе.

  1. Написание алгоритмов торговых сигналов
  2. Тестирование алгоритма
  3. Оптимизация параметров
  4. Подключение в режиме реальных торгов

———————————
Конструктор выполнен в виде индикатора и минимум одного скрипта и предназначен для торговли акциями.
индикатор имеет имя nk_bot.

На его основе реализуются первые три пункта указанные выше.
Подключение к реальным торгам осуществляется с помощью специального скрипта.
В данной заметке я расскажу и покажу как написать алгоритм( генератор) торговых сигналов и посмотреть результаты его работы.
—————————
Для программирования любого алгоритма есть два файла
файл  initS.lua —  инициализация параметров робота
имя второго файла задается в файле initS.lua. По умолчанию его имя nk_test_sig.lua.
Этот файл содержит собственно алгоритм генерации торговых сигналов.
—————————-
Для примера напишем робот на основе алгоритма пересечения двух скользящих.
т е алгоритм генерации сигналов будет такой:
Берем две скользящие, назовем их Y1  и Y2 , с периодами N1 и N2 соответственно.
Если Y1 пересекает Y2 снизу вверх, то покупаем.
Если сверху вниз, то продаем.
Имена наших индикаторов должны начинаться с  символа подчеркивания  и далее любые алфавитно цифровые символы.
———————————
Рассмотрим подробнее содержимое файлов и добавим в них необходимые изменения для реализации нашего торгового алгоритма.
—————————————
файл initS.lua Имеет следующий вид:
Settings.nki=’EMA(Y1,C,N1);EMA(Y2,C,N2)’; — описание  индикаторов, через символ «;»
Settings.nks=’nk_test_sig.lua’; —генератор сигналов
———————-

EMA -индикатор скользящего среднего,

N1 — интервал расчета индикатора,

C  — параметр свечи, по которому вычисляется индикатор. В данном примере это close последней закрытой свечи.

В этот файл нам необходимо добавить периоды наших скользящих.
Для этого любым редактором текста (рекомендую SCITE) добавляем в конец файла следующие две строчки:
Settings.N1 =20; — период первой скользящей по умолчанию
Settings.N2 =100; — период второй скользящей по умолчанию
————————
Содержимое этого файла будет отображаться как параметры индикатора nk_bot.
Таким образом, в процессе работы можно их изменять и наблюдать влияние на результаты работы торговой стратегии.
Все индикаторы автоматически отображаются на графике
————————————
В файле initS.lua есть такая строка:
Settings.nks=’nk_test_sig.lua’; —генератор сигналов
т е свой алгоритм мы поместим в файл с именем nk_test_sig.lua.
Мы можем изменить имя файла, указав любой другой файл с новым алгоритмом.
————————-
В любом редакторе текста в файле nk_test_sig.lua пишем следующий текст нашего алгоритма:

=Cross(Y1,Y2); — пересечение. результат -1,0,1
Алгоритм записывается следующим образом. Пишем знак «=» и далее функцию или арифметическое выражение значения торгового сигнала.

Если выражение является логическим, то после знака равно пишем сначала значение сигнала, например 1, потом через запятую логику вычисления сигнала.

Например,  =1, x>20  — означает, что сигнал равен 1, если x>20, иначе равен 0.
В тексте программы может быть комментарий, который должен начинаться   двумя знаками минус.
Выше все комментарии  выделены зеленым цветом.
Вот и весь наш алгоритм.

Теперь посмотрим, что получилось:

160503_000

160503_001

 

 

 

 

 

————————————————————————————————-

на графиках отображается информация о прибыли(убытке) текущей сделки, процент успешных сделок,прибыль(убыток) всего и количество сделок всего.

Если текущая сделка убыточная, то информация о ней отображается красным цветом, иначе белым.

Свеча, на которой совершается сделка, отмечается стрелкой

зеленая стрелка — продажа

красная стрелка — покупка

Сделки совершаются на открытии свечи ,

на основе информации о закрытых свечах.

————————————————————————————————-

продолжение следует…

This entry was posted on Понедельник, Май 2nd, 2016 at 18:04 and is filed under QLUA, QUIK, торговые роботы (МТС). You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Comments are closed at this time.