До поры, до времени, каждый куда-то и в чем-то растет. Кое-кто все еще в длину. Очень многие в ширину. Есть профессиональный рост. Как вы думаете, кто был первый 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.
Вчера у меня это получилось:
Сранья внес очередные правки в Lbot3D в связи с изменение версии Lua c 5.1 до 5.3. по результатам ночных прогонов на демо-QUIK, запустил на боевом счету на удаленном сервере и поехал на весь день за город. День был солнечный, приятный. Вечером результат работы программы тоже порадовал: стратегия MMA0, которая была в шортах с 03.06.2020, стала раздавать лимитированные заявки на покупку-продажу, причем некоторые сделки из них просто прекрасны: продажи на локальных «хаях», покупки на локальных «лоях».
Также примечательна работа стратегии MMB0: лонг от 01.06.2020 не смог реализоваться в плюс (не дошла цена до 2859.1 :(( «ну не шмогла» ) Но и стопа тоже пока нет! Тем не менее, есть повод проработать ее параметры, но это не скоро, пусть проработает еще месяц-другой.
В программе Lbot3D появилась реализация вычисления скользящего экстремума в конкретной стратегии при наличии позиции. Слово «конкретной» звучит потому, что этот самый экстремум можно использовать в других стратегиях из портфеля стратегий. Согласен, это нужно не всем. Скорее так: мало кому он нужен. Тем не менее, продолжу.
Допустим мы придумали стратегию на некотором активе, рассчитанную на тренд:
Покупаем на четверть портфеля. Если цена пошла против нас (пусть на 1%)- стопимся, но если в нашу сторону +1%, то в предположении, что мы тренде, выставим лимитированную заявку на покупку второй четверти на 0.5% ниже достигнутого экстремума: откат вероятен, и после того, как на откате вытряхнут часть пассажиров, (самых пугливых, самых недостойных :)), наш портфель зацепит еще несколько лотов и едем дальше, «на север». Но если первая четверть бумаг размещена в нашем портфеле на «долгосрок», то вторая четверть будет сразу же выставлена на продажу с профитом, например, в 1%.
Не буду утомлять вас теорией, что такое базис применительно к фьючерсным контрактам. А то придется писать такие слова, как «контанго и бэквордация», что, во-первых, скучно, а во-вторых, сильно отдалит нас от темы зарабатывания на рынке, да и оффтопом пахнёт ;)
Решил я торговать фьючерсный контракт на курс доллар США — российский рубль, Si-9.18.
Но торговать руками — это здоровье только портить, поэтому без вариантов — роботом. Готовых правил, конечно, нет: у кого есть, самим не хватает, а аналитиков читать — себя не уважать. Пришлось скачивать склеенный фьючерс с Финама и пытать эти данные на предмет поиска закономерностей ценовых движений. Ничего не нашел (плохо искал?). Попытался учесть нюансы склейки, стало только хуже.
От безысходности скачал котировки USDTOD, подкорректировал комиссию биржи и брокера под фьючерс, перезапустил тестер и voilà:
arqatech.com/ru/about/news/quik-7-10/
Цифры — шок:
Среди других нововведений версии следует отметить увеличение количества сохраняемых «свечек» графиков в локальном хранилище Рабочего места с 3000 до 65000.
Если ранее к тестированию в QUIK можно было относиться как к забаве, то теперь это становится уже интересным делом!
Скачивайте, тестируйте. Будут вопросы — пишите.
Открылась бездна звезд полна; |
Его особенности:
1. Вход и выход из позиций по лимитированным заявкам;
2. Возможность запуска неограниченного количества стратегий на одном инструменте;
Плюс — все возможности предшественника — Lbot.
Пробная версия: Яндекс.Диск
Ограничения:
1. Количество стратегий — одна.
2. Количество лотов — один.
3. Срок работы — да конца 2015 года.
Стратегия на демо-счете видео работала более 4-х часов.
Код стратегии в ini-файле:
[SB_A1]
Security = SRZ5, SPBFUT, PR_sber, A1
WorkSize = 10