Постов с тегом "QLua": 179

QLua


Тестирование торговых стратегий в QUIK

    • 09 февраля 2015, 09:11
    • |
    • XXM
  • Еще
Программ, в которых можно тестировать торговые стратегии, много. Как специализированных, так и общих.
Покажу, как это священнодействие можно проделать в QUIK, на примере реверсной системы на двух EMA.

1. Копируем 2 скрипта: Test2emaSignal.lua, Test2emaEquity.lua в каталог LuaIndicators вашего нашего рабочего QUIK;
2. На график выбранного инструмента добавляем в окно 1 индикатор 2emaSignal, в окно 2 - 2emaEquity;
3. Настраиваем дату начала тестов, периоды EMA.
4. На выходе: график + файл Test2emay.csv (в каталоге QUIK-а) с результатами теста.

Скачать: Test2EMA.zip: http://www.xsharp.ru/indikators 

Тестирование торговых стратегий в QUIK

( Читать дальше )

Как вывести сигналы на график из скрипта QLua?

Возможно кто то знает, как можно из скрипта QLua вывести сигнал на график в Quik? Штатными методами я так понял сделать это невозможно. Сторонних библиотек по данной теме я не нашёл. Может кто сталкивался?

UPD:
Описание меток почему то на сайте help.qlua.org/ch11_1.htm отсутствует, но есть в офлайновой справке. Код добавления метки, может кому сгодиться:

function insertLabel (labelType, labelDate, labelTime, yValue)
    label_params = {}
   — в зависимости от типа сделки ставим свою картинку
    if labelType ==1 then
        label_params.IMAGE_PATH=«E:\\Trader\\Qlua\\buy.bmp»
    elseif labelType ==-1 then
        label_params.IMAGE_PATH=«E:\\Trader\\Qlua\\sell.bmp»
    else
        label_params.IMAGE_PATH=«E:\\Trader\\Qlua\\stop.bmp»

( Читать дальше )

Qlua для чайников. Часть 3. Делаем робота-спредера

    • 16 сентября 2014, 12:08
    • |
    • orekton
  • Еще
Как я и обещал на прошлом уроке, с сегодняшнего дня мы начнем писать робота. Для начала разработаем что-нибудь простенькое, например, робота спредера, который по заданному инструменту смотрит цены в стакане, если спред достаточно большой, то выставляет заявки от лучших цен покупки/продажи с заданным шагом.
Предыдущие статьи:
Qlua для чайников. Часть 1

Qlua для чайников. Часть 2. Циклы

Итак, если цены 1000/1100, а шаг 10, то робот должен выставить заявки по 1010/1090. В случае изменения цен робот должен снимать заявки и выставлять новые. Если какая-то заявка исполнилась или частично исполнилась, то робот должен это учитывать, либо вообще не перевыставлять исполненную заявку, пока не исполниться противоположная, либо выставлять на количество остатка.
Итак, берем наш шаблон. Все лишнее оттуда удаляем:
is_run=true


( Читать дальше )

Qlua для чайников. Часть 2

    • 22 августа 2014, 15:20
    • |
    • orekton
  • Еще
Продолжу публикацию уроков «Qlua для чайников». В первой части мы научились писать программу “Hello, World” и выставлять программно заявки. Сегодня пойдем дальше. Вы, наверное, обратили внимание, что все программы, которые мы написали на прошлом уроке, сразу же заканчивают работу, как только выполнили все запрограммированные функции? Возникает вопрос: как быть, если надо, чтобы программа работала постоянно, следила за рынком и совершала сделки? Очень просто. Надо сделать так, чтобы при запуске программа повторяла набор команд. Для этих целей в языке Qlua предусмотрены циклы.
С циклами мы уже столкнулись на прошлом уроке, когда писали групповой ввод заявок. Только в тот раз у нас цикл повторялся заданное количество раз. Но в языке есть и другие виды циклов. Например, цикл по условию. Этот цикл повторяется, пока выполняется определенное условие. Если это условие выполняется вечно – программа будет выполняться до тех пор, пока включен компьютер или пока вы ее принудительно не завершите.


( Читать дальше )

Qlua для чайников. Часть 1

    • 18 августа 2014, 14:58
    • |
    • orekton
  • Еще
Многие хотели бы научиться писать биржевых роботов или хотя бы автоматизировать некоторые свои биржевые операции, но пугаются самого процесса программирования, считая его чем-то сложным. Эта статья написана для того, что бы помочь тем, кто только начинает программировать. Вы сами увидите, что на самом деле тут все просто.
Прежде чем приступить к уроку, хочу сказать пару слов о языке программирования qlua, который мы будем изучать. На сегодняшний день этот язык – самый удобный и доступный способ что-либо автоматизировать для начинающих программистов. Язык qlua гораздо лучше и удобнее его предшественника – qpile, он содержит больше возможностей, и роботов, написанных на нем, можно сделать гораздо боле гибкими. Что особо радует, так это, например, наличие так называемых CALLBACK функций (функций обратного вызова), благодаря которым появилась возможность легко писать роботов, реагирующих на разные события: изменение статуса заявки, приход сделки и т. д. (см.  статью  robostroy.ru/community/article.aspx?id=765).


( Читать дальше )

LUA Workshop 2014

Всем трейдерам, интересующимся языком программирования LUA (напоминаю про Quik LUA), предлагаю записаться на очень интересное мероприятие, посвящённое этому языку.

Дисклеймер:
13 и 14 сентября (суббота и воскресенье) в Москве, в офисе Mail.Ru Group пройдёт крупнейшая ежегодная конференция, посвящённая языку программирования Lua — Lua Workshop 2014. Эта международная англоязычная конференция проводится в этом году в 9-й раз. В 2012 году она проходила в Рестоне (США), в 2013 — в Тулузе (Франция), ну а в этом году конференция приезжает в Москву. 

Полный текст новости доступен по этой ссылке

К сожалению, количество мест ограничено

Реализация медианного фильтра на QLUA

    • 05 апреля 2014, 00:34
    • |
    • amandra
  • Еще

Введение

Мне всегда не нравился QUIK тем, что в нем нельзя было писать собственные индикаторы, если быть точнее, можно, но результаты реализация индикатора вряд ли бы отвечала заявленным требованиям, так как скрипты на qpile запускаются по таймеру, а не по событию. Я не считаю язык qpile ущербным или не пригодным для реализации, по мнению некоторых робостроителей, сложных алгоритмов. Всякий алгоритм можно реализовать на любом языке программирования, вопрос только в уровне затрат на реализацию, наличие или отсутствие нужных функций и процедур.
С появлением в QUIK QLUA все заиграло для меня яркими красками.
В заметке хочу рассмотреть вопросы реализации медианного фильтра на QLUA.

Постановка задачи

Медианный фильтр используются для уменьшения уровня шума. Алгоритм рассчета фильтра достаточно прост и доступен широким массам. Одним из пунктов рассчета медианы — является сортировка подмассива. Вот на этом и остановимся подробнее.

 Сортировка массива

Что такого сложного в сортировке на первый взгляд? Алгоритмов сортировки великое множество, их эффективность оценивается по быстродействию. Рассмотрим несколько алгоритмов сортировки и попытаемся их сравнить. Здесь не будем рассматривать вопросы создания индикаторов на qlua, только сортировка и больше ничего.

( Читать дальше )

Где найти курсы QLUA

    • 12 декабря 2013, 17:37
    • |
    • roma095
  • Еще
Всем привет. Подскажите, где в Москве можно найти курсы программирования QLUA?

Спредовый робот «Спредер»

Сегодня хочу написать про второго робота сделанного нашим сообществом qlua.
Также как  фронтраннинг стратегия «Бегемот» данный алгоритм был предложен одним из пользователей нашего форума.

Робот реализует стратегию торговли в спреде. Основная его задача — заработок на разнице между лучшими бидом и аском (спредом) инструмента. Данная стратегия хорошо подходит для малоликвидных и среднеликвидных инструментов и может применяться для любого типа инструментов — акций, фьючерсов, опционов. Данная реализация позволяет работать в 3-х режимах :
— от бид
— от аска
— от бида и аска одновременно
Так как робот реализован на языке Lua, скорость его работы гораздо выше, чем у аналогичных Qpile роботов и даже реализованных на компилируемых языках!
Алгоритм работы робота следующий (на примере режима от бида).
Вход 
Если спред больше заданного значения, ставим лучшую заявку на покупку (бид) и изменяем ее чтобы всегда оставаться лучшими. Если значение спреда стало меньше заданного — передвигаем заявку в глубь стакана на n шагов цены от лучшей (в ожидании резкого движения цены крупной рыночной заявкой).


( Читать дальше )

....все тэги
UPDONW
Новый дизайн