Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Тесты торговых стратегий на C# (платный раздел) arrow Тесты торговых стратегий на C#. Урок 30. Стратегия "Архея - 1".
01.03.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Тесты торговых стратегий на C#. Урок 30. Стратегия "Архея - 1". Печать E-mail
Автор megabax   
13.08.2014 г.
New Page 1

Тесты торговых стратегий на C#. Урок 30. Стратегия "Архея - 1".

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

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

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


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

Эта стратегия будет наследоваться от абстрактной стратегии AbstractEvolutionStrategy:

    /// <summary>

    /// Абстрактный класс эволюционной стратегии

    /// </summary>

    [Serializable]

    public abstract class  AbstractEvolutionStrategy : ITradeSystem

    {

 

        protected PriceSource _source;

 

        /// <summary>

        /// Менеджер трейдеров

        /// </summary>

        public TradersManager manager;

 

        /// <summary>

        /// Получить количество единиц инструмента для торговли

        /// </summary>

        /// <returns>Количество единиц инструмента для торговли</returns>

        public abstract int get_count_trade();

 

        /// <summary>

        /// Номер торгового счета

        /// </summary>

        public string account { get; set; }

 

        /// <summary>

        /// Финансовый инструмент, которым мы торгуем

        /// </summary>

        public string ticker;

 

        /// <summary>

        /// Режим торгов

        /// </summary>

        public string market;

 

        public AbstractEvolutionStrategy()

        {

            manager = new TradersManager();

            manager.strategy = this;

        }

 

        /// <summary>

        /// Функция инициализации торговой стратегии

        /// </summary>

        /// <returns>true - если инициализация прошла успешно, иначе false</returns>

        public abstract bool init();

 

        /// <summary>

        /// Функция деинициализации торговой стратегии

        /// </summary>

        /// <returns>true - если деинициализация прошла успешно, иначе false</returns>

        public abstract bool deinit();

 

        /// <summary>

        /// Драйвер торгового терминала или эмулятора

        /// </summary>

        public ITerminalDriver driver {get; set;}

 

        /// <summary>

        /// Старт торговой стратегии. При реальной торговле отрабатывается на каждом тике,

        /// при тестирвоании - на каждой свече

        /// </summary>

        /// <returns>true - отработано успешно, false - были ошибки</returns>

        public abstract bool start();

 

 

        /// <summary>

        /// Установить источник котировок

        /// </summary>

        /// <param name="a_source">Источник котировок</param>

        public void setSource(PriceSource a_source)

        {

            _source = a_source;

            manager.setSource(a_source);

        }

    }

Класс TradersManager, точнее, его заготовка был создан на уроке невник разработчика торговой стратегии. Шаг 27. Эволюционная стратегия программирования". Для построения рабочей МТС согласно выбранного принципа программирования (эволюционная принцип), необходимо наполнить его функционалом, а именно, предусмотерть работу со списком трейдеров - отдельных элементов мультистратегии, которой я тоже говорил на уроке невник разработчика торговой стратегии. Шаг 27. Эволюционная стратегия программирования".

И так, вот текст этого класса...

....

....Ну, и проверяем работоспособность, для этого используем наши синтетические котировки:

Тесты торговых стратегий на C#. Урок 30. Стратегия "Архея - 1".

Как видим, на синтетических кодировка стратегия работает как надо (так же, как и ее предшественница "Нейросеть 1"). Следовательно, все написано правильно.

Последнее обновление ( 13.08.2014 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги