Избранное трейдера Classic
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».
инструмент: тикер.
параметр – один из параметров для соответствующей группы инструментом (об этом подробнее ниже).
Функция возвращает таблицу со следующими полями:
У меня случился форсмажор, затопил соседей. Решил на будущее купить страховку от таких случаев. Знаю, что уже поздно, но, как говорится, "лучше поздно, чем никогда!".
Существует множество всевозможных страховок и в данной статье попробую разобраться, какую из них выбрать, чтобы не беспокоиться о внезапном затоплении соседей.
История такая — сижу на работе, звонит тетка из управляющей компании и сообщает, что я топлю соседей. Я «лечу» домой и действительно, у меня потек полотенцесушитель. Сам дом — новостройка, живу второй год в нём, но уже не первая проблема с сантехникой, пару месяцев назад тек счётчик, его поменял без негативных последствия для квартиры снизу. В этот раз легко не отделался...
Во-общем, сантехники воду перекрыли, но я успел уже затопить соседку. Спустился к ней узнать, какой ущерб я нанёс и какие расходы по возмещению меня ожидают. После её фразы «я посоветуюсь со своим юристом» на вопрос о нужной сумме я понял, что вся история только начинается.
Продолжаем погружаться в основы языка. Сегодня рассмотрим:
Циклы for … do… end
while do … end
repeat … until
sleep
Как пройти весь массив циклом
Как пройти таблицу по ключам и значением
break
goto
Локальные и глобальные переменные
Функции
Получение даты и времени
Получение данных через getInfoParam
Цикл for … end
for index = start, end, step do -- start – начало отсчета, -- end – конец отсчета, step - шаг -- тело цикла end
Пример:
for i = 1, 10 do -- пройтись от 1 до 10 c шагом 1 (по умолчанию)<br /> message("i="..i) -- вывод i<br /> end
Можно задать шаг:
for i = 1, 10, 2 do -- пройтись с 1 до 10 с шагом 2 message("i="..i) end
Цикл while do...end
while (условие) do -- тело цикла end
Выполняет тело цикла, пока соблюдается условие. Если условие на старте не соблюдается, то цикл не запустится.
Пример:
a = 1 while a < 9 do a = a + 1 message(tostring(a)) end
Цикл repeat … until