Блог им. kurd |Почему все Граали в моих руках становятся плохими? По следам "Как вы з..ли с этой монеткой (дарю Грааль)"

Источник smart-lab.ru/blog/634490.php

Вместо авторских "… берём исторические данные SPY с 1996 года (24 года)" у меня под рукой история индекса ММВБ IMOEX с 05.01.2000 на 173 руб по 27.12.2019 на 3045.87. За 19.4274 года рост в 18.64 раза.
Стратегия «купил и держи» даёт сложный годовой процент 15.77%.

А вот дарёный Грааль много хуже. С капитализацией каждой сделки при 100% вложения от счёта выигрыш на первоначальный 1 млн всего лишь 751009.58 руб или 2.8% годовых. Sharpe ratio всего лишь 0.34. Максимальная просадка 632956.68 руб.  И это при оптимизированных параметрах Period = 5 и Factor = 0.5. Комиссия 0.005% на объём купли или продажи и проскальзывание 0.01%. Всего 735 сделок, 36.79 «сделки» на год.

Если я в чём ошибся, поправьте. Вот как я закодировал дарёный Грааль.
namespace WealthLab.Strategies
{ // Комиссия 0.005% на сделку, проскальзывание 0.01%
public class Simple00 : WealthScript {
  StrategyParameter Period, Factor;
  public Simple00() {
    Period = CreateParameter ("Period", 5,  1,   20, 1);
    Factor = CreateParameter ("Factor",0.5, 0.1, 1, 0.1);
  }
  protected override void Execute()	{
    ClearDebug(); // HideVolume();
    int period = Period.ValueInt;
    double factor = Factor.Value;
    DataSeries atr = ATR.Series (Bars, period);
    for (int bar = period; bar < Bars.Count; ++bar) {
      if (IsLastPositionActive) {
        ExitAtClose (bar, LastPosition);
      } else
      if (Open [bar] -  Close [bar] > atr [bar] * factor) {
        BuyAtClose (bar);
      }
    }
    ChartPane cp = CreatePane (40, true, true);
    PlotSeries (cp, atr, Color.Black, WealthLab.LineStyle.Histogram, 3);
  } // Execute()
} // class Simple00
} // namespace WealthLab.Strategies

....все тэги
UPDONW
Новый дизайн