В середине 2015-го года я сделал простую, но достаточно функциональную утилиту для копирования сделок на языке программирования QPILE, потому, как новый язык программирования QLUA тогда имел много багов и недоработок. Программа оказалась популярна среди частных управляющих, как альтернатива сервисам автоследования COMON, EasyMANi и пр.
С течением времени появлялись новые пожелания по доработке существующего дубликатора. Однако, в связи с отсутствием возможности перестановки и удаления заявок на срочном рынке для языка QPILE, пришлось написать совершенно новую программу.
Почти четыре месяца назад, 18 декабря, начал разработку новой программы для копирования сделок для QUIK. Предыдущую программу на QPILE я написал менее, чем за месяц. Сначала рассчитывал сделать за пару месяцев, но проект оказался сложнее раза в два, чем предполагал. Ушло более 100 часов работы над программным кодом. Потом, часов 10 на описание. Пишу программы не каждый день и в своё удовольствие.
MA Color — это модифицированная скользящая средняя, которая меняет цвет в зависимости от направления тренда.
Индикатор помогает визуально определять направление тренда, особенно на мелких таймфреймах.
Settings = { Name = "MA Color", MAPeriod = 29, -- Период MA MAType = 0, -- Тип усреднения (0 = SMA, 1 = EMA, 2 = SMMA, 3 = LWMA) line = { { Name = "MA Up", -- Линия роста MA Color = RGB(0, 255, 0), -- Зелёный (рост) Type = TYPE_POINT, Width = 2 }, { Name = "MA Down", -- Линия падения MA Color = RGB(255, 0, 0), -- Красный (падение) Type = TYPE_POINT, Width = 2 } } } -- Функция расчёта скользящей средней (без рекурсии) function MovingAverage(index, period, matype) if index < period then return nil end -- Проверяем, есть ли достаточно дан
До поры, до времени, каждый куда-то и в чем-то растет. Кое-кто все еще в длину. Очень многие в ширину. Есть профессиональный рост. Как вы думаете, кто был первый Java-программист в России? Без ложной скромности отвечу — я. На Java 0.9 начал программировать в ноябре 1996го. Появился, известный для своего времени, сервер (приложений и БД) — https://www.itweek.ru/idea/article/detail.php?ID=53982. После приглашения в США рост притормозился. Точнее трансформировался. Стал наемным прогером, выполняющим чужие хотелки.
Последние 3 года, рост наблюдался только в трейдинге (с перепадами). Приобрел Конструктор роботов Lbot3D 2 года назад (1го ноября 2022го). Нужен был именно конструктор. Рано или поздно, каждый трейдер приходит к своей стратегии. Чаще, постоянно идет ). От одной стратегии к другой. Да и саму стратегию требуется адаптировать. Под новые инструменты и волатильность. Показалось, копипастить текстовые фрагменты из блоков в Лбот гораздо проще и быстрее, чем перетаскивать отдельные блоки в ТСЛаб. Для написания инструкции Лботу, не нужен терминал. Текстовый редактор Notepad++ подойдет.
О конструкторе роботов Lbot3D помнят и слышали многие смартлабовцы https://smart-lab.ru/tag/lbot/. Расскажу о тестере стратегий, поддерживающем тот же язык Lbot3D. Он тоже написан на Lua и работает под управлением терминала QUIK. История о том, как я его использовал в качестве трейдера и дорабатывал, как программист, будет позже. Сейчас о функциональных возможностях. Нужна обратная связь. Для дальнейшей правки и усовершенствования.
Текущая версия тестера получила название LbotTest_2025. Ссылка для скачивания внизу. Там есть документация. Главное преимущество тестера над Lbot3D -для проверки стратегий не требуется демо-режим. Тем более — реальный. Можно работать даже в праздники ). Его достаточно, чтобы понять основные возможности Lbot3D. Сконструировать свои стратегии и проверить их на истории.
Пример LbotTest.ini файла, описывающего простейшую стратегию, на пересечении ценой скользящую среднюю. Проще некуда. Копипастом можно наплодить много таких стратегий. Меняя идентификаторы для разных инструментов и таймфреймов. Здесь Si_m15_mr — обозначение скользящей средней на 15-минутном графике для Si. ED_h_mr – скользящая средняя на часовом графике для ED.
Хотели робота, который закрывает все сделки в плюс? Такой есть у меня. Речь пойдёт о стратегии «Парковщик средств». Тестирую с начала года, результатом доволен. До использования робота у меня постоянно валялись несколько сотен тысяч рублей для резерва на покупку акций или других роботов. При ставке более 15% мне показалось это непозволительной роскошью и я создал эту простейшую стратегию. И, так, встречайте!
Торговая система позволяет автоматически размещать свободные средства на счёте в фонды ликвидности, ОФЗ и в прочие долговые инструменты. Например, нам нужен постоянный остаток средств на счёте 100т.р. Если сумма больше, к примеру, 110т.р., робот купит на сумму 10т.р. необходимое количество паёв фонда ликвидности. Если остаток средств будет менее 100т.р., к примеру, 90т.р., робот продаст купленные паи на 10т.р., чтобы привести счёт к заданному свободному капиталу 100т.р. Размер свободного капитала указывается для комфортной работы других роботов или ручной торговли собственными стратегиями. Если иная торговля не предусматривается, можно указать свободный капитал, условно, 10т.р. и робот будет докупать паи или ОФЗ при пополнении счёта или поступлении дивидендов.
Настало время представить одну из самых успешных и «не убиваемых» торговых систем.
Ранее, я публиковал подобную систему только для покупателей робота, но описание было недостаточным и слишком общим. Соответственно, было много просьб опубликовать материал с подробным описанием.
Сложность системы я оценил 5 из 5, поэтому, если Вы не хотите напрягать свой мозг, лучше сразу закройте эту страницу. Будьте готовы к ошибкам, потерям на счёте, а также, нескольким дням изучения (возможно в пустую).
Торговая стратегия включает в себя основы арбитража и маркетмейкинга.
Торговля на финансовых рынках – самый конкурентный способ заработка. Это очень хорошо будет видно после понимания алгоритма этой системы.
Представленный вариант использования далеко не самый удачный. Арбитраж фьючерса и акции ГМК Норникель слишком очевиден и популярен, чтобы на нём можно было бы зарабатывать. Поэтому, выбрать более свободную поляну для сбора урожая Вам придётся самостоятельно.
Удобство реализации стратегии в роботе (юзабилити) не самое удачное. Например, можно было просто указывать процент без огромной формулы. Но максимальная универсальность робота важнейший фактор. Рано или поздно, потребуется добавление какой-либо возможности и Робот Сетка LUA, скорее всего, будет готов к её реализации.
Пожалуй, самая незаменимая в моей торговле разработка Утилита для QUIK «История позиций». Придумал в 2009-м, запрограммировал на QPILE, затем перевёл на QLUA. Программу писал для себя, не под заказ и по своим идеям. Продажи данной программы никогда не отличались большим количеством и стабильностью. Поэтому, считаю её самой недооценённой из десятков своих разработок. Попытаюсь донести полезность утилиты из реальных примеров использования.
Недавно выпустил обновление 20241024.
✅ Учёт комиссий для фондовой секции теперь разделён на биржевую и брокерскую.
✅ Учтена разница комиссий мейкерских и тейкерских заявок.
На скрине видно, как распределяются комиссии биржи и брокера. Сверил с отчётом брокера – всё сходится. Программа сразу рассчитывает и выводит информацию о комиссионных затратах. Напомню, в терминале QUIK информация о биржевой комиссии урезана, а брокерская и, вовсе, недоступна.
✅ Учёт информации о позиции без ограничений.