Блог им. neophyte

SWT-метод: хроники торгового робота

SWT-метод: хроники торгового робота

Прошло три недели с момента написания мною первого работоспособного кода торгового робота и чуть больше двух недель с начала он-лайн теста на демо-счете. Прибыль 89%, риски высоковаты, но пока что себя оправдывают. На выходные позиции закрыты, робот выключен и тоже отдыхает (на профилактике и техническом обслуживании).

SWT-метод: хроники торгового робота 


Параллельно с тестированием продолжается доработка внешних настроек по управлению режимами робота и работа над кодом программы. Торговый алгоритм пока что не трогаю, он не меняется, хотя кое-какие идеи по учету трендов старших порядков уже есть.


Структуру основного алгоритма открытия и закрытия позиций по торговым сигналам и ордерам тоже уже не трогаю, в основном все устоялось и все вычищено. Хотя здесь тоже кое-какие нюансы можно будет впоследствии переделать, когда будут решены более актуальные задачи.

Сейчас же нужно упорядочить все в целом в модуле формирования торговых сигналов, продумать единую систему названий и обозначений в индикаторах и советнике и сделать нелегкий стратегический выбор, а именно:
  — размещать весь код внутри робота или использовать внешние индикаторы метода, а в коде робота вести только обработку данных этих индикаторов;
— делать универсальный робот для квалифицированного пользователя с переключением версий индикаторов и их настроек или создать несколько жестких вариантов с отличающимся внутренним кодом и минимумом внешних настроек. Тут я пожалуй склоняюсь к первому варианту, поскольку второй из него получается элементарно, жестким заданием отдельных параметров.

Что сделано сейчас в плане управления роботом.
Настраиваемые параметры:
— количество ордеров в рынке — N;
— фиксированный размер лота для тестирования стратегии и ручного ММ;
— возможность выбора режима AutoMM;
— максимальный риск в процентах от баланса счета, распределяемый в режиме AutoMM на количество ордеров N;
— возможность установки постоянно действующего ручного трейлинг-стопа и его размер;
— возможность установки адаптивного трейлинг-стопа, размер и интервалы использования которого определяются автоматически;
— коэффициент асимметрии риска, задающий множитель изменения риска на позицию в зависимости от результата последней закрытой сделки (антимартингейл);
— разрешение торговать лонг (для возможности учета направления трендов старших уровней иерархии);
— разрешение торговать шорт (для возможности  учета направления трендов старших уровней иерархии);
— максимум кредитного плеча, допускаемого в торговле.

Ордера стоп-лосс и тейк-профит устанавливаются в обязательном порядке, а их размер рассчитывается автоматически на основе волатильности дневного и локального трендов соответственно. Выход из позиции производится в безусловном порядке по ордерам стоп-лосс и тейк-профит, или по сигналу разворота тренда.

В процессе работы с роботом выяснилась некоторая противоречивость в задании параметров риска при режиме AutoMM: задание процентного размера риска на сделку через максимальный риск не совсем оправдано. Проще и правильнее делать это напрямую, а размер максимального риска контролировать через количество реально открытых позиций, блокируя возможность открытия новых при достижении предела.
Кроме того, при контроле предельного риска излишним параметром является ограничение кредитного плеча. Этот параметр вторичен и в общем-то ничего не определяет.

Что осталось и обязательно нужно сделать, так это ввести режим настройки на тайм-фрейм и/или инструмент.
Сегодня робот может работать только на одном таймфрейме и по одному инструменту. Одновременная работа нескольких копий на разных инструментах и различных таймфреймах одного инструмента невозможна. Роботы не будут различать свои позиции от позиций, открытых другими копиями.
В частности вчера в тесте мы перешли на торговлю золотом, поскольку посчитали, что движение евро себя исчерпало — протестирована краткосрочная поддержка на восходящем тренде.
Евро с нами не согласился и продолжил снижение в направлении показаний индикаторов, лишив этим нас части возможного дохода.
Золото? Золото после небольшого выхода вверх возвратилось к боковому тренду, расширив канал вниз  и активировав ордера стоп-лосс после публикации новостей из Китая. В результате  деньги пришли — деньги ушли. Хеджирующий эффект одновременного использования обоих рынков дал бы лучшие результаты для конечного итога.
Решение задачи одновременной работы на нескольких рынка и/или таймфреймах принципиальной проблемы не представляет, но пока что выглядит несколько громоздким и некрасивым. Будем думать.

Детали сделок в мониторинге.
SWT-метод: хроники торгового робота


Всем Удачи!!!

SWT-метод. Теория и практика применения
Параметры волн SWT-метода
★1
15 комментариев
Николай, подскажите пожалуйста, а какими ресурсами пользовались при программинге робота?
сергей, Метатрейдер 4 и встроенный язык MQL4.
avatar
Николай Скриган, я имел ввиду какие книги/ статьи на эту тему читали;)
сергей, Есть учебник на сайте изготовителя метатрейдера. Есть куча открытого кода и очень полезные статьи для начинающих и не только.
Есть много всякого интересного видео на ютьюбе, в том числе видеокурсов по написанию советников и индикаторов.
Информации очень много, достаточно уметь пользоваться поисковиком.
avatar
Translator, это вск понятно, но мне интересен ответ Николая.
сергей, Я не только вам отвечаю, я, пользуясь случаем, пишу для других трейдеров, желающих освоить алготрейдинг.
avatar
сергей, да в общем никаких. Взял болванку-прототип и сделал из нее то, что мне нужно. Пользуясь документацией на сайте MQL4.
Translator чуть ниже об этом и говорит.
В качестве базиса у меня есть некоторое понимание того, как работают программы и как им нужно формулировать команды и писать алгоритмы. И я не боюсь делать ошибаясь и неправильно, чтобы потом исправить ошибки и сделать правильно.
Если бы я начал, как это принято, с изучения языка и потом взялся за работу, у меня ушла бы не неделя с нуля до первого рабочего прототипа, а на порядки больше.
avatar
Николай Скриган, если не секрет за основу какую болванку брали?
сергей, первая, что мне попалась, ее и взял. Если быть конкретным, то MACD, она есть в каждом терминале. Но от нее в текущем варианте уже почти ничего не осталось.
Работу нужно начинать с того, что нужно разобраться, что же болванка делает в каждой строчке кода. А потом уже менять то, что есть, на то, что нужно.
avatar
сергей, Но я не советовал бы сразу начинать с программирования, если не было предыдущего опыта и изучения этого предмета в школе и ВУЗе.
Лучше начать с пользования уже имеющимися бесплатными советниками с открытым кодом. Их тоже легко найти через поисковик и на форумах.
Первое, что стоит освоить, это их настройка, оптимизация, прогон в тестере.
Потом, со временем, переходить к изменению кода под себя.
Это намного проще, чем сразу пытаться программировать с нуля.
И достаточно быстро появится конкретный результат в виде пусть небольшого, но дохода.
И главное, что надо помнить всегда при торговле советниками — это контроль просадки!
avatar
А чё отдыхает? Он же робот — пускай работал бы себе!
Подумаешь, биржа не работает — пусть тренируется )
avatar
VladMih, ну он не то чтобы отдыхал. Он на профилактике и техобслуживании.
avatar
Николай Скриган, тогда порядок.
Главное чтобы не бездельничала железяка,
а то заржавеет )
avatar
Я уже полгода пишу робота с нуля.
Пишу, когда есть вдохновение. Деньги для меня не так важны, как интерес к программированию.
avatar
ЛЧИ?
avatar

теги блога neophyte

....все тэги



UPDONW
Новый дизайн