Прошло три недели с момента написания мною первого работоспособного кода торгового робота и чуть больше двух недель с начала он-лайн теста на демо-счете. Прибыль 89%, риски высоковаты, но пока что себя оправдывают. На выходные позиции закрыты, робот выключен и тоже отдыхает (на профилактике и техническом обслуживании).
Параллельно с тестированием продолжается доработка внешних настроек по управлению режимами робота и работа над кодом программы. Торговый алгоритм пока что не трогаю, он не меняется, хотя кое-какие идеи по учету трендов старших порядков уже есть.
Структуру основного алгоритма открытия и закрытия позиций по торговым сигналам и ордерам тоже уже не трогаю, в основном все устоялось и все вычищено. Хотя здесь тоже кое-какие нюансы можно будет впоследствии переделать, когда будут решены более актуальные задачи.
Сейчас же нужно упорядочить все в целом в модуле формирования торговых сигналов, продумать единую систему названий и обозначений в индикаторах и советнике и сделать нелегкий стратегический выбор, а именно:
— размещать весь код внутри робота или использовать внешние индикаторы метода, а в коде робота вести только обработку данных этих индикаторов;
— делать универсальный робот для квалифицированного пользователя с переключением версий индикаторов и их настроек или создать несколько жестких вариантов с отличающимся внутренним кодом и минимумом внешних настроек. Тут я пожалуй склоняюсь к первому варианту, поскольку второй из него получается элементарно, жестким заданием отдельных параметров.
Что сделано сейчас в плане управления роботом.
Настраиваемые параметры:
— количество ордеров в рынке — N;
— фиксированный размер лота для тестирования стратегии и ручного ММ;
— возможность выбора режима AutoMM;
— максимальный риск в процентах от баланса счета, распределяемый в режиме AutoMM на количество ордеров N;
— возможность установки постоянно действующего ручного трейлинг-стопа и его размер;
— возможность установки адаптивного трейлинг-стопа, размер и интервалы использования которого определяются автоматически;
— коэффициент асимметрии риска, задающий множитель изменения риска на позицию в зависимости от результата последней закрытой сделки (антимартингейл);
— разрешение торговать лонг (для возможности учета направления трендов старших уровней иерархии);
— разрешение торговать шорт (для возможности учета направления трендов старших уровней иерархии);
— максимум кредитного плеча, допускаемого в торговле.
Ордера стоп-лосс и тейк-профит устанавливаются в обязательном порядке, а их размер рассчитывается автоматически на основе волатильности дневного и локального трендов соответственно. Выход из позиции производится в безусловном порядке по ордерам стоп-лосс и тейк-профит, или по сигналу разворота тренда.
В процессе работы с роботом выяснилась некоторая противоречивость в задании параметров риска при режиме AutoMM: задание процентного размера риска на сделку через максимальный риск не совсем оправдано. Проще и правильнее делать это напрямую, а размер максимального риска контролировать через количество реально открытых позиций, блокируя возможность открытия новых при достижении предела.
Кроме того, при контроле предельного риска излишним параметром является ограничение кредитного плеча. Этот параметр вторичен и в общем-то ничего не определяет.
Что осталось и обязательно нужно сделать, так это ввести режим настройки на тайм-фрейм и/или инструмент.
Сегодня робот может работать только на одном таймфрейме и по одному инструменту. Одновременная работа нескольких копий на разных инструментах и различных таймфреймах одного инструмента невозможна. Роботы не будут различать свои позиции от позиций, открытых другими копиями.
В частности вчера в тесте мы перешли на торговлю золотом, поскольку посчитали, что движение евро себя исчерпало — протестирована краткосрочная поддержка на восходящем тренде.
Евро с нами не согласился и продолжил снижение в направлении показаний индикаторов, лишив этим нас части возможного дохода.
Золото? Золото после небольшого выхода вверх возвратилось к боковому тренду, расширив канал вниз и активировав ордера стоп-лосс после публикации новостей из Китая. В результате деньги пришли — деньги ушли. Хеджирующий эффект одновременного использования обоих рынков дал бы лучшие результаты для конечного итога.
(
Читать дальше )