Данный цикл статей находится в процессе написания. По мере продвижения, исходные коды из новых статей будут добавляться в эту библиотеку.
Рекомендуется рассматривать код в порядке выхода статей, чтобы лучше проследить за развитием и вносимыми изменениями.
На данном этапе общая схема библиотеки выглядит так:

Пример результатов тестирования из статьи:


Список опубликованных статей с детальным пояснением процесса разработки:
- Разрабатываем мультивалютный советник (Часть 1): Совместная работа нескольких торговых стратегий.
Различных торговых стратегий существует довольно много. С точки зрения диверсификации рисков и повышения устойчивости торговых результатов может оказаться полезным использовать несколько параллельно работающих стратегий. Но если каждая стратегия будет реализована в виде отдельного советника, то управлять их совместной работой на одном торговом счёте становится гораздо сложнее. Для решения этой проблемы желательно реализовать работу разных торговых стратегий в одном советнике.
- Разрабатываем мультивалютный советник (Часть 2): Переход к виртуальным позициям торговых стратегий
Продолжим разработку мультивалютного советника с несколькими параллельно работающими стратегиями. Попробуем перенести всю работу, связанную с открытием рыночных позиций с уровня стратегий на уровень эксперта, управляющего стратегиями. Сами стратегии будут торговать только виртуально, не открывая рыночных позиций.
- Разрабатываем мультивалютный советник (Часть 3): Ревизия архитектуры
Мы уже несколько продвинулись в разработке мультивалютного советника с несколькими параллельно работающими стратегиями. С учетом накопленного опыта проведем ревизию архитектуры нашего решения и попробуем ее улучшить, пока не ушли слишком далеко вперед.
- Разрабатываем мультивалютный советник (часть 4): Отложенные виртуальные ордера и сохранение состояния
Приступив к разработке мультивалютного советника мы уже достигли некоторых результатов и успели провести несколько итераций улучшения кода. Однако наш советник не мог работать с отложенными ордерами и возобновлять работу после перезапуска терминала. Давайте добавим эти возможности.
- Разрабатываем мультивалютный советник (Часть 5): Переменный размер позиций
В предыдущих частях разрабатываемый советник имел возможность использовать только фиксированный размер позиций для торговли. Это допустимо для тестирования, но нежелательно при торговле на реальном счёте. Давайте обеспечим возможность торговли с переменным размером позиций.
- Разрабатываем мультивалютный советник (Часть 6): Автоматизируем подбор группы экземпляров (в процессе)
После оптимизации торговой стратегии мы получаем наборы параметров, на основе которых можно создать несколько экземпляров торговых стратегий, объединённых в одном советнике. Раньше мы делали это вручную, а теперь попробуем автоматизировать этот процесс.
- Разрабатываем мультивалютный советник (Часть 7): Подбор группы с учётом форвард-периода (в планах)
Полный код расположен в прикрепленном архиве из-за большого числа файлов. Распакуйте его в папку Experts. Файлы внутри разбиты по папкам, относящимся к отдельным статьям. Два видимых файла с исходным кодом не используются, они необходимы только для публикации.