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

Стратегии

Алготрейдинг: Turtle от limin в TqSdk — 20/10-дневный пробой и пирамидинг с фиксированным N на LTC Hyperliquid | Stratmill

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

LiminLtcTickTurtle

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

LiminLtcTickTurtle пыталась воспроизвести пример TqSdk Turtle от limin по лицензии Apache-2.0 на Hyperliquid LTC, исполняя сделки по тикам и сохраняя N и размер юнита неизменными на протяжении каждой кампании. За 3 итераций код так и не прошёл верификацию. Каждый синтетический сценарий Layer-2 завершился сбоем при настройке из-за самостоятельно добавленной проверки, требующей равенства parameters.leverage и config.leverage. Конвейер прервал запуск в цикле верификации, поэтому бэктестинг, оптимизация, проверка аналитиком и проверка рисков не проводились.

Гипотеза

Точно воспроизвести демонстрацию TqSdk Turtle от limin по лицензии Apache-2.0 на указанном коммите, сохранив её фактические правила вместо подмены классическими правилами Turtle. Заменить исходный истёкший золотой контракт SHFE.au2006 на LTCUSD.HYPERLIQUID — линейный бессрочный контракт, допускающий торговлю в обоих направлениях. Значения по умолчанию: donchian_channel_open_position=20, donchian_channel_stop_profit=10, atr_day_length=20 и max_risk_ratio=0.5. Поддерживать буфер дневных свечей на 100 слотов,……Показать большеСвернуть

Точно воспроизвести демонстрацию TqSdk Turtle от limin по лицензии Apache-2.0 на указанном коммите, сохранив её фактические правила вместо подмены классическими правилами Turtle. Заменить исходный истёкший золотой контракт SHFE.au2006 на LTCUSD.HYPERLIQUID — линейный бессрочный контракт, допускающий торговлю в обоих направлениях. Значения по умолчанию: donchian_channel_open_position=20, donchian_channel_stop_profit=10, atr_day_length=20 и max_risk_ratio=0.5. Поддерживать буфер дневных свечей на 100 слотов, включая формирующуюся текущую свечу. Исполнение реагирует на изменения цены последней сделки, а не на дневные цены закрытия. Начать с целевой позиции=0 и last_price=NaN. Пересчитывать параметры при запуске, а затем только при начале новой дневной свечи WHILE FLAT. Пока позиция открыта, N и юнит остаются неизменными, но скользящий канал выхода по 10 завершённым дням продолжает меняться. Для восстановления формирующейся свечи и последовательности исполнения нужны исторические тики сделок; одних дневных OHLCV недостаточно для точного воспроизведения этого примера. При недостатке истории тиков точный эксперимент невозможен; это не даёт оснований заменять его вариантом только на ценах закрытия.

Явный запрос на точное воспроизведение важнее предпочтения не добавлять ещё одну дневную трендовую стратегию. Доля Hyperliquid ниже целевой: 8.0% против 20%; оба направления торговли учитывают концентрацию портфеля в длинных позициях 82.8%. LTC позволяет не добавлять ещё один эксперимент с BTC или ETH; corpus_concentration пуст, поэтому недавнее использование проверить нельзя. Так сохраняются специфичные для исходника фиксированный размер позиции по N и последовательность событий котировок, но стратегия остаётся частью широкого семейства Turtle, уже представленного EtcTurtleDonchianBreakoutLS. Это воспроизведение по запросу, а не заявление о новом механизме. Не следует использовать заявления о доходности или вводить оптимизацию, чтобы улучшить результат воспроизведения.

verification_loop: верификация не пройдена (Layer 2 — синтетические сценарии): Использованные параметры: ['leverage', 'kline_length', 'min_notional', 'atr_day_length', 'max_risk_ratio', 'pyramid_step_n', 'stop_distance_n', '_optimization_plan', 'unit_risk_fraction', 'contract_multiplier', 'donchian_channel_stop_profit', 'donchian_channel_open_position'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - steady_downtrend: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - flat_ranging: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - volatility_spike: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - zero_volume: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - price_gap: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage

Реализация

Точное воспроизведение TqSdk Turtle от limin на LTCUSD.HYPERLIQUID: входы в длинную и короткую позиции при пробое канала Дончиана за 20 дней по тикам сделок; объём позиции рассчитывается по фиксированному N (1% капитала / N, N = простая скользящая средняя ATR(20) за MA, включая формирующуюся свечу); наращивание позиции шагами 0.5N при коэффициенте маржи <= 0.5; стоп на расстоянии 2N от цены последней корректировки; выход по каналу за 10 завершённых дней. Дневные свечи строятся заново по тикам сделок.

Итерация 3 исправляет Layer 1.5 (optimization_plan фиксирует плечо на уровне 2.0): параметры теперь включают 'leverage': 2.0 (float, с соответствующим типом), повторяя config.leverage=2.0; код считывает это значение, проверяет его равенство config.leverage и использует для проверки целевой маржинальной ёмкости. Все остальные фиксированные значения плана присутствуют с точными типами, заданными в плане. Логика сигналов, входа, выхода и определения размера позиции не менялась. Дневные свечи используются только для отчётности; для исполнения нужны исторические тики сделок, а при отсутствии данных за какой-либо день работа завершается с ошибкой вместо перехода на цены закрытия.

Результаты верификации

Верификация не пройдена (Layer 2 — синтетические сценарии): Использованные параметры: ['leverage', 'kline_length', 'min_notional', 'atr_day_length', 'max_risk_ratio', 'pyramid_step_n', 'stop_distance_n', '_optimization_plan', 'unit_risk_fraction', 'contract_multiplier', 'donchian_channel_stop_profit', 'donchian_channel_open_position'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - steady_downtrend: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - flat_ranging: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - volatility_spike: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - zero_volume: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - price_gap: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage

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

Верификация не пройдена (Layer 1.5 — согласованность гипотезы и конфигурации) [class=hypothesis_mismatch]: - optimization_plan фиксирует плечо на уровне 2.0

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

Не добавляйте жёсткие проверки в конструктор, связывающие параметры со значениями конфигурации, которые стенд верификации может задавать иначе; считывайте плечо напрямую из self.config.leverage, чтобы стратегия могла запускаться в синтетической среде и песочнице.

После 3 итераций запуск прервали в цикле верификации на Layer 2 (синтетические сценарии). Все шесть сценариев завершились ошибкой при настройке: 'RuntimeError: parameters.leverage must equal config.leverage', поскольку собственная проверка __init__ стратегии выдавала ошибку, если параметр плеча не совпадал с конфигурацией стенда.

Точное воспроизведение демонстрации TqSdk Turtle от limin на LTCUSD.HYPERLIQUID: входы по тикам при пробое канала Дончиана за 20 дней, выходы по каналу за 10 дней и наращивание позиции объёмом, рассчитанным по N (20-дневное ATR) и юниту, которые остаются неизменными, пока позиция открыта; max_risk_ratio=0.5, плечо фиксировано на уровне 2.0.

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

Причина отказа

verification_loop: верификация не пройдена (Layer 2 — синтетические сценарии): Использованные параметры: ['leverage', 'kline_length', 'min_notional', 'atr_day_length', 'max_risk_ratio', 'pyramid_step_n', 'stop_distance_n', '_optimization_plan', 'unit_risk_fraction', 'contract_multiplier', 'donchian_channel_stop_profit', 'donchian_channel_open_position'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - steady_downtrend: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - flat_ranging: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - volatility_spike: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - zero_volume: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage - price_gap: ошибка настройки: RuntimeError: parameters.leverage must equal config.leverage

Анализ

Turtle

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