Избранное трейдера Classic
Пока правящий класс не покладая рук удешевляет мой труд и обесценивает мои накопления, я избавляюсь от его поганых фантиков, покупая золото. Для этого у меня есть табличка, которую периодически обновляю. Сегодня освежил данные и делюсь ими со своими дорогими читателями:
Ссылки на цены в табличке:
https://www.goznakinvest.ru/product/1
https://www.sberbank.com/ru/person/mon#/coin/5216-0060?condition=1
https://www.sberbank.com/ru/person/mon#/buyout
https://coins.rshb.ru/p/5216-0060%D1%81/pobedonosec-spmd-50-rub-zoloto-999-00-7-78-ac
https://www.goznakinvest.ru/product/5
https://www.sberbank.com/ru/person/metall?tab=archive
https://coins.rshb.ru/ingots/p/gold-ingot-10/zolotoj-slitok-10-g
https://www.moex.com/ru/issue/GLDRUB_TOM/CETS
Итого, лучшие инструменты:
Физическое золото — слиток Гознака
Бумажное золото — GLDRUB_TOM
Если эта информация полезна, посигнальте лайком. Буду обновлять чаще.
--------------------
Оригинал — в дзене с зеркалом в телеге
Пока не ушли далеко от темы получения данных из таблицы текущих торгов решил сделать в качестве примера еще и простой скринер акций. Это вполне доступно по тем материалам, которые мы уже прошли. Будем отслеживать динамику изменения цены относительно цены закрытия предыдущего дня.
Нам понадобятся:
1. Таблица для вывода данных (строить уже умеем).
2. Получение данных из таблицы текущих торгов через getParamEx (проходили там же).
3. Тикеры бумаг. Можно взять конкретный список бумаг и работать с ним, но приятнее и правильнее, чтобы скрипт мог автоматом выгружать все торгуемые тикеры из терминала и далее уже отслеживать их динамику. Попробуем это реализовать.
Через sec_list = getClassSecurities(«TQBR») можно получить строку с тикерами акций на Московской бирже, которые будут разделены запятыми. Чтобы пройтись по всем элементам и записать их в массив используем цикл:
for TIKER in string.gmatch(sec_list, "[^,]+") do tikers[#tikers + 1]=TIKER end
Отслеживать будем параметр LASTCHANGE – процент изменения цены от цены закрытия:
Сегодня дополним наш алгоритм советника следующими пунктами:
1. Пропуск «поздних» сигналов на старте.
2. Обработка советником обрыва связи.
3. Сохранение сигналов и логов в файл.
Еще один пункт, связанный со временем, который был выбран для апгрейда советника – это пропуск сигналов на старте, если запуск скрипта состоялся не в начале торговой сессии (например любой старт после 10:30). Это может быть полезным, если выбрана активная внутридневная стратегия и сигналы полученные на старте скрипта, например в середине дня, могут быть уже не актуальными (с низким потенциалом прибыли) и лучше дождаться новых. Т.е. необходимо разделить сигналы на те, которые сгенерировались на старте и остальные сигналы, которые будем далее брать в работу. Сигнал на старте может закрыться (по обратному/сигналу выхода) и если переоткроется снова, то его уже можно брать в работу как новый.
В нашем скрипте сигналы по каждому инструменту (массив signal) ранее могли принимать значение:
0 – вне позиции по инструменту
1. Путин подписал закон «О внесении изменений в части первую и вторую Налогового кодекса Российской Федерации, отдельные законодательные акты Российской Федерации и о приостановлении действия абзаца второго пункта 1 статьи 78 части первой Налогового кодекса Российской Федерации».
Чем важен этот закон для инвесторов:
1.1. До подписания закона, депозитарии удерживали НДФЛ с купонов, которые поступали на счет физических лиц, теперь функцию налогового агента по купонам переходит к брокерам. Это значит, что теперь НДФЛ на купоны будут удерживать не в момент выплаты, а в конце года, или при выводе денежных средств с брокерского счета.
1.2. Закон исключил двоякую трактовку в вопросе налогообложения купонов по облигациям. Налог на доход физических лиц (НДФЛ) будут удерживать с купона «справедливым порядком» — учет уплаченного накопленного купонного дохода (НКД) будет производиться при выплате первого купона. Данный пункт вступает в силу в течение одного месяца с момента публикации закона, но не ранее следующего налогового периода, то есть с 1 января 2024 года. НДФЛ брокер будет обязан удерживать по итогам года или при выводе средств на банковский счет (обналичивании) или при закрытии брокерского договора.
В прошлый раз был создан советник, который по минимальной торговой логике давал нам некие сигналы на лонг/шорт. Но было что улучшать и, может, далеко не все пункты кто-то захочет включить в алгоритм собственного советника, но в учебных целях мы поэтапно рассмотрим каждый, чтобы было понимание как это можно реализовать.
Сегодня дополним скрипт теми пунктами, которые были связанные с обработкой времени:
Прежде всего начала сделаем правильное отображение цифровых данных.
В прошлых примерах все данные в скрипте выводились в формате строки.
При внимательном рассмотрении можно было заметить, что число выравнивалось по левому (как текст), а не правому краю (как число) ячейки.
Типы всегда можно посмотреть по функции AddColumn в файле QLUA (говорили об этом ранее) по запросу «Функции для работы с таблицами Рабочего места QUIK»:
Тип данных в колонке:
QTABLE_INT_TYPE – целое число,
Продолжаем изучение qlua, cегодня:
Интегрируем таблицы в структуру скрипта qlua.
Удаляем таблицы через DestroyTable.
Останавливаем скрипт через IsWindowClosed.
Обработка события закрытия таблицы через коллбэк.
Работа с цветом SetColor, Highlight, SetSelectedRow.
Пишем простого советника.
В прошлый раз мы рассмотрели как с помощью qlua создать таблицу в торговом терминале и заполнить её информацией из таблицы текущих торгов. Но это была статичная табличка, чтобы её «оживить» нужно разместить операции с нашей таблицей внутри структуры скрипта в функции main.
Саму таблицу мы можем создать до цикла while и внести неизменяемые данные (в нашем случае тикер и наименование бумаги), а уже заполнить цифрами и обновлять внутри цикла. Пока будет работать скрипт таблица будет обновляться.
function OnInit() tikers = {"GAZP", "SBER", "VKCO"} progname = "mytable :" timeout = 5000 end function OnStop() do_it = false message(progname.." Финиш.") end function main() message(progname.
Добрый день, друзья!
После пятничного решения ЦБ РФ, который сразу же на 100 б. п. (до 8,5%) повысил ключевую ставку, только ленивый аналитик не бросил в сторону регулятора камень за то, что тот слишком быстро закручивает гайки в борьбе с инфляцией.
С одной стороны, недовольство соотечественников решением Центробанка является абсолютно понятным: ведь повышение ключевой ставки означает рост процентных расходов по кредитам для физических и юридических лиц.
В то же время, предлагаю разобраться: а мог ли Центробанк поступить иначе?
Сначала давайте ответим на следующий вопрос: хотим ли мы, чтобы российская казна финансировала за счёт золото-валютных резервов биржевых спекулянтов, зарабатывающих на схемах «кэрри трейд»?
Предпосылки для подобных спекулятивных схем складываются в том случае, когда процентная ставка регулятора становится ниже инфляции (финансисты в этом случае говорят об отрицательной реальной процентной ставке).
В этом случае Центробанк «бесплатно» кредитует спекулянтов в силу чего начинает раскручиваться «турецкий сценарий» с десятками процентов годовой инфляции и жесточайшей девальвацией национальной валюты.
В сложившейся ситуации покупка иностранных бумаг сопряженно с рисками, но деньги в валюте под подушкой «съедает» инфляция.
Наулучшим образом для себя, я считаю, вложения в облигации российских компаний номинированные в валюте (еврооблигации)
На российском рынке торгуются два фонда на еврооблигации:
YUAN — фонд от Ингосстраха, комиссия 0.4%
SBCN — фонд от Сбера, комиссия 0.7%
Фонд от Сбера инвестирует в облигации не ниже B-, фонд от Ингосстраха инвестирует в облигации не ниже BB.
Фонды «молодые» доходность их:
SBCN 25.84% за полгода
YUAN 13.63% за 2 месяца
Сегодня рассмотрим:
1. Получение биржевых данных через функцию getParamEx
2. Выгрузка списка параметров функции getParamEx через DDE из торгового терминала
3. Создание пользовательских таблиц в торговом терминале
Одна из особенностей работы через квик это то, что можно получать достаточно большой объем биржевой информации по интересуемым инструментам. Большинство других платформ для алгоритмической торговли и терминалов в РФ будут выдавать только цену открытия, максимум/минимум дня, последнюю цену, цену закрытия, объемы по инструментам и максимум еще 3-5 каких-то дополнительных пунктов. В распоряжении тех, кто использует qlua огромная матрица параметров таблицы текущих торгов.
Получить их можно через функцию getParamEx:
getParamEx(код класса актива, инструмент, параметр), где:
код класса: например в случае акций это «TQBR», а в случае срочного рынка «SPBFUT».
инструмент: тикер.
параметр – один из параметров для соответствующей группы инструментом (об этом подробнее ниже).
Функция возвращает таблицу со следующими полями: