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

Тесты торговых стратегий на C#. Урок 16. Сохранение и просмотр стратегии.

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

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


Продолжаем эксперименты с генетическим алгоритмам. Давайте предусмотрим сохранение наших геномов. Для этого к классам Chromosome, Gene, GeneticCommand, GeneticDecimal, Species добавим модификатор  [Serializable]. Немного  оптимизируем метод add_filter класса CandleFilterTradeSystem (уберем лишние диапазоны)...

...

...И так, это позволило сохранять некоторые геномы и заново добавлять их в список:

Тесты торговых стратегий на C#. Урок 16. Сохранение и просмотр стратегии.

Оптимизация  с добавленным вида приводит к тому, что он вытесняет все остальные виды (опять вырождение):

Тесты торговых стратегий на C#. Урок 16. Сохранение и просмотр стратегии.

Еще хорошо бы посмотреть, а что у нас там получилось в ходе оптимизации. Для этой цели, во первых, в класс CandleFilter добавим метод clone()...

        /// <summary>

        /// Создание копии свечного фильтра

        /// </summary>

        /// <returns>Копия свечного фильтра</returns>

        public CandleFilter clone()

        {

            CandleFilter res = new CandleFilter();

            res.candel_high_max = candel_high_max;

            res.candel_high_min = candel_high_min;

            res.candel_open_max = candel_open_max;

            res.candel_open_min = candel_open_min;

            res.candel_type = candel_type;

            res.lower_shadow_max = lower_shadow_max;

            res.lower_shadow_min = lower_shadow_min;

            res.upper_shadow_max = upper_shadow_max;

            res.upper_shadow_min = upper_shadow_min;

            return res;

        }

и метод ToString()...

Теперь займемся просмотрищиком. Забацаем такую вот форму (она есть в прилагаемых исходниках)*:

Тесты торговых стратегий на C#. Урок 16. Сохранение и просмотр стратегии.

Вот теперь нам пригодился метод clone у фильтра (конструктор формы)...

... 

На главной форме создадим кнопочку вызова просмотрщика (показать параметры):

 

        private void btnShowParameter_Click(object sender, EventArgs e)

        {

            int index = lbRes.SelectedIndex;

            if (index != -1)

            {

                CandleFilterTradeSystem system = new CandleFilterTradeSystem();

                (system as IGeneticOptimization).from_gene(optimization.species_list[index].chromosome);

                CandleSystemEdit form = new CandleSystemEdit(system.buy_filters,system.sell_filters,system);

                form.Show();

            }

        }

 

теперь можно смотреть, что у нас получилось:

Тесты торговых стратегий на C#. Урок 16. Сохранение и просмотр стратегии.

 

Получилось вообще нечто странное. С такими параметрами система вообще по идее то не должна торговать. Но выяснением этого мы займемся на следующем уроке.

 


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. 


 

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