Блог им. hobbit

Тестер для конструктора роботов Lbot3D. Ч1. Нужна обратная связь

 О конструкторе роботов 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.

[Si_A1]
Security = SiH5, SPBFUT, Si_m15, A1   // инструмент, класс, график цены, стратегия
OpenLong = {Close, 1} > {Si_m15_mr, 1}   // Открытия лонга по предыдущей свече
OpenShort = {Close} < {Si_m15_mr}   // Открытие шорта по текущей свече
Reverse = Y  // Необходимо для переворота позиции

[ED_A2]
Security = EDH5, SPBFUT, ED_h, A2
OpenLong = {Close, 1} > {ED_h_mr, 1} 
OpenShort = {Close, 1} < {ED_h_mr, 1}
Reverse = Y

Не требуется быть программистом. Заменим логику стратегии. Только в лонг. Стоп-лосс и тейк-профит укажем в процентах от цены.

[Si_A2]
Security = SiH5, SPBFUT, Si_m15, A2 
OpenLong = {Close, 1} > {Si_m15_mr, 1}
StopLoss = 0.3%
TakeProfit = 0.5%, 0.3%, 0.2%

Знакомые с Lbot3D https://www.xsharp.ru/ и старым тестером к нему, найдут много нового. Прежде всего — добавлена возможность работать одновременно с графиками (свечи + индикаторы) разных активов (инструментов).

Результаты тестирования (эквити) выводятся теперь в рублях, с учетом заданного размера позиции (WorkSize). Если актив в иностранной валюте, то берется текущий курс. При одновременном тестировании нескольких стратегий, все сделки с результатами сохраняются в отдельных табличных файлах. Чтобы учесть потери при возможном проскальзывании, можно задать опцию OpenSlippage. Она учитывается как при открытии, так и закрытии позиции.

Скачать тестер: https://cloud.mail.ru/public/8R8B/3wExc2sRn

Ставьте лайки. Готов ответить на любые вопросы. С наступающим НОВЫМ ГОДОМ!

Продолжение следует.






★2
5 комментариев
Недавно добавил возможность вызывать внешние функции для сложных операций и вычислений. Функции придется писать самому. Но есть встроенные в Lua. Например math.abs(),.. 
avatar
 Есть еще в примерах функция time. Сам активно использую. Например, открыть позицию в интервале между 11:00 и 16:00
OpenLong = {ED_m15_mg, 1} > {ED_m15_mr, 1} and{ext.time, 1} > 1100 and {ext.time, 1} < 1600
avatar

Хоббит, считайте СЛосс правильно. СЛ зависит от тайма (размер свечи) и размера фрактала (угла накопления в кол-ве свечей ). для тайма 15 мин и 5 свечей СЛ равен 0.1% от цены. Для тайма 1 час = 0.2%.Для 4х час = 0.4 %. Это из нормы прибыли как 2\1 типа 2 части профит, а 1 часть убыток.Также и размер участия в сделке. Для фрактала 5 свечей день тайм участие 25% от счета. Час тайм 6%. 4х час 12%.

avatar

ezomm, 
кто-то так не считает:

smart-lab.ru/finansoviy-slovar/stoploss

avatar
XXM, Я даю только свои идеи и открытия. Этого нет в книгах. Любой может придумать свое. Мой аргумент такой. За 4 тайма размер свечи удваивается. Система основана на размере средней свечи тайма.
avatar

теги блога Хоббит

....все тэги



UPDONW
Новый дизайн