neophyte
neophyte личный блог
24 октября 2015, 12:02

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

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

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

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


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


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

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

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

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

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

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

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


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

SWT-метод. Теория и практика применения
Параметры волн SWT-метода
15 Комментариев
  • заявка на уборку
    24 октября 2015, 12:11
    Николай, подскажите пожалуйста, а какими ресурсами пользовались при программинге робота?
      • заявка на уборку
        24 октября 2015, 12:31
        Николай Скриган, я имел ввиду какие книги/ статьи на эту тему читали;)
        • Translator
          24 октября 2015, 12:34
          сергей, Есть учебник на сайте изготовителя метатрейдера. Есть куча открытого кода и очень полезные статьи для начинающих и не только.
          Есть много всякого интересного видео на ютьюбе, в том числе видеокурсов по написанию советников и индикаторов.
          Информации очень много, достаточно уметь пользоваться поисковиком.
          • заявка на уборку
            24 октября 2015, 12:36
            Translator, это вск понятно, но мне интересен ответ Николая.
            • Translator
              24 октября 2015, 12:40
              сергей, Я не только вам отвечаю, я, пользуясь случаем, пишу для других трейдеров, желающих освоить алготрейдинг.
          • заявка на уборку
            24 октября 2015, 13:30
            Николай Скриган, если не секрет за основу какую болванку брали?
        • Translator
          24 октября 2015, 12:38
          сергей, Но я не советовал бы сразу начинать с программирования, если не было предыдущего опыта и изучения этого предмета в школе и ВУЗе.
          Лучше начать с пользования уже имеющимися бесплатными советниками с открытым кодом. Их тоже легко найти через поисковик и на форумах.
          Первое, что стоит освоить, это их настройка, оптимизация, прогон в тестере.
          Потом, со временем, переходить к изменению кода под себя.
          Это намного проще, чем сразу пытаться программировать с нуля.
          И достаточно быстро появится конкретный результат в виде пусть небольшого, но дохода.
          И главное, что надо помнить всегда при торговле советниками — это контроль просадки!
  • VladMih
    24 октября 2015, 12:19
    А чё отдыхает? Он же робот — пускай работал бы себе!
    Подумаешь, биржа не работает — пусть тренируется )
      • VladMih
        24 октября 2015, 12:42
        Николай Скриган, тогда порядок.
        Главное чтобы не бездельничала железяка,
        а то заржавеет )
  • Ярик
    24 октября 2015, 18:20
    Я уже полгода пишу робота с нуля.
    Пишу, когда есть вдохновение. Деньги для меня не так важны, как интерес к программированию.
  • kvazar
    25 октября 2015, 01:02
    ЛЧИ?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн