.
Тесты торговых стратегий на C#. Урок 38. Добавим к Архее-3 ГА-оптимизацию.
Автор 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 г. )