Избранное трейдера Rymys

по

Коммуникации Quik Lua с внешним миром.

    • 14 декабря 2019, 20:42
    • |
    • 3Qu
  • Еще

Мне нравится Lua. Lua хороший компактный язык на котором можно сделать индикаторы, различные вспомогательные программы, помогающие трейдеру и даже несложные торговые системы (ТС, роботы). Пожалуй единственная книга по Lua — Роберту Иерузалимски: Программирование на языке Lua. Ее можно найти в интернете.

Lua имеет также несложный C-API позволяющий связать программы Quik Lua с внешним миром через DLL и получить доступ практически ко всему, в том числе к любым математическим библиотекам обработки данных, что необходимо для сколь-нибудь сложным ТС. Однако, для этого уже необходимо знание не только Lua, но и Lua C-API, языка С/С++, а также умения писать DLL. При этом надо будет решить еще ряд проблем, которые возникнут по ходу пьесы в процессе этой деятельности. Далеко не каждый пользователь Quik и Lua может все это реализовать в обозримое время.
У Quik Lua (QLua) есть еще недостатки — все события терминала в Lua работают в потоке терминала, и получив из них данные надо как можно быстрей завершать функции обработки этих данных и освобождать поток терминала, иначе терминал просто повиснет. Единственная функция QLua работающая в собственном потоке — это main() и вся сколь-нибудь сложная обработка может находиться только в ней.
Кроме того, для Lua крайне мало библиотек, а существующие работают оч не быстро. В принципе, это и не нужно, если можно организовать связь с внешним миром через C-API. Но нам от этого легче не становится.) Короче, для написания хорошей сложной ТС нам надо выйти за пределы QLua и установить связь с внешним миром, и сделать это доступными средствами.
Сейчас наиболее продвинутым языком, включающим в себя массу библиотек обработки данных является Python. По применимости для обработки данных он, пожалуй, занимает первое место в мире, а по распространенности входит в первую пятерку. В числе библиотек — математические, статистические, машинного обучения и пр., и пр. Таких библиотек более тысячи только в Anaconda, большинство из которых устанавливается при ее инсталяции. Вы можете не использовать Anaconda и скачать Python с сайта



( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Очень классная книга! Александр Силаев - Деньги без дураков.

Очень классная книга! Александр Силаев - Деньги без дураков.
Однозначно советую всем! Причем даже опытным. И вот почему.
Эта книга — тот редкий случай, когда книгу про инвестиции/трейдинг мне читать еще интересно. Мне кажется, я уже знаю почти все, поэтому меня сложно чем-то удивить, это надо учитывать, когда вы читаете рецензию от меня.

Сразу оговорюсь, что в целом, книга произвела неоднозначное впечатление: вначале она прям меня привела в чувство полного восторга. С половины книги, я “увяз”, уже не мог читать, пролистывал страницы. Но новичкам — однозначно читать вдумчиво и целиком. Лично для меня было бы идеально, если бы она закончилась на половине. Но это чисто для меня. Теперь по делу.

Автор книги, Силаев — большой молодец, я проникся уважением к его интеллекту, эрудиции, кругозору и дару писать. Начало книги я вообще читал взахлеб, оставил массу пометок на страницах. Я бы даже сказал, что он пишет не хуже Талеба. Итак, автор:

  • оригинально мыслит и пишет

  • необычный текст и слог

  • я читал и получал удовольствие от чтения.

Только есть проблема. Некоторые места книги настолько оригинальны, что не все это поймут и оценят. По-моему я не встретил в книге ни одного момента, где я был бы не согласен с автором. Более того, многие моменты мне близки именно с позиции моего опыта и я рад что увидел в этой книге похожие мысли.

Какие интересные идеи я бы подчеркнул?
(Мысли очень концентрированные, на самом деле далеко не все поймут и осознают сходу их ценность)



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

Раздаю x64 lua библиотеки для Quik8

    • 15 июля 2019, 10:06
    • |
    • П М
  • Еще
В рамках добра. 
Для тех кто любит плюшки на lua.
Пересобрал либины w32.dll и ffi.dll для Квика v8.0
ffi проверил на прилагаемом к ней тесте — работает, w32.dll не проверял, сами скажите если что не так.

На всякий случай напоминаю, это в рамках добра, так что требовать от меня вы ничего не можете. 
Если надо что-то изменить — попросите, будет время и желание — сделаю.

Исходный код w32.dll не менялся вообще, у ffi я внёс минимальные изменения в заголовочный файл чтобы всё собралось.
Возможны некоторые косяки с изменением размера данных в w32.dll, ранее я ей никогда не пользовался. Проверяйте.
хотя судя по этой теме, проблем скорей всего вообще не будет, обрезать данные можно:
https://stackoverflow.com/questions/1822667/how-can-i-share-hwnd-between-32-and-64-bit-applications-in-win-x64

Исходники брал с гита.
ссылки:
ffi - 
www.dropbox.com/s/mqtpqyhi4b35lcq/ffi.dll?dl=1

w32 -
www.dropbox.com/s/1b6kb98uiad7pnc/w32.dll?dl=1
ps: собирал на windows 10, на более ранних скорее всего не взлетит у вас.
  • обсудить на форуме:
  • Quik Lua

Судак-Тудак (робот)

Алгоритм данной торговли был описан уважаемым Гном  (https://smart-lab.ru/blog/499606.php) и, поскольку я являюсь любителем различных теорий Мартингейла и усреднения, написал робота по этой стратегии.

Подробно на алгоритме останавливаться не буду — читайте по ссылке у Гнома, там очень хорошо всё расписано.

Здесь — немного измененная реализация. Отличие в том, что позиции открываются не через равные промежутки цены, а чуть шире: еще должно прийти хотя бы минимальное подтверждение, что дальше не полетит (в данном случае использован вход обратно в канал Боллинджера, но это несложно поменять на что угодно).

Если полетит против нас вертикально, мы хотя бы не будет бессмысленно открывать кучу сделок на мгновенной длинной вертикальной палке.

Итак, представляю: «Судак-Тудак» Универсальный (одновременно для акций и фьючерсов).

Судак-Тудак (робот)

Если хотите добавить инструменты (а они добавляются в массив aTickerList), не забудьте вписать их данные в массивы:



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

Таблица "Открытые позиции". Или как идти в ногу с крупняком?

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

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

Я хотел бы рассказать про наблюдение, которым пользовался ранее, но при его неиспользовании как и многие другие потерял часть капитала на ЛЧИ, в чем себя до сих пор ругаю, и вот сейчас в последние две недели вернулся к нему и убедился еще раз, что торговать по открытым позициям крупных игроков можно и даже нужно, с одним главным условием – есть наличие тренда.

О чем это я? Давайте посмотрим ниже.

Многие, как и я лонговали нефть на ее падении, чего делать не следовало бы. Почему?
Таблица "Открытые позиции". Или как идти в ногу с крупняком?
























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



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

QUIKSharp интегрирован в TsLab

Ничто так не хвалит автора, как воровство заимствование его идей! Случайно обнаружил, что самый удобный и единственный действительно open-source коннектор к Квику QUIKSharp поставляется вместе с TsLab (документация). Но ни в документации, ни в файлах программы нет ни единого упоминания об авторах кода, что является нарушением open source лицензии Apache 2.0. (правда они видимо «забыли стереть» упоминание в файлах Lua)

Хочу напомнить, что недавно благодаря стараниям Prophetic функционал QUIKSharp практически полностью покрыл весь функционал Lua. В проекте 7 контрибьютеров, моих коммитов уже только 1/3 от общего числа, проект открыт для новых авторов. Коннектор абсолютно бесплатный, надежно работает сразу «из коробки» без всяких настроек. В проекте недавно появились примеры использования.

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

Очень подробно разжёвано для чайников по LUA часть2!

    • 19 ноября 2015, 06:39
    • |
    • aura
  • Еще

Расширенная форма оператора for

В расширенной форме оператора for для последовательного получения значений переменной цикла используется вызов итератора. Цикл завершается, когда итератор возвращает nil.

Примечание

Под итератором понимается любая конструкция, позволяющая перебирать элементы некоторого набора. При каждом обращении к итератору он возвращает очередной элемент набора. В Lua итераторы обычно реализуются в виде функций.

Расширенная форма оператора for имеет следующий вид:

for var1, var2, …, varN in <explist> do

… — тело цикла

end

где:

var1, var2, ..., varN — список переменных, получающих значения на каждом шаге цикла. Список может состоять из одной или нескольких переменных, разделённых запятыми. Первую в списке переменную называют управляющей переменной цикла. Когда эта переменная получает возвращённое итератором значение nil, цикл завершается. Остальные переменные на ход выполнения цикла влияния не оказывают;

<explist> — список выражений, разделённых запятыми. Обычно список состоит из единственного выражения — вызова функции-фабрики итераторов. Такая функция возвращает функцию-итератор, состояние и начальное значение управляющей переменной цикла.



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

Очень подробно разжёвано для чайников по LUA часть1!

    • 19 ноября 2015, 06:38
    • |
    • aura
  • Еще

Скрипты на языке Lua

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

Скрипт может быть как очень простым, состоящим всего из одной команды, так и весьма сложным, содержащим десятки, сотни и даже тысячи инструкций. Следующие друг за другом инструкции могут разделяться точкой с запятой (;). Однако это требование не является обязательным, поэтому весь приведённый ниже код является корректным с точки зрения синтаксиса:

a = 1; b = 2

a = 1 b = 2

a = 1;

b = 2;

a = 1

b = 2

Работа с переменными в Lua

Переменные используются для хранения значений в процессе выполнения скрипта.

Имена переменных в Lua

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



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

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