.
Тесты торговых стратегий на C#. Урок 33. Индикатор цикличности.
Автор megabax   
01.12.2014 г.
New Page 1

Тесты торговых стратегий на C#. Урок 33. Индикатор цикличности.

Что бы смотреть урок полностью, а так же скачать исходники к уроку, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.

Исходники к уроку можно скачать в платном разделе.


На уроке "Дневник разработчика торговой стратегии. Шаг 37. Стратегия Архея. Выявление слабых мест. Продолжение." я озвучил идею "Разработать индикатор цикличности". Поэтому сегодняшний урок начну с того, что расскажу о том, как я реализовал в программе этот индикатор. Кроме того, я программе "Тест стратегий" я еще реализовал возможность задать пакеты ценных бумаг - это задел на будущее, о нем я расскажу на следующем уроке.

Индикатор цикличности реализован в классе SineDeviation, который наследует интерфейс IIndicator. У индикатора SineDeviation два параметра Periods - по какому количеству периодов считаем индикатор (период цикла). Параметр shift - сдвиг по фазе. Дело в том, что SineDeviation - это отклонение котировок от рассчитанной синусоиды. Отклонение сичтаем в процентах. У синусоиды есть два параметра - амплитуда и сдвиг относительно начала координат - сдвиг по фазе. Таким образом, у идеальной синусоиды значение индикатора SineDeviation должно быть равно нулю, если в синусоиду добавить белый шум - то значение индикатора как раз и будет тем самым добавленным белым шумом. Если применить SineDeviation к реальным котировкам, то он покажет, есть ли в котировках какие либо циклы. Если циклы есть - мы торгуем, если котировки не цикличные - то лучше воздержаться от торгволи, так как робот (Стратегия "Архея"), который мы начали писать в рамках цикла уроков Дневник разработчика биржевого робота плохо торгует в ситуациях, когда цикличность нарушается. См. урок "Дневник разработчика торговой стратегии. Шаг 37. Стратегия Архея. Выявление слабых мест. Продолжение.".

И так, вот реализация класса...

...

...Все, теперь приступам к тестированию:

Тесты торговых стратегий на C#. Урок 33. Индикатор цикличности.

Как видим, на реальной синусоиде значение индикатора равно нулю. Всплеск в начале графика происходит потому, что нам не хватате свечей слева, что бы правильно рассчитать индикатор.

А если мы посмотрим в середину графика:

Тесты торговых стратегий на C#. Урок 33. Индикатор цикличности.

Тут мы видим микропульсацию (менее одной тысячной %), которая связана с погрешностью вычислений.

Таким образом, индикатор работает правильно.

Последнее обновление ( 01.12.2014 г. )