Автоматизация вашего торгового алгоритма

Для чего нужно автоматизировать алгоритмы

  • Проверка работоспособности.
    Некоторые трейдеры считают, что если они проторговали три дня в плюс, то это значит, что их система работает. На самом деле, это еще ни о чем не говорит. Если вы внутридневной спекулянт, то вам нужно протестить стратегию на истории хотя бы последние два месяца. С этим мы можем легко справится, если будем использовать исторический тест. Но перед этим нужно будет автоматизировать наш алгоритм. И только после положительных результатов теста, мы можем сделать вывод о работоспособности нашей стратегии.
  • Риск менеджмент.
    После автоматизации и дальнейшего исторического теста мы можем получить много важной информации. Например, информация о эффективном риск-менеджменте. Мы будем видеть на истории процентное соотношение наших просадок и наших прибылей и сможем делать соответствующие выводы из этого.
  • Эмоциональность или психология.
    Большинство людей говоря о своих неудачах обязательно должны упомянуть о «трейдерской психологии». Они считают, что это их самая главная проблема. Но на самом деле, если задуматься, мы можем сделать вывод, что психология отсутствует. Есть только лишь эмоции, которые появляются, когда человек не в состоянии мыслить рационально. А рационально человек не готов мыслить, когда у него нет собственного четкого плана на все случаи жизни. Соответственно, мы можем сделать вывод, что если у трейдера будет свой четкий алгоритм, который он прогонит на истории и будет прибыльным, то он совсем забудет о слове психология и будет сосредоточен только лишь на выполнении своих задач.
  • Видеть картину целиком.
    Когда ваша стратегия прописана по пунктам и оттестирована на истории, то можно сделать вывод, что вы знаете все о ней. Также вы можете делать какие-угодно поправки, начиная от риск-менеджмента, заканчивая самим алгоритмом. В любом случае, видеть картину целиком очень полезно и важно, чтобы достичь результата.
  • Время на саморазвитие.
    Ручная торговля – это прекрасно, но если вы можете занести все в робота, то, естественно, это делать нужно. Причина тут одна – время. Времени всегда не хватает. Поэтому в данном случае автоматизация будет являться плюсом. А время которой вам сохранит робот, вы можете потратить либо на саморазвитие, либо для поиска уже других стратегий.

Разработка торгового алгоритма

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

  1. Четко сформулируйте торговую идею. Как я уже говорил, источник вдохновения может быть любой. Но есть два минимальных требования, которые должны быть рассмотрены в вашей идее – точка входа в рынок (правило или несколько правил) и точка выхода из него (так же). Стратегия может состоять даже из совершенно разных условий на покупку и на продажу, в ней может быть несколько вариантов правил входа или выхода. Единственное правило – должны быть рассмотрены и входы, и выходы. Также торговая стратегия содержит правила управления капиталом, прибылью и убытком. Управление капиталом можно разработать позже, а управление прибылью и убытками относятся к правилам входа.
  2. Подберите наилучшие для ее реализации инструменты. Решите, какие – индикаторы, ценовые модели, какие-то данные с сайтов в сети или что-то еще. Правила должны быть четкими и не подразумевать вариантов. Пример четких правил – выставить селлстоп ордер на открытии новой свечи ниже нижней тени предыдущей свечи на 5 пунктов, если предыдущая свеча пробивала скользящую среднюю EMA55, но закрылась ниже нее, при этом цена не закрывалась выше EMA55 последние 10 свечей, а EMA55 на предыдущей свече ниже, чем 20 свечей назад. Пример нечетких правил – входим в продажи, если стохастик в перекупленности, а EMA55 падает.
  3. Напишите ее правила в виде алгоритма. Алгоритм будущего советника поможет вам не запутаться во всех логических завихрениях его работы и поможет вам создать стройный и логичный код. Для этого хорошо подходят программы для построения блок-схем, такие как yED от yworks.com. Также подойдут программы для составления mind-map’ов, например, Xmind или Freemind.
  4. Напишите по алгоритму своего советника. По возможности постарайтесь оптимизировать ваш код, чтобы тестирование и оптимизация проходили как можно быстрее.
  5. Тестируйте и оптимизируйте ваш советник. Проверьте журнал на наличие ошибок. Коды ошибок указаны в журнале, а их описание можно посмотреть на сайте mql4.com. Также рекомендую обзавестись специальной функцией – обработчиком ошибок, прежде чем ставить советник на реальный счет. Ну или хотя бы добавьте функцию с описанием ошибок на русском языке, чтобы в журнале при появлении ошибки было помимо ее кода еще и описание – это сэкономит ваше время. Подберите оптимальный таймфрейм для работы советника и оптимизируйте на максимально большом количестве пар.
  6. Ставьте ваш новый советник на демо-счет. Ежедневно просматривайте журнал терминала на наличие ошибок. Некоторые из них могли не проявиться на стадии тестирования. Также вы увидите реальную работу вашего советника и сможете примерно оценить его эффективность без потери реальных денег.
  7. Устанавливайте советник на небольшой реальный счет. После получения достаточного количества для анализа данных, проведите анализ эффективности работы советника, сравните с результатами, полученными при тестировании и тестах на демо-счете. Обращать внимание при оценке стоит на такие параметры, как частота и продолжительность сделок, максимальная просадка по счету, максимальные прибыли на одну сделку, размер и длительность средней проигрышной и выигрышной сделки, общее число сделок, отношение убыточных к прибыльным, количество выигрышных и проигрышных сделок подряд и их величина.
  8. Периодически отслеживайте и координируйте работу советника, вносите изменения в код, если это необходимо или у вас появились идеи по улучшению его работы (после тестирования, конечно).

Очень важно четко соблюдать описанный выше алгоритм и не пропускать пункты. К любому делу нужно подходить ответственно и данный случай не исключение.

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

Риск менеджмент

Разумный риск менеджмент – это главное оружие в арсенале успешного трейдера. У вас может быть 15(!) процентов прибыльных сделок, но за счет правильного риск менеджмента вы будете зарабатывать.

Существуют некоторые правила для риск менеджмента о которых я вам сейчас расскажу:

  • Определения своего кол-ва профитных сделок в процентном соотношении
  • На основании вашего процента профитных сделок, вы определяетесь с соотношением своего риска на один трейд и прибылью на один трейд.
  • Определения риска на один трейд в абсолютном выражении и понимание соотношения этого риска относительно общего размера депозита.

Помимо торговых рисков есть еще и неторговые риски. Это относится к недобросовестным ДЦ, которые выполняют свою функцию только на бумаге, а по факту не дают трейдерам заработать. Не забывайте о подобных рисках.

Время для теста

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

Если вы торгуете на маленьких таймфреймах (1мин, 5мин), то для правильной проверки стратегии вам нужно минимум 2 месяца тестирования.

Если мы говорим о среднесрочной торговле, например, Н4 или дневка, то нужно делать тест желательно за год, а лучше больше.

Нужно понять, что чем больше дистанция, тем больше мы минимизируем элемент случайного результата нашей стратегии, следовательно, мы получим самый объективный вариант из всех возможных.

Стабильность стратегии

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

Поделиться