Перейти к содержимому
Все стратегии

Стратегии

Порт CEZLSMA (geraked, MIT): разворот Chandelier Exit + закрытие Heikin-Ashi относительно ZLSMA(50), трейлинг-стоп 50%, сеточные добавления 1.5x, лонг и шорт на LTCUSDT.BINANCE 15м

Итог: Отменено

CezlsmaChandelierZlsmaGridLS

Сводка по итогам

CezlsmaChandelierZlsmaGridLS пыталась повторить эксперт geraked CEZLSMA MT5 на бессрочных фьючерсах Binance LTCUSDT с интервалом 15м: развороты Chandelier Exit фильтруются закрытием Heikin-Ashi относительно ZLSMA(50), используются трейлинг-стопы и усредняющая сетка с множителем x1.5. В самой гипотезе отмечалось, что применимы уроки L167 (точные порты FX терпят неудачу) и L171 (сеточные конструкции терпят неудачу). Кодирование трижды завершалось по тайм-ауту, запуск был прерван с причиной «coding_stuck_3_timeouts», а бэктест, оптимизация и проверка аналитиком не проводились, поэтому жизнеспособность стратегии не оценивалась.

Гипотеза

Построчный перенос экспертного советника MetaTrader 5 CEZLSMA.mq5 v1.6 (MIT лицензия, github.com/geraked/metatrader5, коммит d3eb29c). В оригинале использовался AUDUSD M15. Автору принадлежит заслуга за торговую стратегию. Индикаторы считываются один раз при открытии нового бара: для последнего бара [1] из CLOSED и предыдущего бара [2]. (1) Цена закрытия Heikin-Ashi HA_C = (O+H+L+C)/4 обычной свечи. (2) Chandelier Exit с периодом ATR 1 и множителем 0.75: longStop = highest(1) - 0.75*ATR(1), shortStop = lowest(1)……Показать большеСвернуть

Построчный перенос экспертного советника MetaTrader 5 CEZLSMA.mq5 v1.6 (MIT лицензия, github.com/geraked/metatrader5, коммит d3eb29c). В оригинале использовался AUDUSD M15. Автору принадлежит заслуга за торговую стратегию. Индикаторы считываются один раз при открытии нового бара: для последнего бара [1] из CLOSED и предыдущего бара [2]. (1) Цена закрытия Heikin-Ashi HA_C = (O+H+L+C)/4 обычной свечи. (2) Chandelier Exit с периодом ATR 1 и множителем 0.75: longStop = highest(1) - 0.75*ATR(1), shortStop = lowest(1) + 0.75*ATR(1); каждый уровень обычным образом сдвигается только в сторону ужесточения. Направление меняется на длинное, когда close > предыдущего shortStop, и на короткое, когда close < предыдущего longStop. Буфер покупки CE_B хранит значение longStop ONLY на баре, где направление меняется на длинное (0 в остальных случаях); CE_S делает то же для продажи. Разработчик должен в точности воспроизвести Indicators/ChandelierExit.mq5 geraked, включая настройку useClose. (3) ZLSMA(50): lsma = linreg(src, 50, 0), lsma2 = linreg(lsma, 50, 0), ZLSMA = 2*lsma - lsma2. Вызов EA передаёт второй аргумент 'true', который в ZLSMA.mq5 geraked задаёт цену закрытия Heikin-Ashi в качестве источника. Воспроизведите этот файл. Перевод площадки: исходный инструмент FX заменён на бессрочные контракты BINANCE USD-M, поскольку стратегия открывает длинные и короткие позиции и использует маржу (MarginLimit 300%). Выбран LTCUSDT: это ликвидный инструмент с небольшой долей в нашем наборе данных и многолетней историей 15m на Binance (15m неприменим на Hyperliquid, а глубина рынка для OKX 15m не подтверждена). BINANCE превышает квоту; мы принимаем это из-за требования к истории в 15m. Расстояния в пунктах пересчитываются относительно цены: SLDev = 650 пунктов для AUDUSD (около 0.0065 при цене ~0.68) преобразуется в 0.95% цены. Отключённые в исходнике настройки остаются отключёнными: News=false, SpreadLimit=-1, EquityDrawdownLimit=0, MultipleOpenPos=false, Reverse=false, GridTrailingStopLevel=0. Увеличение позиции после убытка по умолчанию отключено. Комиссии: тейкерская комиссия Binance USD-M 0.05% за каждую сторону каждой рыночной заявки, включая каждое добавление в сетку. Внимание: точное воспроизведение сохраняет риски исходника. Наши обобщённые выводы L167 (точные переносы скриптов с нулевой комиссией/FX терпят неудачу) и L171 (стратегии с сеткой и запасом актива терпят неудачу) применимы напрямую. Это заранее зарегистрированная точная репликация, результат которой должен определить бэктест; это не утверждение о наличии преимущества.

Итерация 2 устраняет тайм-аут песочницы слоя -3 без изменения торговой логики. (1) Затраты на бар росли вместе с историей: на каждом баре с открытой корзиной базовая функция _close_pending() обходила cache.orders() (все когда-либо созданные ордера), а корзина отменяла и повторно выставляла ордера трейлинг-стопа / TP / сетки на каждом баре, поэтому кэш ордеров рос примерно на 2 ордеров за бар. Результат — O(n^2). (2) Теперь проверка ожидающего закрытия корзины просматривает только cache.orders_open() (несколько……Показать большеСвернуть

Итерация 2 устраняет тайм-аут песочницы слоя -3 без изменения торговой логики. (1) Затраты на бар росли вместе с историей: на каждом баре с открытой корзиной базовая функция _close_pending() обходила cache.orders() (все когда-либо созданные ордера), а корзина отменяла и повторно выставляла ордера трейлинг-стопа / TP / сетки на каждом баре, поэтому кэш ордеров рос примерно на 2 ордеров за бар. Результат — O(n^2). (2) Теперь проверка ожидающего закрытия корзины просматривает только cache.orders_open() (несколько ордеров). (3) Отложенные ордера обрабатываются через _sync_orders(): целевой набор (тип, сторона, количество, цена с точностью инструмента) сравнивается с открытыми ордерами, отмена и повторная подача происходят только при изменении набора. Теперь работа на бар составляет O(zl_period + открытые ордера) и не зависит от длины бэктеста. Сохранено баровое приближение из итерации 1: таймер 30 секунд в EA заменён на стоп- и лимитные ордера, выставленные на бирже и повторно оцениваемые при каждом закрытии 15м-свечи. Оговорка (согласно L167/L171): точный порт сеточной стратегии из скрипта FX должен испытывать трудности из-за комиссий Binance; вердикт вынесет бэктест.

coding_stuck_3_timeouts

Реализация

Точный порт geraked CEZLSMA v1.6 (MIT) на LTCUSDT.BINANCE 15м. Вход при развороте Chandelier Exit (ATR(1) на свечах Heikin-Ashi, множитель 0.75), фильтр — закрытие HA относительно ZLSMA(50) от закрытия HA. Расстояние SL = стоп CE −/+ 0.95% цены, риск 3% с размером позиции ограничен маржой 3x. Одна позиция: трейлинг-стоп 50%. Сетка: добавления объёма 1.5x через каждый pd против корзины; закрытие корзины TP при риске первой позиции плюс издержки. Закрытие при пересечении HA/ZLSMA, когда чистая прибыль корзины положительна.

История итераций

sandbox_timeout: проверка не пройдена (слой 3 — бэктест в песочнице): дымовой тест превысил лимит времени 300с на окне около 20000 баров (208 дней по LTCUSDT.BINANCE-15-MINUTE-LAST-EXTERNAL). Почти всегда это означает, что объём работы на бар растёт с историей — например, полный повторный просмотр ряда финансирования/дополнительных данных или создание списка и вызов min()/sorted() внутри calculate_signal()/on_bar() на каждом баре. Заранее отсортируй массивы временных меток ONCE в __init__ и используй bisect либо кэшируй запросы по временной метке, чтобы стоимость обработки бара была O(log n), а не O(n).

Сводка по итогам

Построчные порты многофайловых экспертов MT5 (пользовательские индикаторы, а также логика сетки, трейлинга и объёма из EAUtils) могут оказаться слишком объёмными, чтобы завершить их в пределах лимита времени на кодирование; поэтому сократи объём переноса или раздели работу до начала кодирования.

Запуск прервали на этапе кодирования с причиной «coding_stuck_3_timeouts» после 3 итераций. До проверки, бэктеста, его анализа, оптимизации, аналитической и риск-проверки дело не дошло.

Точный порт эксперта geraked MIT-лицензии MT5 CEZLSMA v1.6, перенесённый с AUDUSD M15 на бессрочные фьючерсы LTCUSDT.BINANCE 15м: вход в лонг или шорт при смене направления Chandelier Exit (ATR 1, x0.75), подтверждённой закрытием Heikin-Ashi относительно ZLSMA(50); используется трейлинг-стоп 50% и усредняющие добавления в сетку x1.5. Гипотеза зарегистрирована как тест репликации, а не как утверждение о наличии преимущества.

Данных о результатах нет: отчёт бэктеста пуст, отчёт об оптимизации не создан, поэтому отсутствуют показатели доходности, Шарпа и числа сделок.

Анализ

CEZLSMA

Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.