Год уже заканчивается и пора подводить некоторые итоги. Начну свою ежегодную серию итогов со своего хобби – программирование в области финансовых рынков. Увлёкся этим делом в конце 2005-го года. Тогда начал осваивать MQL4 в MetaTrader 4, но, через пару лет, поняв кухню ДЦ, перешёл в QUIK на реальную биржу. Тогда же, начал монетизировать своё хобби. Моя история прошлых лет, если кому интересно.
В статье будет, возможно, много не интересного не посвящённым в программирование, поэтому можете смело прокрутить в «Выводы».
Итоги.
В начале года не было желания что-то программировать. Часто собирался с друзьями. Мой робот в январе ушёл в минус 2% по всему счёту. Робот был настроен только в продажу рынка на деривативах, хеджируя основной портфель акций. В общем-то, это моя основная идея последних двух лет. Звёздный час робота настал в конце февраля. Как раз, когда я уехал из города, робот исправно накапливал продажи на летящем вниз рынке. Тогда я в очередной раз убедился в необходимости автоматизации. На мартовской экспирации часть средств удалось удачно перекинуть в подешевевшие акции.
Весной пришла печальная новость: переход на 19-тизначные номера заявок, и одновременно, прекращение торговли роботами на QPILE. Данное событие должно было произойти в апреле, поэтому я начал переход с QPILE на QLUA. Разные таблички и индикаторы работали по-прежнему.
В конце марта было не до программирования. Началась самоизоляция, которая внесла ажиотаж в мою основную деятельность по продаже товаров для дома и ремонта.
К середине мая появилось немного времени и желание что-нибудь покодить. 19-значный «конец света» был перенесён на июнь. С переходом на LUA 5.3, перестали работать библиотеки. Т.к. я не профессиональный программист, сделать новые версии я не мог. На форуме QUIK, создал тему: «Куплю и раздам функции для LUA 5.3 x64». Так я познакомился с Сергеем swerg, который, собственно, делал все предыдущие общедоступные версии библиотек и сделал новые версии. Если нужно какое-нибудь нештатное чудо в QUIK, то это к нему. )
На радостях была опубликована новая утилита Автозапуск QUIK QLUA, который не работал на новых версиях QUIK.
Ссылки на библиотеки:
w32.dll – функции WinAPI +управление вкладками: описание и скачивание
lfs.dll – функции для работы с файлами LuaFileSystem: описание скачивание
qvcl.dll – функции для создания визуального интерфейса описание скачивание
В июне шли ожесточённые бои с коллбэками заявок. Оказалось, что они не всегда есть, там, где должны быть обязательно. Но, к середине июня интерес к программированию снова пропал, т.к. на дворе лето, а самоизоляция на исходе. 19-значный «конец света» был перенесён на сентябрь.
В середине сентября интерес снова проснулся. «Конец света» состоялся, но, роботы на QPILE продолжали работать, хотя и частично парализованы отсутствием возможности снимать и переставлять заявки. Мой робот продолжал работать в полупарализованном состоянии после небольших корректировок. Захотелось добавить несколько «хотелок» в Историю позиций. Некоторые полезные «хотелки» подкинули клиенты. В общем, пожеланий оказалось очень много и их реализация была закончена лишь к середине декабря.
Самая моя желанная «хотелка» была — привязка таблиц скрипта к определённой вкладке. У меня обычно открыто несколько таблиц на разных вкладках, и при перезапуске QUIK или скрипта, они бессовестно лезли на первую попавшуюся вкладку. В QPILE параметры таблицы сохранялись в файл настроек *.wnd, а QLUA оказался совершенно не приспособленным. Давно просил об этом разработчиков. Но, «если гора не идёт к Магомету, Магомет идёт к горе». Сергей реализовал необходимую возможность через функцию w32.dll. Мечта сбылась.
Удаление, ширину столбцов, а также положение и размеры таблиц пришлось реализовать через настройки самого скрипта. Теперь таблицы стали максимально управляемыми.
Недели две пришлось биться с метками. Идея была в том, чтобы скрипт знал, какую метку он использует. ID метки присваивается QUIK по порядку от «1» (1,2,3…), и нельзя его задать. Это неудобно, т.к., например, при перезапуске QUIK, скрипт теряет номер своей метки, если, присвоенный QUIK’ом номер, не был записан в файл.
Выводы.
В одном из топиков полугодовой давности, я похвастался, что «моё хобби равно 5.5 млн.р. на счёте» и был за это наказан. В этом году, хобби принесло 43 526р. с учётом донатов Сергею. Что в пять раз меньше чем в 2019 году (219 300р.)
И, так, каким должен быть мой счёт с доходностью 4% над инфляцией?
Получаем: 43526 / 0.04 = 1 088 150 р.
В провинции весомая сумма.
Время наш самый ценный ресурс, как говорит Тимофей. Посчитаем в другом ракурсе. Время, затраченное на хобби ровно 300 часов. Сколько стоил мой час?
Считаем: 43526 / 300 = 145.08р./час (в прошлом году было около 300р./час)
Мало ли это? – Конечно, нет. Я живу в провинции, и пока мои некоторые друзья ишачат на складе за 170р./час, я занимаюсь своим хобби в удобном кресле за 145р./час.
Я никого не подталкиваю к такому хобби. Нужно быть фанатом программирования и трейдинга, т.к. бывают довольно затяжные периоды, когда что-то не получается.
Есть ребята, умней меня, которые сделали из этого хобби неплохой бизнес. Но бизнес, хоть и микроскопический, у меня уже давно. А программирование — хобби на свободное время и желание, без особых обязательств.
К сожалению, в новый год перехожу без своего полноценного робота. Пока пользуюсь калеченным QPILE ботом.
Планы.
Переписать с QPILE на QLUA хотя бы 5 своих разработок. Надеюсь, большинство пожеланий было реализовано в почти прошедшем году и можно заняться чистой реализацией алгоритмов. Через год интересно будет сюда вернуться, и проверить насколько был выполнен этот мотивационный посыл.
Есть у меня планы касательно программирования.
Ближе к началу года перетрём тему.
Стоит ли заниматься всем этим программированием ради каких то 200 тыс в год? По-моему нет