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