Как протестировать торговую стратегию: от наблюдения к правилам челленджа

Запишите то, что вы наблюдали, превратите это в правило, протестируйте его с издержками и посмотрите, как ведёт себя траектория счёта при явно заданных правилах челленджа. Пройдите интерактивный пример, прежде чем выбирать реплей, ручное исполнение или вооружённую стратегию.

Senzoukria · Руководства · Обновлено: сентябрь 2026


Зелёная кривая капитала отвечает лишь на один узкий вопрос: что произошло при тех допущениях, которые её породили? Она не говорит, было ли правило задано до теста, были ли исполнения достижимы и пережил ли счёт этот путь. Держите эти вопросы раздельно.

Что вы получаете на выходе: записанную гипотезу, правило с версией, тест с явными издержками, отчёт по правилам челленджа и решение о том, что изучать дальше. Убыточный результат полезен, когда он показывает, какое допущение не сработало.

Начните с наблюдения, которое можно проверить

Например: «На заранее отмеченном уровне агрессивные продажи усилились, а следующая закрытая свеча не обновила минимум». Запишите инструмент, биржу, сессию, размер бара, часовой пояс и доступное покрытие. Сохраните соседние бары, а не только эффектный момент.

Футпринт группирует исполненные сделки по цене и стороне агрессора. Тепловая карта ликвидности требует отдельных наблюдений за глубиной. Одни сделки не показывают заявки, которые ждали, исчезали или пополнялись. Сильные продажи при слабом движении вниз могут быть кандидатом на поглощение; это не указывает на участника и не доказывает следующее направление.

  • Доступно: цены закрытых баров, объём, исполненный по bid и ask, отметки времени и реально загруженное покрытие.
  • Не установлено: скрытый резерв, намерение участника, будущая цена или историческая позиция в очереди.
  • Контроль: отмечайте уровень по информации, доступной до сигнала. Уровень, найденный по завтрашнему профилю, вносит заглядывание вперёд.

Просите проверяемое правило, а не выигрышный ответ

Дайте наблюдение и его ограничения. Попросите ассистента отделить свидетельство от объяснения, а затем перечислить поля, которые потребовались бы правилу. Ассистент футпринта может предложить настройку графика, которую вы примените; ассистент тепловой карты объясняет записанные свидетельства по выбранной зоне. Их контексты различны.

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

Это образец запроса, а не записанный ответ модели. Сверяйте предложение с данными. Ассистент Scripting помогает править и запускать черновик, но исполняемый черновик не доказывает прибыльной торговли.

Запишите правило целиком до того, как посмотрите результаты

Минимальная исследовательская спецификация может звучать так: оценивать заранее отмеченный уровень только на закрытом баре; требовать, чтобы этот бар закрылся обратно выше уровня; входить на открытии следующего бара; использовать фиксированные стоп и цель; допускать одну позицию и никаких новых входов после заданного времени отсечки. Зафиксируйте точное окно просмотра и порог сигнала до теста. Это исследовательский шаблон, а не рекомендованная настройка.

Исследовательская спецификация — псевдокод, а не API Senzoukria

На каждом новом закрытом баре:
  проверить наличие необходимых данных
  использовать только уровень, зафиксированный до этого бара
  оценить заявленный сигнал и фильтр сессии
  если позиции нет и все условия выполнены:
    запросить вход на открытии СЛЕДУЮЩЕГО бара
    приложить заявленные стоп, цель и объём

Записывать каждое изменение как новую версию стратегии.

Для стратегий на JavaScript и Python в настольном приложении есть пути исторического бэктеста. Python требует своей встроенной среды выполнения. Скрипты на C++ работают в среде WebAssembly с ограниченным интерфейсом и не имеют исторического бэктеста. Выбирайте язык под нужную операцию; это не взаимозаменяемые среды исполнения.

Сначала используйте Run, чтобы отловить синтаксические ошибки, отсутствующие поля и некорректные выходы на синтетических барах. Затем сохраните версию и протестируйте её на заявленном историческом интервале. Не называйте этот первый синтетический прогон бэктестом.

Сделайте издержки и границы правил видимыми

Исторические результаты зависят от модели исполнения. Бэктест стратегии в настольном приложении принимает решения на закрытых барах, входит на следующем открытии и моделирует выходы по ценам бара с настроенными издержками. Он не восстанавливает биржевую очередь. Зафиксируйте допущение для случая, когда и стоп, и цель могут быть задеты внутри одного бара.

Пример ниже изолирует следующий вопрос: что происходит, когда дневные результаты встречаются с ограничениями счёта? Его восемь дней намеренно придуманы. Они не порождены правилом выше и не взяты с реального счёта.

Hypothetical teaching example

Same days. Different constraints.

Eight invented days, two round trips per day. Change the size, costs or rules. The path stops at its first pass or breach.

Account balanceLoss floorProfit target
Hypothetical balance and loss floor after each evaluated day. Values are available in the table below.49.25k50.00k52.00kDay 1Day 2Day 3Day 4Day 5Day 6Day 7Day 8
Pass in this modelEvery modeled condition is met.
Net result
$2,190
Max close drawdown
$670
Costs charged
$160
Days evaluated
8 / 8
Inspect the inputs and day-by-day arithmetic

Gross P&L per one contract: Day 1: $500; Day 2: $450; Day 3: -$650; Day 4: $800; Day 5: -$200; Day 6: $650; Day 7: $350; Day 8: $450. Each day contains two completed round trips. No market data or fitted strategy produced this sample.

Evaluated days only; later days are not charged after a terminal result.
DayGrossCostsNetBalanceFloor
Day 1$500$20$480$50,480$49,730
Day 2$450$20$430$50,910$50,160
Day 3-$650$20-$670$50,240$50,160
Day 4$800$20$780$51,020$50,270
Day 5-$200$20-$220$50,800$50,270
Day 6$650$20$630$51,430$50,680
Day 7$350$20$330$51,760$51,010
Day 8$450$20$430$52,190$51,440

Fictional $50,000 account; at least three trading days. Equality with a loss limit is a breach. Drawdown uses closed daily balances, with no intraday excursions or trailing-floor freeze. This is a teaching model, not a firm’s rules, a backtest, or a probability of future success.

Три эксперимента

  1. Сбросьте, затем уменьшите максимальную просадку до 600 $. День 3 пробивает скользящий порог по закрытиям. Переключитесь на фиксированный порог: те же первые три дня остаются выше него. Изменилось правило, а не рыночные результаты.
  2. Сбросьте, затем увеличьте число контрактов. Растут и валовые результаты, и издержки на контракт. Более крупная позиция может достичь порога убытка раньше, чем дойдёт до цели.
  3. Сбросьте, затем измените порядок дней. Перестановка может сместить первое нарушение или день прохождения. Это проверка чувствительности на существующих результатах, а не прогноз и не откалиброванная вероятность.

Проверьте арифметику

При одном контракте и 10 $ за круговую сделку каждый день из двух сделок стоит 20 $. Первые три чистых дня дают 480 $, 430 $ и −670 $. Баланс доходит до 50 910 $, затем до 50 240 $: максимальная просадка от закрытия к закрытию 670 $. При скользящем допуске 600 $ порог равен 50 310 $, и третий день его нарушает. Фиксированный порог 49 400 $ не нарушается.

Модель по дневным закрытиям не может обнаружить внутридневное нарушение, восстановленное до закрытия. Реальное правило может использовать нереализованный капитал, потолок скользящего порога, другие границы сессии, минимальную активность, требования к равномерности или ограничения на выплаты. Вводите только проверенные правила и помечайте каждый недостающий пункт, прежде чем толковать отчёт о челлендже.

Проверьте результат на прочность, прежде чем менять правило

  • Отложите более поздние данные. Выберите периоды разработки и оценки до подгонки параметров. Многократная оптимизация на отложенном периоде превращает его в обучающие данные.
  • Меняйте по одному допущению. Поднимите издержки, измените фильтр сессии, посмотрите соседние значения параметров и разберите убыточные сделки.
  • Сохраняйте знаменатель. Записывайте, сколько вариантов стратегии вы перебрали, а не только тот, который оставили. Яркий результат после множества попыток требует более сильных доказательств.
  • Отделяйте баланс от денежного потока. Плата за оценку, сбросы, финансируемые фазы и сроки выплат подчиняются собственным правилам. Маленькая учебная модель выше их не моделирует.

Настольное приложение включает перебор параметров, walk-forward и отчёты о робастности для поддерживаемых исторических тестов, а также симулятор челленджа со смоделированным жизненным циклом и издержками. Эти отчёты резюмируют свой протокол и поданные данные. Благоприятная отметка не удостоверяет будущего преимущества.

Выбирайте способ исполнения осознанно

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

Senzoukria поддерживает маршрутизацию заявок и необязательную автоматизацию стратегий через совместимый счёт Rithmic. Автопилот требует явного вооружения, прав счёта, заданных лимитов, смонтированного графика и запущенного настольного приложения. Уточните действующие правила вашей фирмы и вашего счёта. Общий ИИ-агент не может вооружить его за вас. Потоки крипто-аналитики не подразумевают маршрутизации заявок на Binance или Bybit.

STOP снимает стратегию с вооружения и запрашивает закрытие позиций; проверьте ответ брокера и фактические позиции. Запрос — не гарантированное исполнение, а лимиты приложения не устраняют проскальзывание и риск обрыва связи. Держите письменную процедуру на случай отключений и отклонённых заявок.

Ведите исследовательский журнал

Сохраняйте версию правила, источник и покрытие, даты теста, издержки, допущения об исполнении, правила счёта, непройденные проверки и причину следующего решения. Затем меняйте одну вещь, которую вы можете назвать. Такой журнал полезнее скриншота с большим итоговым P&L.

Продолжите с проверки программного обеспечения и прав счёта или вернитесь к учебному маршруту, чтобы укрепить наблюдение, лежащее в основе вашего правила.

Частые вопросы

Интерактивный пример — это настоящий бэктест стратегии?
Нет. Его восемь дневных результатов придуманы для обучения. Он применяет к ним видимые издержки и вымышленные правила. Он не использует исторические цены, не подгоняет стратегию, не указывает на конкретную проп-фирму и не оценивает будущий успех.
Можно ли тестировать стратегии на JavaScript, Python и C++ в Senzoukria?
Исторический бэктест стратегий поддерживает JavaScript и Python в настольном приложении. Скриптинг на C++ работает через WebAssembly и не имеет пути исторического бэктеста. Запуск черновика из редактора на синтетических барах — это отдельная проверка исполнения, а не тест доходности.
Что означает пройденный смоделированный челлендж?
Это означает, что поданные результаты удовлетворили правилам, фактически смоделированным в этом прогоне. Отсутствующие внутридневные данные, несмоделированные пункты договора, издержки или допущения об исполнении могут изменить вывод. Это не вероятность будущего прохождения, не статус счёта и не гарантия выплаты.
Может ли ИИ выставлять заявки или вооружать мою стратегию?
Общий ИИ-агент читает контекст приложения и может использовать настроенные веб-инструменты; он не выставляет заявки и не вооружает автопилот. Сохранённая стратегия может использовать отдельный путь автопилота Rithmic после явного вооружения пользователем, при открытом настольном приложении, совместимом подключении и наличии прав у счёта.