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

Стратегии

Бэктест стратегии: тренд по бессрочному контракту BTC, подтверждённый позиционированием «умных денег», лонг-шорт (один инструмент BTCUSDT.BINANCE USD-M — следовать среднесрочному ценовому тренду ONLY только при наклоне соотношения лонг/шорт-счетов TOP-TRADER в SAME сторону; закрытие при расхождении или всплеске волатильности; низкое плечо, ограниченный риск, 3 параметров)

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

BtcTrendSmartMoneyConfirmedLS

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

Эта стратегия пыталась усилить единственный сохранившийся архетип фабрики — импульс по одному инструменту BTC, длинные и короткие позиции, управление с помощью трейлинг-стопа, — добавив действительно новый источник информации: соотношение длинных и коротких позиций по счетам крупнейших трейдеров Binance. Стратегия следовала тренду, только пока информированные участники рынка придерживались того же направления, и закрывала позиции при расхождении. Реализация была тщательно проработана: в том числе исправление……Показать большеСвернуть

Эта стратегия пыталась усилить единственный сохранившийся архетип фабрики — импульс по одному инструменту BTC, длинные и короткие позиции, управление с помощью трейлинг-стопа, — добавив действительно новый источник информации: соотношение длинных и коротких позиций по счетам крупнейших трейдеров Binance. Стратегия следовала тренду, только пока информированные участники рынка придерживались того же направления, и закрывала позиции при расхождении. Реализация была тщательно проработана: в том числе исправление потока данных с учетом NaN для увеличения числа сделок и полный защищенный набор ограничений риска (1.5x лимит, ATR стоп, ограничитель волатильности), удержавший просадку на уровне 17.1%. Но преимущество по результатам бэктеста было слишком слабым, чтобы иметь значение: коэффициент Шарпа 0.357 с доверительным интервалом, пересекающим ноль, коэффициент прибыльности 1.24, всего 127 сделок и сильное угасание сигнала в 2024-2025. Аналитик отклонил стратегию при проверке бэктеста, вместо того чтобы тратить часы на оптимизацию: он рассудил, что в этом классе продолжения тренда с позиционированием OHLCV+ нет ни одной стратегии, прошедшей отбор, а кандидат с коэффициентом Шарпа-0.36 покажет завышенный результат на шуме и провалит проверки на дефлированный коэффициент Шарпа и отложенную выборку, как это случилось на той же сессии с более сильными родственными стратегиями.

Гипотеза

Трендовая стратегия LONG-SHORT, SINGLE-INSTRUMENT, SINGLE-VENUE на BTCUSDT.BINANCE USD-M, следующая ONLY архетипу, который доказал свою устойчивость на этой фабрике стратегий (импульс BTC по одному инструменту, длинные и короткие позиции, управление с помощью трейлинг-стопа), но соответствующая L38: она добавляет ортогональный GENUINELY NEW источник информации вместо ещё одного ценового фильтра или замены символа — отношение длинных и коротких позиций TOP-TRADER ACCOUNT (позиционирование крупнейших и наиболее……Показать большеСвернуть

Трендовая стратегия LONG-SHORT, SINGLE-INSTRUMENT, SINGLE-VENUE на BTCUSDT.BINANCE USD-M, следующая ONLY архетипу, который доказал свою устойчивость на этой фабрике стратегий (импульс BTC по одному инструменту, длинные и короткие позиции, управление с помощью трейлинг-стопа), но соответствующая L38: она добавляет ортогональный GENUINELY NEW источник информации вместо ещё одного ценового фильтра или замены символа — отношение длинных и коротких позиций TOP-TRADER ACCOUNT (позиционирование крупнейших и наиболее информированных аккаунтов по данным Binance), дополнительный ряд, не использованный ни в одной из моих гипотез на рассмотрении (в них используются OI, поток агрессивных сделок, структура цены и ставки финансирования; это оказалось роковым). Идея: среднесрочному ценовому тренду можно доверять, только если INFORMED капитал движется в том же направлении. Открывать длинную позицию при подтверждённом восходящем тренде ONLY, если отношение L/S крупнейших трейдеров высокое или растёт (крупные участники чистыми покупателями наращивают позиции); открывать короткую позицию при подтверждённом нисходящем тренде ONLY, если L/S крупнейших трейдеров снижается (крупные участники чистыми продавцами); FLATTEN, когда ценовой тренд и позиции крупных участников DIVERGE (движение вызвано розничными трейдерами и не подкреплено). Это отличается от моего квадранта цена-OI ETH (общий открытый интерес, а не позиции группы WHICH), от провалившейся стратегии на переполненность позиций-FADES (эта стратегия FOLLOWS информированные деньги, а не торгует против розничной толпы) и от провалившейся «корзины информированных позиций» (она была только с длинными позициями, с низким оборотом и без сделок BASKET; здесь стратегия по одному инструменту открывает длинные и короткие позиции по тренду и действительно торгует). Стратегия специально защищена от двух причин провала моих последних идей для бессрочных контрактов: плечо ограничено 1.5x, установлен жёсткий стоп на сделку AND, а защитный механизм волатильности закрывает позиции при резких всплесках волатильности во время обвала, так что убытки от просадки 77%/100% исключены (DOGE/SOL); стратегия LOW-FREQUENCY на 12-часовых и дневных свечах и удерживает многодневные тренды, поэтому круговая сделка примерно за 0.10% USD-M несущественна (нет уязвимости к fee_edge). Один инструмент, одна площадка, один недорогой ряд, только инкрементальные вычисления — без опционов, нескольких площадок и сложных многоэтапных сделок, которые проваливают проверку. 3 параметров, чтобы снизить риск переобучения.

Рецензент QA был прав, а моя проверка частоты — ошибочна. Я установил первопричину ошибки ~40x, а не стал гадать. Две ошибки усугубили друг друга. (1) Я считал BARS, где |сигнал| >= 0.70, входами, но пересечения порога идут группами подряд, а вход возможен только при отсутствии позиции. Поэтому ~153 баров пересечения — это примерно 8 эпизодов, а не 153 сделок. (2) Хуже того, при пробном запуске я прочитал parquet-файл с метриками, используя glob RECURSIVE (709 файлов). Дополнительный загрузчик движка в……Показать большеСвернуть

Рецензент QA был прав, а моя проверка частоты — ошибочна. Я установил первопричину ошибки ~40x, а не стал гадать. Две ошибки усугубили друг друга. (1) Я считал BARS, где |сигнал| >= 0.70, входами, но пересечения порога идут группами подряд, а вход возможен только при отсутствии позиции. Поэтому ~153 баров пересечения — это примерно 8 эпизодов, а не 153 сделок. (2) Хуже того, при пробном запуске я прочитал parquet-файл с метриками, используя glob RECURSIVE (709 файлов). Дополнительный загрузчик движка в pipeline_processor._collect_supplementary_data ищет файлы по шаблону `search_dir.glob('*.parquet')` с рекурсивным обходом на NON и поэтому видит только 304 плоских файлов; файлы в `_attic` (405 штук) ему недоступны. В потоке данных, который реально получает движок, у 40.5% баров длительностью 12H нет точки позиционирования внутри окна бара. Я заново построил пробный запуск как точную модель автомата состояний «без позиции/в позиции», читая ONLY файлы, доступные движку; модель воспроизводит результат песочницы: 5 сделок за последние 365 дней против наблюдавшихся 4. Затем я использовал эту проверенную модель, чтобы выбрать исправление. Главный дефект был в обработке данных, а не в сигнале: старое условие `not np.all(np.isfinite(window))` обнуляло сигнал, если в любом месте окна позиционирования длиной 40 баров возникал пропуск. При доле пропусков 40% это исключало 52% баров из ALL. Я заменил его статистиками, учитывающими NaN и использующими конечные наблюдения при минимальном числе 8, а также повысил smart_max_stale_hours с 72 до 168. Это сократило число неактивных баров до 28% и увеличило подтверждённое число сделок с 69 до 130 за всю историю с 2020-09 по 2026-07 (22.7 в год, 15 в году песочницы, ~43 на окно walk-forward-анализа), превысив порог ~100 сделок и устранив возражение о малом числе сделок в окне. При этом средняя доходность сделки изменилась с RISES на +0.597% (4x порога комиссий фьючерсов 0.15%); я изменил только NONE из трёх оптимизируемых параметров: trend_lb 20, pos_lb 40, entry_thresh 0.70 остались прежними. Значит, исправлено качество данных, а не перенастроены параметры; оцениваемая величина та же (закрываются пропуски в медленно меняющейся переменной позиционирования, без заглядывания вперёд: _smart_at по-прежнему не читает данные позже текущего бара). Я прямо отверг варианты, которые увеличивают число сделок за счёт уничтожения преимущества: на 12H с вдвое меньшими окнами получилось бы 145 сделок, но доходность на сделку составила бы лишь +0.181%; на 4H было бы 214 сделок при +0.139% — ниже порога комиссий и прямо в кладбище fee_edge. Вторую проблему, внутрисвечное превышение уровня стопа, я закрыл минимальным защитным изменением: position_size теперь хранит абсолютную цену стопа, а should_exit проверяет, пересекли ли минимум бара для лонга или максимум для шорта этот уровень, прежде чем перейти к проверке по цене закрытия. Я намеренно NOT преобразовал стоп в скобку OCO, как сделал для родственной стратегии ADA: условие orders_open базового класса пропускает _process_primary, пока активны защитные дочерние ордера, и отключило бы закрытие по расхождению позиционирования «умных денег» — именно этот механизм проверяет гипотеза. Два уточнения для аналитика. Во-первых, при ~23 сделках в год в отложенной выборке за 15 дней ожидается меньше 1 сделки. Это структурное свойство любой трендовой стратегии на 12H; никакой выбор параметров не исправит ситуацию без снижения доходности на сделку ниже порога комиссий, поэтому результат проверки отложенной выборки нужно оценивать с учётом этого. Во-вторых, сохраняется ранее раскрытая замена: сигнал использует взвешенный по размеру top_trader_long_short_ratio, а не вариант по числу счетов, поскольку ряд по числу счетов — это 53-100% NaN для BTCUSDT в каждом году.

Слабое преимущество на моментуме/продолжении тренда не проходит проверки устойчивости после оптимизации. Коэффициент Шарпа — 0.357, его 95% CI [-0.31, 0.96] уже охватывает ноль; profit_factor — всего 1.24, едва выше значимого порога; information_ratio — -0.64; всего 127 сделок за 6.5 лет. Результаты нестабильны в разных режимах (2020 -6.0%, 2024 +0.06%, 2025 -14.2% при скользящем коэффициенте Шарпа -5) — сигнал подтверждения «умными деньгами» ослаб в недавнем режиме, что как раз ведёт к отрицательному результату……Показать большеСвернуть

Слабое преимущество на моментуме/продолжении тренда не проходит проверки устойчивости после оптимизации. Коэффициент Шарпа — 0.357, его 95% CI [-0.31, 0.96] уже охватывает ноль; profit_factor — всего 1.24, едва выше значимого порога; information_ratio — -0.64; всего 127 сделок за 6.5 лет. Результаты нестабильны в разных режимах (2020 -6.0%, 2024 +0.06%, 2025 -14.2% при скользящем коэффициенте Шарпа -5) — сигнал подтверждения «умными деньгами» ослаб в недавнем режиме, что как раз ведёт к отрицательному результату на отложенной выборке. avg_trade_return_pct 0.88% выше порога комиссий, так что дело не в чувствительности к комиссиям, а в том, что преимущество с поправкой на риск неотличимо от нуля. Это класс моментум/продолжение тренда с позиционированием OHLCV+ (L9/L41, выживших стратегий нет); оптимизатор завысит результат, выбрав лучший из ~225 испытаний по сигналу Шарпа-0.36, подогнанному под шум, а реалистичный потолок OOS не достигнет минимума 0.5. Две гораздо более сильные родственные стратегии в этой сессии (моментум с нормализацией по волатильности, коэффициент Шарпа 0.86 PF 1.51; голосование ансамбля, коэффициент Шарпа 0.79 PF 1.19) только что провалили ANALYZING по DSR≈0 / PBO>0.5 / отрицательному результату на отложенной выборке; у кандидата с коэффициентом Шарпа 0.36 / PF 1.24 нет реалистичного пути. Откажись от него, вместо того чтобы потратить 2 часов и почти наверняка переобучить модель.

Реализация

Среднесрочная лонг-шортовая трендовая стратегия на BTCUSDT.BINANCE USD-M с барами по 12 часов входит в сделку по ценовому тренду, только если позиционирование топ-трейдеров Binance («умных денег») направлено туда же. Сигнал не менялся: trend_z (моментум за 20 баров с нормализацией по волатильности) и smart_z (z-оценка соотношения лонг/шорт топ-трейдеров за 40 баров) объединяются в непрерывную оценку согласованности 0.25*(trend_z+smart_z)*(1+tanh(trend_z*smart_z)). При совпадении направлений она отражает их среднюю силу, а при расхождении плавно стремится к нулю. Вход происходит при достижении единственного порога (|сигнал| >= 0.70); выходы: автоматический выключатель по волатильности, стоп ATR, проверяемый теперь по внутрисвечному экстремуму, возврат от максимума после активации трейлинга на уровне 1.5R и закрытие при расхождении позиционирования «умных денег». В этой версии исправлен дефект числа сделок: для окна позиционирования применяются статистики с учётом NaN, а устаревшее наблюдение позиционирования используется до 7 дней вместо 3.

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

Проверка не пройдена (уровень 4 — проверка QA): - STRUCTURALLY UNMEASURABLE TRADE COUNT, а собственная проверка частоты разработчика неверна. В обосновании заявлен пробный запуск с «пересечениями порога: 68 длинных и 85 коротких» (153 входов) в течение 365-дневного тестового окна, однако тестовая среда ACTUAL выдала лишь 4 сделок за 329 дней, а движок установил metrics_reliable=false. В пробном запуске смешаны «бары, где |signal| >= 0.70» и события входа в позицию; в реальном бэктесте входы происходят, только……Показать большеСвернуть

Проверка не пройдена (уровень 4 — проверка QA): - STRUCTURALLY UNMEASURABLE TRADE COUNT, а собственная проверка частоты разработчика неверна. В обосновании заявлен пробный запуск с «пересечениями порога: 68 длинных и 85 коротких» (153 входов) в течение 365-дневного тестового окна, однако тестовая среда ACTUAL выдала лишь 4 сделок за 329 дней, а движок установил metrics_reliable=false. В пробном запуске смешаны «бары, где |signal| >= 0.70» и события входа в позицию; в реальном бэктесте входы происходят, только когда позиции нет, а для прохождения фильтра требуется одновременно signal = 0.25*(trend_z + smart_z)*(1 + tanh(trend_z*smart_z)) >= 0.70, то есть сильный тренд, нормализованный по волатильности BOTH, и сильно согласованный z-показатель умных денег AND. Это гораздо более избирательный фильтр, чем следует из числа пересечений. Четырех сделок недостаточно, чтобы отличить преимущество от шума (win_rate 0.25, profit_factor 0.33, коэффициент Шарпа -0.56 с CI [-2.11, 1.12] бессмысленен при n=4); экстраполяция примерно 4 в год на всю многолетнюю историю дает всего около 24 сделок — меньше минимального порога примерно в 100 сделок и недостаточно для заполнения скользящего окна проверки на отложенных данных длиной 3 (~8 сделок на окно) или отложенной выборки длиной 15 дней (~0 сделок). По тому же стандарту измеримости были отклонены родственная стратегия для режима BTC (1 сделка) и дневная версия по квадрантам ETH (~9); здесь же проблема усугубляется тем, что оценка частоты, послужившая основанием для продвижения дальше, ошиблась примерно в 40x раз. - Скрытый риск стопа, проверяемого по цене закрытия (здесь ограничен, но именно этот риск привел к провалу родственных стратегий ADA/XRP). should_exit проверяет жесткий стоп по CLOSE 4ч/12ч (get_position_pnl_pct по self._last_close, pnl_pp <= -stop_pp), а не по внутрисвечному экстремуму. Поэтому цена при резком движении может пройти уровень стопа, и выход произойдет лишь на следующем закрытии. В отличие от случая ADA, в тестовой среде это не привело к NOT провалу (max_drawdown 3.6%, наибольший убыток ~2.7%, avg_position 31%), поскольку кредитное плечо составляет всего 1.5x, а ограничитель волатильности закрывает позиции на аварийных барах — конструкция риска действительно консервативнее. Однако возможность внутрисвечного превышения уровня стопа сохраняется; прежде чем торговать крупным объемом, от нее следует защититься. - Отклонение от варианта данных, указанного в гипотезе (отмечено разработчиком, допустимо, но заслуживает фиксации). В гипотезе указано соотношение длинных и коротких позиций по счетам крупнейших трейдеров ACCOUNT, однако этот конкретный ряд содержит 53-100% NaN на протяжении 2020-2026 для BTCUSDT. Поэтому в качестве базового используется взвешенный по позициям top_trader_long_short_ratio (та же группа крупнейших трейдеров, полная история), а к top_account_ratio прибегают лишь при полном отсутствии ряда метрик. Это разумная и открыто раскрытая замена в рамках того же семейства информированных участников, а не смена механизма, однако аналитику следует отметить, что позиционирование взвешено по размеру, а не по числу счетов.

При backtest_review оцени стратегию на всём окне 2020-2026; проверь, действительно ли avg_trade_return_pct достигает заявленных ~+0.6% и profit_factor > 1.0 в разных режимах. Если результат за всё окно также отрицательный, а хвостовые потери ограничены, откажись от механизма моментума, подтверждённого потоком или позиционированием, вместо перенастройки.

Блокер измеримости устранён, но на песочнице преимущество внутри выборки не обнаружено — вопрос о преимуществе для backtest_review. Повторная диагностика и исправление с учётом NaN увеличивают число сделок в песочнице с 4 (что не прошло предыдущую проверку) до 15, metrics_reliable теперь верно; подтверждённое число сделок за всю историю составляет 130 (около 22.7 в год, около 43 на окно walk-forward-анализа), что выше порога примерно в 100 сделок. HOWEVER, песочница показывает небольшой чистый убыток:……Показать большеСвернуть

Блокер измеримости устранён, но на песочнице преимущество внутри выборки не обнаружено — вопрос о преимуществе для backtest_review. Повторная диагностика и исправление с учётом NaN увеличивают число сделок в песочнице с 4 (что не прошло предыдущую проверку) до 15, metrics_reliable теперь верно; подтверждённое число сделок за всю историю составляет 130 (около 22.7 в год, около 43 на окно walk-forward-анализа), что выше порога примерно в 100 сделок. HOWEVER, песочница показывает небольшой чистый убыток: total_return -0.75%, profit_factor 0.93, win_rate 0.33, avg_trade_return_pct -0.094% (слегка отрицательное значение), коэффициент Шарпа -0.07. Соотношение доходности к риску благоприятное (avg_win $2050 против avg_loss $1101, около 1.86:1), но доля прибыльных сделок 33% оставляет математическое ожидание слегка отрицательным в этом окне; модель разработчика за всю историю заявляет +0.597% на сделку (4x выше минимального уровня комиссий), поэтому одного года песочницы недостаточно для окончательного вывода. Это не дефект корректности или риска QA — это оценка аналитика по результатам бэктеста за несколько лет.

Для этого кандидата при оценке сильнее учитывай OOS walk-forward-анализа (~43 сделок на окно), чем отложенную выборку за 15 дней; не отказывайся от стратегии только из-за пустой или вырожденной отложенной выборки и не продвигай её лишь на основании отложенной выборки из 1 сделок.

Число сделок превышает порог, но отложенная выборка структурно мала. При ~22.7 сделках в год на барах 12H в финальной отложенной выборке за 15 дней ожидается меньше 1 сделок. Разработчик честно указывает на это; так устроена любая трендовая стратегия на 12H (более быстрые альтернативы, которые наполнили бы отложенную выборку, дают доходность на сделку ниже порога комиссий). Поэтому проверка на отложенной выборке будет почти пустой и маломощной; результат нужно оценивать с учётом этого, а не считать решающим.

При анализе сравните стратегию с тем же следованием за трендом WITHOUT, но без фильтра по позиционированию, чтобы подтвердить, что компонент умных денег дает дополнительный эффект. Также зафиксируйте, что здесь под «умными деньгами» подразумевается позиционирование крупнейших трейдеров, взвешенное по размеру.

Предостережение относительно класса механизма и раскрытая замена варианта данных — оба замечания адресованы аналитику. (а) Это продолжение импульса/тренда с подтверждением через позиционирование — широко исследованное семейство, хотя оно корректно добавляет действительно ортогональный источник (позиционирование крупнейших трейдеров) согласно L38 и повторяет единственный сохранившийся архетип (направленная стратегия с ограничением просадки и трейлинг-стопом). (б) В сигнале используется взвешенный по размеру top_trader_long_short_ratio, а не вариант по числу счетов, указанный в гипотезе, поскольку ряд по числу счетов содержит 53-100% NaN за BTCUSDT каждый год. Это разумная, ранее раскрытая замена в рамках той же группы информированных участников, а не смена механизма. Ни то ни другое не является дефектом кода.

Обзор бэктеста

Шарп
0,36
Общая доходность
30,97%
Максимальная просадка
17,10%
Всего сделок
127
Доля прибыльных
41,7%
Профит-фактор
1,24

Действительно независимый, соответствующий L38 источник информации (соотношение лонг/шорт-счетов топ-трейдеров) — не копия цены и не замена символа

Надёжное управление риском: ограничение 1.5x, жёсткий стоп ATR, автоматический выключатель по волатильности — max_drawdown контролируемая 17.1%

avg_trade_return_pct 0.88% выше порога комиссий; стратегия не чувствительна к комиссиям

Положительный период 2021-2023 и положительная альфа (+0.026)

Коэффициент Шарпа 0.357 с доверительным интервалом CI [-0.31, 0.96], включающим ноль, — до оптимизации результат неотличим от отсутствия навыка.

profit_factor 1.24 едва выше значимого порога 1.2; information_ratio -0.64

Всего 127 сделок за 6.5 лет — мало для надёжной подгонки параметров

Результаты нестабильны в разных режимах: 2020, 2024 (~0) и особенно 2025 (-14.2%, скользящий коэффициент Шарпа -5) показывают ослабление сигнала

Класс моментум/продолжение тренда с позиционированием OHLCV+ (L9/L41, выживших стратегий нет); выбор лучшей из -225 стратегий завысил бы коэффициент Шарпа на шуме и почти наверняка провалил бы deflated Sharpe и отложенную выборку в ANALYZING (как это только что случилось с более сильными родственными стратегиями)

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

Действительно независимый источник информации и аккуратная конструкция с ограниченной просадкой не спасают: у преимущества на моментуме/продолжении тренда, которое поступает на проверку с коэффициентом Шарпа 0.36 / PF 1.24, интервалом CI, охватывающим ноль, и ослаблением в недавнем режиме нет реалистичного шанса пройти строгие проверки устойчивости, поэтому оптимизировать его не стоит.

Стратегия была отклонена на этапе BACKTEST_REVIEW: доходность с поправкой на риск (коэффициент Шарпа 0.357, CI пересекает ноль, PF лишь немного выше 1.2) неотличима от результата без навыка, а ухудшение в недавнем рыночном режиме — именно тот паттерн, который приводит к отрицательному результату на отложенной выборке. Аналитик решил, что оптимизация по лучшему результату из -225 вариантов при настолько слабом сигнале завысит коэффициент Шарпа на шуме и почти наверняка провалит проверки на дефлированный коэффициент Шарпа/PBO/отложенную выборку в ANALYZING — как это только что произошло с двумя более сильными родственными стратегиями, — поэтому до оптимизации дело не дошло.

Лонг-шортовая трендовая стратегия на одном инструменте и одной площадке для бессрочного контракта BTCUSDT.BINANCE USD-M. Она следует среднесрочному ценовому тренду, только если соотношение лонг/шорт-счетов топ-трейдеров Binance — ортогональный ряд позиционирования «умных денег» — направлено туда же. Стратегия закрывает позиции при расхождении цены и позиционирования или всплеске волатильности; плечо ограничено 1.5x, предусмотрены жёсткий стоп ATR и автоматический выключатель по волатильности.

Бэктест дал положительный, но небольшой результат: общая доходность +31%, фактор прибыли 1.24, avg_trade_return_pct 0.88% (выше порога комиссий), максимальная просадка — контролируемые 17.1%; 127 сделок за 6.5 лет. Но коэффициент Шарпа составил лишь 0.357, а его CI [-0.31, 0.96] охватывает ноль; информационный коэффициент — -0.64. Результаты нестабильны в разных режимах: положительные в 2021-2023, но примерно нулевые в 2020/2024 и -14.2% в 2025 (скользящий коэффициент Шарпа до -5), что указывает на ослабление сигнала.

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