Постов с тегом "qlua": 175

qlua


Требуется программист QLUA

Доброго времени суток, коллеги!

На днях решил вспомнить молодость и разработать алгоритм для intraday торговли. Для эксперимента взял наиболее ликвидный инструмент — фьючерс на индекс РТС, time frame 1 min. Год для расчетов был взят 2015. Ниже представлена эволюция алгоритма:

Требуется программист QLUA
Неплохая кривая изменения капитала, но жадность брала верх:
Требуется программист QLUA

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

Индикатор поиска шаблона/паттерна через корреляцию

В прошлый раз http://smart-lab.ru/blog/330910.php зашла речь о поиске соответствия шаблону (или паттерну) через корреляцию. В трейдинге нет строгих соответствий, поэтому интересуюсь индикаторами, которые также не “ездят по рельсам”.

Для визуализации решил разработать индикатор для квика, который будет вычислять корреляцию между заданным шаблоном и ценами открытия баров (решил сделать по ценам открытия). Ссылка на скачивание ниже.

Как пользоваться. Добавляется индикатор в квик стандартным способом. Нужно создать в папке с квиком подпапку «LuaIndicators» (если её еще нет, в ней квик ищет пользовательские индикаторы). Скопировать туда скаченный файл индикатора «CorIndicator.lua», предварительно его разархивировав. Запустить квик и кликнуть правой кнопкой мыши на открытом окне с графиком, куда планируется добавить индикатор. В выпадающей меню выбрать «добавить график (индикатор)». Далее в списке выбрать индикатор «CorIndicator», установить галочку «новое окно» и нажать «да». Окно настроек можно оставить без изменений нажав «сохранить» или внести свои настройки.



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

Помогите доработать индикатор MACDH Qlua

Есть стандартный индикатор MACDH для квика https://forum.quik.ru/messages/forum10/message16409/topic1832/#message16409

требуется задать условие, чтобы бары на гистограмме были цветными

если значение бара меньше предыдущего, то красим в красный, если больше предыдущего, то в зеленый...

Буду очень благодарен..

исходный код ниже



Коннектор QLUA и C#. Передача данных через стек.

Прошу дать ссылку на адекватный форум или другой ресурс по программированию на QLUA.
Интересуют вопросы передачи данных через стек и многопоточность в QLUA.
Как оказалось, есть много подводных камней.
Кто в теме, пожалуйста, укажите на возможные ошибки в коде, а главное — ПОЧЕМУ НЕ РАБОТАЕТ File.WriteAllLines(@«File.txt», array);
Буду очень благодарен.

-------------------------------------------
Скрипт QLUA:
require («InQuikDll»);
-----------------------------------------------------
Код на C#

using System.IO; 

[DllExport(«luaopen_InQuikDll», CallingConvention = CallingConvention.Cdecl)]
public static int InQuikDllStartUp(IntPtr L)
{
Lua.lua_pushinteger(L, 0);
Lua.lua_setfield(L, -10002, "_runServer");

//Вставляет новый экземпляр функции C в стек
Lua.lua_pushcclosure(L, forLua_OnInit, 0);
Lua.lua_setfield(L, -10002, «OnInit»);

Lua.lua_pushcclosure(L, forLua_OnStop, 0);
Lua.lua_setfield(L, -10002, «OnStop»);

Lua.lua_pushcclosure(L, forLua_OnClose, 0);
Lua.lua_setfield(L, -10002, «OnClose»);

Lua.lua_pushcclosure(L, forLua_OnQuote, 0);
Lua.lua_setfield(L, -10002, «OnQuote»);

Lua.lua_pushcclosure(L, forLua_OnConnected, 0);
Lua.lua_setfield(L, -10002, «OnConnected»);

Lua.lua_pushcclosure(L, forLua_Main, 0);
Lua.lua_setfield(L, -10002, «main»);



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

Открытый Универсальный Робот – Стратегия

В прошлый раз http://smart-lab.ru/blog/329488.php предложил добавить к скользящим средним каких-нибудь сигналов/индикаторов, чтобы использовать в стратегии для примера. Но ни от кого идей не поступило.

Подумав в указанном направлении, решил добавить в стратегию поиск шаблона/паттерна. Для поиска шаблона буду использовать корреляцию. Такая идея у меня была давно, но никак не доходили руки её проверить. Поэтому устрою проверку её эффективности в стратегии, используемой для примера. Появляется какая-то польза и для меня, так как результат мне не известен и полученные наработки (код) можно будет использовать в дальнейшем.

Сама идея проста – задаем последовательность значений, описывающих некоторое изменение цены, например:

Tpl = {  1,  2,  3,  4,  5,  4,  4.5,  3.5,  4,  3 };

Если указанную последовательность изобразить графически, то получим картинку, показанную на рисунке.
Открытый Универсальный Робот – Стратегия



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

Битва за скорость: QLUA vs MQL5 - почему MQL5 быстрее от 50 до 600 раз?

Для сравнения языков MQL5 и QLUA мы написали несколько тестов, которые замеряют скорость выполнения базовых операций.

В тестах использовался компьютер с Windows 7 Professional 64 bit, MetaTrader 5 build 1340 и QUIK версии 7.2.0.45.

Результаты представлены в таблице, где все значения представлены в миллисекундах (чем меньше время, тем лучше):

Название            MQL5        QLUA     Преимущество MQL5

TestFloat          3 969     273 391     69 раз
TestArrays           375     230 768    615 раз
TestFibo           1 125      61 110     55 раз
TestPiCalculated   2 328     183 812     79 раз
TestQuickSort      2 031     211 279    104 раза
TestAckermann        828      64 541     78 раз

Сравнение производительности MQL5 и QLUA, чем меньше, тем лучше



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

Открытый Универсальный Робот – Основа робота

Продолжаем разработку универсального робота!

Выкладываю код OUR-0.3, который в настоящий момент еще далеко не полный – это только основа, скачать можно здесь https://yadi.sk/d/l3uic67yruCxa

Код прокомментирован подробно, но дам дополнительное описание общего плана, чтобы логику работы робота можно было представить.

Итак, по порядку:

Робот состоит из двух файлов: OUR.lua содержит основные функции (OnInit, main, коолбэки – пока только один OnStop), FunOUR.lua содержит вспомогательные функции – все остальные. Дополнительно приложен файл с информацией и файл с образцом котировок.

Функция OnInit

1 Первоначально котировки с сервера поступают в источник – таблицу с барами TBar (там все заполняется автоматически при подключении источника).

2 Далее робот делает различные вычисления, результаты которых он помещает в таблицу с данными TDat (также туда копируются параметры баров из TBar), эту таблицу нужно заполнять самому, ключи таблицы на свое усмотрение, но конечно часть ключей в алгоритм уже заложены, это «key»,«O»,«H»,«L»,«C»,«V»,«T» от них идут все вычисления. TDat – это таблица, содержащая таблицы по каждому бару, ключ соответствует номеру бара в источнике. Структура такого типа:

TDat = {
[1321] = {"O","H","L","C","SMAf","SMAs"…},
[1322] = {"O","H","L","C","SMAf","SMAs"…},
…
}


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

QUIK: отказ от поддержки встроенного языка QPILE


Очевидное свершилось!
Продвинутые алготрейдеры итак уже давно отказались от QPILE и перешли на LUA.
Теперь и сами разработчики уходят от QPILE.

QPILE, QUIK

Письмо от разработчиков QUIK.

Тема:    QUIK: отказ от поддержки встроенного языка QPILE

Здравствуйте!

В течение ближайшего года мы планируем рассмотреть вариант с прекращением
поддержки встроенного в Рабочее место QUIK языка QPILE. Этот интерпретатор
скриптового языка был разработан нашей компанией в 2002г. В течение 10 лет язык
развивался по пожеланиям пользователей, добавлялись новые возможности,
клиенты с помощью него создавали свои собственные расчетные таблицы,

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

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