Тесты торговых стратегий на C#. Урок 41. Разработка стратегии Прокариот-1. |
![]() |
![]() |
Автор megabax | |||||
24.06.2024 г. | |||||
Тесты торговых стратегий на C#. Урок 41. Разработка стратегии Прокариот-1.В платном разделе статья находится здесь. Исходники к уроку можно скачать в платном разделе. На уроке Дневник разработчика торговой стратегии. Шаг 43. Идея стратегии Прокариот-1 я озвучил идею стратегии Прокариот-1. Сейчас мы эту стратегию будем разрабатывать. Начнем с того, что разработаем класс ProkaryotesTrader:
Как видим, он является предком базового класса и поддерживает интерфейс ICloneTrader - как вы уже знаете из моих предыдущих уроков, этот интерфейс нужен для того, что бы трейдер мог быть клонирован - получена его идентичная копия, но не ссылка, а новый самостоятельный объект. Для чего это вы тоже знаете - что бы всю стратегию можно было так же клонировать, затем конвертировать ее в ген, мутировать его и получить стратегию с другими параметрами, дабы потом все эти клоны стратегий подвергнуть отбору через генетический алгоритм. Все это тоже вам известно. Я лишь напоминаю, а так же сообщаю это для тех, кто начал читать этот цикл уроков с этого данного урока. Идем дальше. ... ......Те поля, которые будут редактироваться в диалоге, помечены атрибутом FieldDisplayInfo, что бы их отобразил дизайнер форм. Дизайнер форм - это такая мощная штука, описанная в C# и ООП для профессионалов. Урок 13. Пишем дизайнер форм, которая позволяет автоматически генерировать форму для редактирования данных. ... ... ...Продолжим писать ProkaryotesTrader, метод GetSignal, он реализует стартегию Шип (см. Тесты торговых стратегий на C#. Урок 36. Стратегия "Шип" и Тесты торговых стратегий на C#. Урок 37. В стратегию "Шип" добавили стоп приказы)... ... Новый конструктор так же не нужен, так как сгодиться и тот, что у ArchaeraFourth. А вот другие методы, работающие непосредственно с объектами типа "Трейдре", необходимо переопределить. Начнем с create_traders:
Метод создания формы диалога редактирования мы тоже переопределяем, на этот раз, кажется, раз и навсегда, по идее, с введением дизайнера форм в дочерних классах его переопределять не понадобиться:
Класс заполнения формы:
Обратите внимание, что метод fill_form вызывается у дизайнера форм два раза, для самого класса трейдера и для LWF фильтра. Но в дизайнере форм, в том что взят из C# и ООП для профессионалов. Урок 13. Пишем дизайнер форм, такое не предусмотрено. Поэтому сам класс Designer, точнее его метод fill_form надо чуть чуть подправить (изменения выделены маркером)... ... ...Теперь можно переходить к тестированию: Вот результат оптимизации: Надо сказать, что в популяции было 200 мест, оптимизация происходила за 200 итераций, процесс шел всего пару минут:
Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями программного продукта "Microsoft Visual Studio 2010", авторское право на который принадлежит "Microsoft".
|
|||||
Последнее обновление ( 24.06.2024 г. ) |
« След. | Пред. » |
---|