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

Тесты торговых стратегий на C#. Урок 22. Форма симуляции и ГА-оптимизации

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

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

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


На прошлом уроке мы создали форму редактирования свечной стратегии. Сегодня создадим форму для симулирования стратегии и оптимизации методом генетического алгоритма. Начнем с формы симуляции*:

Тесты торговых стратегий на C#. Урок 22. Форма симуляции и ГА-оптимизации

В этой форме мы будем выбирать то, что ранее задавали жестко в программе (а потом перекомпилировали ее): технические расходы, размер депозита, дату начал аи окончания периода симуляции, файлы логов и сам инструмент. Инструмент мы выбираем из выпадающего списка, который  формируем на основании встроенного в объекта проекта списка источников котировок. Для этого даже заводим статический класс, потому что такую операцию надо будет делать в разных местах. А далее, в этом классе у нас еще будут добавлены различные методы по управлению интерфейсом. Вот этот класс...

...

...Заполнение списка делаем в конструкторе формы симуляции, там же заполняем нужные поля:

    public partial class SimulationForm : Form

    {

        /// <summary>

        /// Торговая стратегия

        /// </summary>

        public ITradeSystem system;

 

        /// <summary>

        /// Источники котировок

        /// </summary>

        public List<PriceSource> sources;

 

        /// <summary>

        /// Выбранный источник котировок

        /// </summary>

        public PriceSource current_source;

 

        public SimulationForm(ITradeSystem a_system, List<PriceSource> a_sources)

        {

            InitializeComponent();

            system = a_system;

            sources = a_sources;

            UIManager.fill_combobox_from_price_sources(cbPriceSource, a_sources);

        }

 

...

Реализуем кнопочку "Оптимизация":

        private void btnOptimize_Click(object sender, EventArgs e)

        {

            TradeSystemTester tester = new TradeSystemTester(current_source);

            AbstractSignaler l_system = (system as AbstractSignaler).clone();

            (l_system as AbstractSignaler).setSource(current_source);

            tester.system = l_system as ITradeSystem;

            tester.techCosts = Convert.ToDouble(nudTechCosts.Value);

            tester.beg_date_time = dtpBegSimulation.Value;

            tester.end_date_time = dtpEndSimulation.Value;

 

            optimization.species_list.Clear();

            optimization.count_species = Convert.ToInt32(nudPlaces.Value);

 

            optimization.tester = tester;

 

            int count = Convert.ToInt32(nudCount.Value);

 

            progressBar.Minimum = 1;

            progressBar.Maximum = count;

 

            for (int i = 1; i <= count; i++)

            {

                progressBar.Value = i;

                optimization.generation(Convert.ToDouble(nudBeg.Value));

            }

 

            lbRes.Items.Clear();

            for (int i = 0; i < optimization.count_species; i++)

            {

                lbRes.Items.Add(optimization.species_list[i].ToString());

            }

 

        }

Кнопочку "Сохранить в геном"...

...

...Ну и все, можно тестировать:

Тесты торговых стратегий на C#. Урок 22. Форма симуляции и ГА-оптимизации

Проверим симуляцию:

Тесты торговых стратегий на C#. Урок 22. Форма симуляции и ГА-оптимизации

И генетическую оптимизацию:

Тесты торговых стратегий на C#. Урок 22. Форма симуляции и ГА-оптимизации

 


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


 

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