СЛОЖНОСТЬ
Что нельзя было упростить
Честный ответ на исследовательский вопрос часто — «нет». Микроструктурный edge, который выживает в наивном бэктесте, обычно умирает, как только применяются задержки и тарифная сетка. А движок, не отличающий подтверждение приёма от исполнения, будет бодро показывать прибыль, которой не было.
РЕШЕНИЕ
Как закрыли риск
Издержки применяются внутри бэктеста, а не вычитаются потом, и один и тот же код работает в бэктесте, paper и live. Исполнения берутся только из приватного потока. Записанное правило: если матожидание вне выборки не положительно после комиссий, слиппеджа и стресса по задержкам — система не торгует. И это правило зашито в код, а не в README.