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

по

Опыт доработки QLua-скриптов для QUIK 8.5.2

    • 15 мая 2020, 16:29
    • |
    • _sk_
  • Еще
В новой версии терминала QUIK 8.5.2 произведён апгрейд языка Lua для написания торговых скриптов с версии 5.1 до версии 5.3. Это нужно для того, чтобы корректно обрабатывать 19-значные номера заявок и сделок на срочном рынке МосБиржи. Типа number в Lua 5.1 не подходит: там все числа хранятся как double, соответственно целые числа до 2^53 = 9 007 199 254 740 992 записываются без потери точности, а 19-значные номера заявок и сделок будут больше этой границы.

Версия Lua 5.3 обратно несовместима с Lua 5.1. Я почти не использовал внешние библиотеки и для меня было два важных изменения: отказ от module (это было сделано в версии 5.2) и введение целочисленной арифметики (версия 5.3).

Для избавления от использования module пришлось переработать много кода, хотя изменения были несложные. Приведу пример. Раньше был такой код Arrays.lua для работы с массивами:

--
-- Выполнение действий с массивами.
--

local pairs = pairs
local type = type

module(...)

--- Создать копию массива (таблицы)
-- @return копию массива (таблицы)
function copy(array)
    local copy_array = {}
    if type(array) ~= "table" then
        return array
    end
    for k, v in pairs(array) do
        if type(v) == "table" then
            copy_array[k] = copy(v)
        else
            copy_array[k] = v
        end
    end
    return copy_array
end

--- Узнать, начинается ли индексация в массиве с нуля или с единицы.
-- @return 0 или 1
function base(array)
    if array[0] ~= nil then
        return 0
    else
        return 1
    end
end

--- Вычислить число элементов в массиве.
-- @return число элементов в массиве
function size(array)
    local n = 0
    for _, _ in pairs(array) do
        n = n + 1
    end
    return n
end

--- Проверить пустой или нет массив.
-- @return true/false
function isEmpty(array)
    for _, _ in pairs(array) do
        return false
    end
    return true
end

--- Получить первый индекс массива, где ничего не записано. Поиск начинается с 1.
-- @return первый индекс массива, где ничего не записано
function firstEmptyIndex(array)
    local i = 1
    while array[i] ~= nil do
        i = i + 1
    end
    return i
end


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

Работа "XoraX робота" за 14.05.2020 на brent

    • 14 мая 2020, 21:17
    • |
    • XoraX
  • Еще
Решил опубликовать брокерский отчёт жены. Сам не захожу на рынок, просто нет времени, много работы.

yadi.sk/i/87AhXi8AcMKi-g отчёт в pdf

Работа "XoraX робота" за 14.05.2020 на brent

Работа "XoraX робота" за 14.05.2020 на brent

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

Дивидендные акции REIT, которые любят инсайдеры!

Для начала, что такое REIT ?

REIT — сокращение от Real Estate Investment Trust — это компания, которая получает доход от аренды и управления недвижимостью в различных секторах экономики: гостиницы, офисы, промышленность, ритейл, здравоохранение, дата-центры.

Такой инструмент был изобретен в 1960х годах в США для открытия возможности инвестировать в коммерческую недвижимость небольшие суммы денег частных инвесторов. Акции некоторых публичных REIT сейчас торгуются ниже 10 долларов/шт. То есть на 1000 долларов вы можете купить кусочек коммерческой площади на Манхэттене и сдавать его в аренду, получая регулярные дивиденды. Таким образом сегодня множество американцев хранят свои пенсионные накопления в REIT компаниях и получают пассивный доход. Владение акциями REIT  приносит пассивный доход



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

QLua: таблица крупных "склеенных" обезличенных сделок

    • 03 апреля 2020, 15:06
    • |
    • _sk_
  • Еще
Иногда хочется наблюдать за ситуациями, когда участники торгов исполняют по рынку крупные заявки. Конечно, можно смотреть на обычную ленту обезличенных сделок с настроенными фильтрами на размер сделки, но ведь можно написать специальный QLua-скрипт, который будет отбирать сделки, являющиеся результатом исполнения.

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

Если суммарный объём не менее какой-то границы, которую можно задать для каждого инструмента индивидуально, такие «склеенные» сделки выводятся в таблице. В ней указаны:
— суммарный объём;
— количество обезличенных сделок, которые были склеены;
— начальная цена и конечная цена;

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

Полный Список котируемых на бирже из Перечня 646, которых будут спасать.

    • 02 апреля 2020, 14:25
    • |
    • nevil
  • Еще

Полный Список котируемых на бирже из

опубликованного Перечня 646 системообразующих, которых будут спасать.

Если кого вдруг пропустил, — дополняйте.

Присутствие в перечне, вероятно, будет означать:

  • Помимо возможности претендовать на господдержку,
  • мораторий на банкротство в ближайшие полгода — такой пункт есть в проекте постановления правительства, которое подготовило Минэкономразвития.

12

ПАО «НОВАТЭК»

16

ПАО «Газпром нефть»

17

ПАО «Газпром»

18

ПАО «ЛУКОЙЛ»

19

ПАО «Нефтяная компания „Роснефть“

20

ПАО „Сургутнефтегаз“

21

ПАО „Татнефть“ имени В.Д.Шашина

38

ПАО „Мечел“

45

АО „Московская областная энергосетевая компания“



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

QLua: формирование свечных данных для робота

    • 31 марта 2020, 13:37
    • |
    • _sk_
  • Еще
Поделюсь своим опытом, который может быть полезен начинающим алготрейдерам, пишущим своего робота на QLua.

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

Пример 1. Мы торгуем акции на 30-минутках и при этом не хотим учитывать свечу, которая получается в 9:30 из-за аукциона открытия, и не хотим, чтобы аукцион закрытия портил последнюю свечу дня в 18:30. Хотим только нужные свечи в одном массиве.

Пример 2. Мы торгуем фьючерсы только в дневную сессию, а вечернюю сессию выбрасываем, поскольку наша стратегия в этом случае даёт более приличный график эквити. Хочется иметь «отфильтрованный» свечной ряд.

Пример 3. Мы торгуем американские акции на Санкт-Петербургской бирже и хотим, чтобы время свечей было как в Америке, а не как на бирже, и хотим оставить только основные торги с 9:30 до 16:00 по буржуйскому времени.

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

Отчет СOT по нефти. Что вещает

Отчет СOT по нефти. Что вещает
ПО отчету видно Swap Dealers еще больше сократили лонги, что нас еще протянут в низ, и нефть откупать никто не начинает. Вывод покупать нефть еще рановато.

Выбор Баффета - инвестируем вместе с BERKSHIRE HATHAWAY INC

Anything can happen to stock prices tomorrow. Occasionally, there will be major drops in the market, perhaps of 50% magnitude or even greater. But the combination of The American Tailwind, about which I wrote last year, and the compounding wonders described by Mr. Smith, will make equities the much better long-term choice for the individual who does not use borrowed money and who can control his or her emotions. Others? Beware!
из письма Уоренна Баффета от 22 февраля 2020 года.

Оракул из Омахи прав! Это случилось! Или начало положено...
И что же будет делать фонд BERKSHIRE HATHAWAY INC. с той кубышкой наличности, которая у них есть?!

Каждый может прочитать это в отчётах фонда. Вот небольшая выборка по ценам приобретения активов фонда в прошлых периодах:
выбор Баффета 2019

Есть ли у вас акции из списка выше?!

P.S. Анализирую годовые отчёты 2017 и 2019 годов. Жду отчёта за 1й квартал 2020 ;)




Опционы для новичков. Часть 3

Приветствую вас, уважаемые трейдеры.

С сегодняшнего урока мы погружаемся в более глубокое изучение опционов.

Как я уже рассказывал в первых занятиях – опционы многомерны и имеют несколько «измерений». Эти измерения – поддаются количественному анализу и имеют параметры. Самые важные из них это Греки. Что это такое и «с чем их употреблять»? Наливайте себе чашечку кофе и устраивайтесь по удобнее. Начинаем.

Профиль опциона как бы состоит из двух профилей – профиль на экспирацию (синяя линия) и профиль временной стоимости (красная линия):

Опционы для новичков. Часть 3

Что значит временная стоимость опциона?

 

Это стоимость «страховки», если проводить аналогию со страховыми компаниями. Если вы покупатель – то это та сумма, которую вы платите за страховку от роста (опцион Колл) или падения (опцион Пут) базовго актива (БА).

 



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

Брошенная стратегия. Дневник разработчика.

    • 06 февраля 2020, 16:47
    • |
    • 3Qu
  • Еще
Сегодня окончательно сделал и протестировал DLL. DLL через Lua получает из Quik реал-тайм данные о истории, состоянии текущей свечи, стакане, ленте сделок и пр., и поставляет все эти данные в ТС. Также DLL считает (пока не все) необходимые данные для оценки вектора текущего состояния инструмента, и также передает их ТС. Сама ТС еще не написана, только данные получает. DLL также пишет все получаемые данные в БД Sqlite, где они, при необходимости, доступны ТС.
И, чтобы не быть голословным, картинки.
История, последние 15 записей:
Брошенная стратегия. Дневник разработчика.

Лента сделок, последние 15 сделок.
Брошенная стратегия. Дневник разработчика.

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

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