Вы верите в мистику? Даже перед Рождеством? Я да. Как можно торговать не веря? Ведь победить рынок невозможно… Впрочем, у нас есть общее. Мы все (почти) не верим Юджину Фаме, выдвинувшему гипотезу эффективного рынка. Иначе, зачем что-то изобретать? Искать неэффективности? Без конца проигрывать...
В свое время опубликовал статью на Смартлабе «О развитии трейдера через его … деградацию». Речь идет об упрощении трейдинга. Уверяю, это тоже развитие (в конкретной области). Это как выработка рефлексов у спортсмена. Переход от хаотичной, сложной, а значит быстро ломающейся, системы, к упорядоченной, упрощенной, а значит более надежной. Первые стратегии, которые ваял на Lbot3D были крайне сложными. Использовал 3D зависимости по полной. То есть срабатывание одной стратегии было сигналом для срабатывания другой. Конечно, у другой были свои дополнительные условия.
Ненадежность проявлялась в ошибках. Несмотря на более упрощенные инструкции языка Lbot3D, в отличие от Qlua. Описание всех условий и зависимостей занимало несколько страниц текста (max>5). Иногда, невозможно было понять почему сработала заявка на покупку (продажу) актива. Ошибка в логике? Или ошибка в описании этой логики? При усовершенствовании системы, в том числе упрощении, ошибки возникнут вновь. Но их будет чуть меньше.
До поры, до времени, каждый куда-то и в чем-то растет. Кое-кто все еще в длину. Очень многие в ширину. Есть профессиональный рост. Как вы думаете, кто был первый 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.
4 года и 4 месяца прошло с выхода поста «Торговый робот на LUA для QUIK» (https://smart-lab.ru/blog/200767.php) про конструктор Lbot. За это время он повзрослел, лишился графического интерфейса и… превратился в младшего брата для Lbot3D. И если раньше для Lbot была пробная версия (с одним инструментом и одним лотом), то теперь, фактически, сам превратился в пробную версию для Lbot3D и, с этого дня, предоставляется в свободное пользование с полным функционалом:
Скачать Lbot180.zip можно тут: drive.google.com/open?id=1DL9jGEBm2Uhk89PcQdlK-ObaOe2zihnx
INI-файл написан для демо-QUIK на 3 инструмента — Сбербанк, Газпром и Лукойл. Стратегия на Газпроме — безиндикаторная, на Сбербанке — на скользящих средних, на Лукойле — на пересечениях MACD.
encoding = "UTF-8" FREQUENCY = 1000 account = NL0011100043, 10110 PositionSize = 300000 xy = 421, 0, 859, 118 ;------------------------------------------------------------------------------- [GAZP] Security = GAZP, QJSIM, Gazp_moex WorkSize = 3 // рабочий объем, в штуках; LossLimit = 100 // ограничение на убыток по стратегии OpenSlippage = 10 // допустимое проскальзывание на сделке, в количестве минимальных шагов цены; OpenLong = {Close, 1} < {High, 2} // цена 'close' предыдущей 'полной' свечи превысила 'high' предшествующего ей бара; OpenShort = {Close, 1} > {Low, 5-2} // цена 'close' предыдущей 'полной' свечи принизила 'low' 5-2 баров; StopLoss = 2 TakeProfit = 3, 1, 1 EOD = 18:29:00 //закрытия позиции в указанное время. autoBot = Y [SBER] Security = SBER, QJSIM, Sber_moex WorkSize = 10 LossLimit = 100 OpenSlippage = 10 OpenLong = {Ema1} > {Ema2} CloseLong = {Ema1} < {Ema2} OpenShort = {Ema1} < {Ema2} CloseShort = {Ema1} > {Ema2} autoBot = Y [LKOH] WorkSize = 2 Security = LKOH, QJSIM, Lkoh_moex LossLimit = 225 OpenSlippage = 10 OpenLong = cross(macd_Lkoh.0, macd_Lkoh.1) OpenShort = cross(macd_Lkoh.1, macd_Lkoh.0) ;OpenLong = {Close, 1} < {Low, 5-2} ;OpenShort = {Close, 1} > {High, 2} StopLoss = 30 TakeProfit = 50, 10, 10 autoBot = Y
arqatech.com/ru/about/news/quik-7-10/
Цифры — шок:
Среди других нововведений версии следует отметить увеличение количества сохраняемых «свечек» графиков в локальном хранилище Рабочего места с 3000 до 65000.
Если ранее к тестированию в QUIK можно было относиться как к забаве, то теперь это становится уже интересным делом!
Скачивайте, тестируйте. Будут вопросы — пишите.
При наличии двух дополнительных файлов- картинок: buy_loss.bmp и sell_loss.bmp, сделки, закрывающие позиции с убытком, будут отображаться этими изображениями.
При наличии двух дополнительных файлов- картинок: buy_profit.bmp и sell_ profit.bmp, сделки, закрывающие позиции с прибылью, будут отображаться этими метками.
Если дополнительных меток не будет, то сделки «купить» и «продать» будут изображаться файлами по умолчанию: buy.bmp и sell.bmp.
скачать: http://www.xsharp.ru/tester