Добрый день, коллеги.
Завтра ухожу в отпуск. Не смогу сделать рефакторинг.
Надеюсь то что я написал не очень будет трудно кому нибудь переделывать.
Небольшой отчет.
Сделал 12 индикаторов:
Peak, PeakBar, QStick, TRIX, Trough, TroughBar, UltimateOsc, VHF, Vidya, VMA, Volatility, WilliamsR
Тесты проходят следующие индикаторы:
QStick, UltimateOsc, VHF, VMA, WilliamsR
По следующим индикаторам нет тестов, потому что нет данных на чем их тестить:
PeakBar, TroughBar, Vidya
По индикаторам Peak и Trough я писал раньше. Вопрос все еще открыт.
http://stocksharp.com/posts/m/8891/
Индикатор Volatility:
у нас и у Ами разное понимание, когда начинать рассчитывать индикатор.
Для иллюстрации прикладываю сводную таблицу, в которой показывается, что в Ами
расчет индикатора начинается позже. Подозреваю, что у нас верный подход, а в Ами нет.
Индикатор TRIX.
Аналогично, в Ами начинают расчет не тогда, когда в моем индикаторе.
Либо я ошибаюсь в понимании реализации, либо в Ами.
В этом индикаторе используется тройная скользящая средняя:
Код
public void Add(decimal newValue)
{
ema1.Add(newValue);
if (ema1.IsFormed == true)
{
ema2.Add(ema1.Value);
if (ema2.IsFormed == true)
{
ema3.Add(ema2.Value);
if (ema3.IsFormed == true)
{
roc.Add(ema3.Value);
if (roc.IsFormed == true)
{
Value = roc.Value;
RaiseChangedEvent();
}
}
}
}
}
В Ами этот индиктор начинают рассчитывать начиная с 21 значения (при параметре 20).
Тогда как в вышеописанной реализации индикатор начинает рассчитываться с 78 значения.
Опять же, считаю, что у меня верно. Но нужен взгляд со стороны на этот вопрос.
Если будут вопросы, пишите в личку.
По возможности буду заглядывать на форум.
Всем удачи и хорошего настроения.