Добрый день всем соратникам по автоматизированной торговле!
Хочу поделиться своим советником для мультивалютной торговли.
Советник управляет корзиной от 1 до 28 валютных пар, список которых задается в параметрах советника.
Советник устанавливается на один график с парой которой нет в корзине, например, на пару Metals XAUUSD. Это делается для того, чтобы избежать возможных конфликтов с графиками торгуемых валютных пар.
Советник обновляет и отображает в реальном времени множество различной информации. Это делается на самом графике где установлен советник в нескольких его окнах с числовыми таблицами и разной информацией по торгуемым парам корзины.
Зачастую даже не требуется открывать ценовые графики с конкретной парой чтобы понять ситуацию с ее открытыми ордерами. Достаточно для этого посмотреть и изучить информацию в окнах советника.
Зачем нужно было делать советник для торговли корзиной пар?
Не проще ли работать по классической схеме? Открывать несколько графиков с валютными парами, на каждую ставить свой советник с персональными и оптимальными настройками параметров торговли. Да, это возможно и так. Но далеко не всегда оптимизация параметров советника на истории котировок дает положительный результат при реальной торговле. Во первых, это утомительные по времени периоды оптимизации, занимающие много часов и дней работы в поисках оптимальных параметров. Во вторых, при реальной торговле нас все равно это не спасает от просадок. И при этом таких просадок, которые длятся неделями и месяцами в ожидании когда же цена пойдет в нашу сторону. И борьба с просадками не всегда удачно заканчивается, например, сливом депозита.
Чтобы понять мотивы перехода на мультивалютного советника надо вернуться на 3-4 года назад. Тогда я перепробовал и модернизировал под разные ТС множество советников и пришел к печальному выводу, что не существует торговых стратегий для советников которые приносили бы легкие деньги. Практически никакая ТС основанная на сигналах индикатора не дает 100% точного входа. В лучшем случае это вероятность 60-80%. А остальные 20-40% приходятся на просадку и тянутся долгие дни, недели и месяцы попыток выхода из ситуации с убытком. ТС с большим количеством индикаторов, используемых в качестве фильтра, также не спасает от неправильного входа и приводит лишь к значительному снижению числа сделок и соответственно к снижению профита, но от просадок никак не спасает.
Мультивалютный советник также не спасает от просадок, но имеет некоторые другие преимущества перед одновалютным советником.
1. Намного легче отслеживать информацию по сделкам для нескольких десятков валютных пар. Он просто намного удобнее в эксплуатации чем необходимость следить за множеством ценовых графиков с установленными на них советниками.
2. Можно применять минимальный лот при работе с большим числом валютных пар и соответственно уменьшать вероятность больших просадок при условии, что разные пары компенсируют друг друга.
3. Применять взаимную компенсацию убытка профитными ордерами в рамках всей корзины валютных пар. В этом случае профит получаемый по одному или нескольким ордерам в рамках одной или нескольких валютных пар корзины компенсирует убыток от одного или нескольких ордеров. Когда сумма профита превысит сумму убытка на некоторое значение (задается в параметрах советника), то все эти ордера закрываются. В итоге получаем снижение просадки и некоторую прибыль. Закрытие происходит автоматически терминалом по установленному Take Profit относительно уровня цены безубытка для этого набора ордеров, либо советник закрывает этот набор ордеров при достижении заданных условий.
4. Отсутствие тонкой настройки параметров для каждой валютной пары я отношу скорее к достоинствам, а не к недостаткам мультивалютного советника. И вот почему. Мультивалютный советник также можно прогонять в тестере истории котировок, но только для одной конкретной валютной пары. Погоняв в тестере советник для каждой из пар корзины можно настроиться на средние параметры, которые наиболее пригодны для работы со всей корзиной валютных пар.
В 2017 году сделал универсальный мультивалютный советник с функцией компенсации убытков и начал его гонять на демосчете. Универсальность советника заключается в том, что основное ядро советника остается неизменным для разных торговых систем (ТС). Меняется лишь модуль формирования сигналов ТС и частично меняется модуль визуального отображения информации по данной ТС. Остальные модули советника не меняются.
Таким образом получилась возможность быстрого создания и исследования нескольких мультивалютных советников работающих на разных ТС.
Но далее мне не пришлось довести до логического завершения эту работу. Я был занят другими делами и забросил на долгое время форекс. Только через 2 года, в феврале 2019 года, снова вернулся к теме мультивалютного советника. Провел существенную его модернизацию, доработал свой любимый индикатор ценовых паттернов GraphicPatterns до 21 модели и на старой базовой модели советника сделал несколько мультивалютных советников для разных ТС в том числе и для ТС на индикаторе GraphicPatterns.
Для тех кто будет пробовать в работе советник EA_Platon_Basket_Graphic с ТС на индикаторе GraphicPatterns должны знать, что при первом запуске советник долго (в зависимости от мощности вашего компьютера) 2-5 минут ищет и записывает информацию по паттернам. Это при условии, что в корзине 28 пар и разрешена работа на 5-ти таймфреймах(ТФ). При старте советник ищет паттерн для каждой пары на каждом ТФ. Информация о поисках паттернов отображается соответствующей строкой красного цвета на экране. В дальнейшей работе советника задержки в процессе поиска паттернов совсем не заметны.
В зависимости от типа вашего дисплея компьютера, в советнике есть настройка параметра экрана 16х9 или 4х3 для размещения отображаемой информации советником!
Чтобы убедиться в слабой зависимости конечного результата работы советника от “крутости ТС” взял 5 видов ТС на разных индикаторах и сделал несколько мультивалютных советников для тестирования. Все желающие могут подключиться к тестированию их на демосчете.
Жду предложений по улучшению мультивалютного советника. Хочу подчеркнуть, что алгоритм снижение просадок является главным функционалом советника для его доработки.
Публикую 6 многовалютных советников для торговли по 6-ти торговым системам:
1. EA_Platon_Basket_Graphic на индикаторе GraphicPatterns,
2. EA_Platon_Basket_Slope на индикаторе SuperSlope,
3. EA_Platon_Basket_Peaky на индикаторе Peaky,
4. EA_Platon_Basket_Ratio на индикаторе CurrencyRatio,
5. EA_Platon_Basket_RsiTMA на индикаторе RsiTMA
6. EA_Platon_Basket_Chukotka на индикаторе Chukotka (https://forexdengi.com/threads/11230...-3-ts-chukotka).
Советники имеют встроенный программный код индикаторов и фильтров ТС и не требуют обязательного наличия этих индикаторов в каталоге Indicators терминала. Индикаторы ТС нужны для визуального анализа частных ценовых графиков торгуемых валютных пар.
Советники имеют встроенные фильтры для сигналов ТС: фильтр SupportResistance, фильтр Pivot, фильтр 4МА и фильтр RSI. Фильтры могут включаться и отключатся кнопками в меню советника.
Для удобства отдельные ценовые графики валютных пар корзины открываются по нажатию соответствующих кнопок в таблице валютных пар советника.
Для этих графиков необходимо назначить шаблоны советников каждый со своим именем: Basket_visio_Graphic, Basket_visio_Slope, Basket_visio_Peaky, Basket_visio_Ratio, Basket_visio_RsiTMA, Basket_visio_Chukotka.
Имена шаблонов прописаны в параметрах советника и могут быть изменены в настройках. Шаблоны должны находиться в папке templates терминала. Образцы шаблонов прилагаю, но вы можете их изменить под себя.
В перечисленные шаблоны кроме набора индикаторов может входить советник EA_Platon_Basket_Visio для отображения открытых и закрытых ордеров на графиках валютных пар. Шаблон Basket_blank предназначен для создания черного фона на который ставится мультивалютный советник. Черный фон необходим чтобы в окнах советника не были видны графики и другие метки XAUUSD.
Мультивалютные советники и советник визуализации ордеров EA_Platon_Basket_Visio должны быть помещены в папку Experts терминала.
Советник имеет набор кнопок для оперативного изменения ряда параметров советника без его перезапуска. При нажатии или отжатии кнопки происходит запоминание соответствующего параметра в глобальной переменной. При последующих запусках советника данный параметр сохраняется.
Список основных параметров советника:
- Тип ордера для входа в рынок (Рыночный, Отложенный Stop, Отложенные Stop+Limit);
- Дополнительные ордера в зоне профита (Применять осторожно);
- Тип модернизации TakeProfit и StopLoss (Относительно уровня безубытка группы ордеров или для каждого ордера персонально);
- Хеджирующие ордера (Эту опцию надо применять осторожно);
- Усреднение ордеров (Максимальный лот в сетке, Дистанция между ордерами, Множитель лота).
Применять мягкое усреднение в 4-5 колена с максимальным лотом 10-20 стартовых лотов. Оптимальное значение дистанции выбирается на основе тестовых прогонов советника на разных парах.
- Компенсационное закрытие ордеров в корзине;
- Компенсационное закрытие ордеров внутри валютной пары;
- Блокировка торговли во время новостей и времени Rollover;
- Блокировка торговли по дням и по времени суток;
- Параметры индикаторов ТС и индикаторов фильтров;
- Список торгуемых валютных пар (Всего до 28 пар);
- Параметры блока визуального контроля советника.