Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Тесты торговых стратегий на C# (платный раздел) arrow Тесты торговых стратегий на C#. Урок 33. Индикатор цикличности.
19.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Тесты торговых стратегий на C#. Урок 33. Индикатор цикличности. Печать E-mail
Автор 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 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги