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

Тесты торговых стратегий на C#. Урок 38. Добавим к Архее-3 ГА-оптимизацию.

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

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

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


Для того, что бы оптимизировать параметры стратегии "Архея-3", добавим в нее возможность оптимизации методом генетического алгоритма. Эволюционные стратегии у нас не наследуют AbstractSignaler, у нее нет метода clone(), без которого ГА-оптимизации не будет работать. Для того, что б выйти из этого положения, создадим интерфейс ICloneStategy, который как раз будет иметь этот метод. Соответсвенно, метод clone Архея-3 будет наследовать от ICloneStategy.

И так, вот этот интерфейс:

    /// <summary>

    /// Интерфейс, содержащий метод клонирования стратегии

    /// </summary>

    public interface ICloneStategy

    {

        /// <summary>

        /// Клонировать объект торговой стратегии

        /// </summary>

        /// <returns>Новый объект стратегии</returns>

        AbstractEvolutionStrategy clone();

    }

Кроме ICloneStategy, ArchaeaThird  должен так же наследовать интерфейс IGeneticOptimization, раз к нему будет применятся оптимизация по методу генетического алгоритма:

    /// <summary>

    /// Стратегия "Архей-3"

    /// </summary>

    [DisplayName("Архея - 3")]

    [Serializable]

    public class ArchaeaThird : AbstractEvolutionStrategy, IStrategyEdit, IGeneticOptimization, ICloneStategy

    {

...

Ну и начнем реализовывать. Сначала метод clone()....

.....

....Ну и все, теперь параметры стратегии "Архея-3" можно оптимизировать генетическим алгоритмом. Да, работает он медленно. но, если запастись терпением, то можно, в принципе, найти более результативные параметры.

Вот например, график до оптимизации:

Тесты торговых стратегий на C#. Урок 38. Добавим к Архее-3 ГА-оптимизацию.

У этой стратегии были вот такие параметры:

Тесты торговых стратегий на C#. Урок 38. Добавим к Архее-3 ГА-оптимизацию.

После оптимизации график стал такой:

Тесты торговых стратегий на C#. Урок 38. Добавим к Архее-3 ГА-оптимизацию.

а параметры вот такие:

Тесты торговых стратегий на C#. Урок 38. Добавим к Архее-3 ГА-оптимизацию.

Более того, оптимизированные стратегии дают лучший результат и на других периодах. Но это было лишь предварительное тестирование. Более детальное тестирование будет в цикле уроков "Дневник разработчика биржевого робота".


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

 

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