Тестирование торговых стратегий на JavaScript
Успешная торговля на финансовых рынках невозможна без проработанной торговой системы. Наличие у трейдера отлаженной и проверенной на исторических данных стратегии позволяет надеяться на стабильную прибыль. Поэтому разработка такой стратегии является важным вопросом в работе современного трейдера.
Тестирование торговой стратегии позволят оценить её жизнеспособность. Существует два основных вида тестирования на исторических данных: ручное и автоматическое. В первом случае программа-тестер создаёт имитацию реальных торгов на основе исторических данных, а трейдер самостоятельно принимает решения о входе и выходе из позиции. Несмотря на то, что время здесь можно существенно ускорить, этот процесс занимает много времени, утомителен и имеет риск появления неверных решений, а иногда и затруднительных для принятия.
Автоматическое тестирование торговых стратегий предполагает наличие у трейдера определённого алгоритма торговли, переложенного на язык, понятный компьютеру. Но чтобы превратить стратегию в программный код, необходимо уметь программировать или обратиться за помощью к программистам. Также для тестирования советников в тестере стратегий нужен качественный архив котировок за достаточно продолжительное время.
Существуют много программных продуктов для тестирования. В каждом из них применяются свои скриптовые языки и, как правило, возникают некоторые технические ограничения, поэтому протестировать все необходимые стратегии полностью не получается. Также необходимо изучать эти языки, их возможности и слабые стороны. Имея многолетний опыт в торговле на фондовом рынке и программировании, у меня возникла необходимость в собственной системе для тестирования. Она уже находится в стадии разработки, об особенностях которой я расскажу ниже.
Главный принцип, которого я придерживаюсь в разработке – делать так, как если бы системой пользовался не только я, а другие.
В чём главное отличие разработки от других программных продуктов?
- Система работает прямо в браузере. Достаточно авторизоваться - и вот ваши разработки перед вами. Это своеобразное облако стратегий, доступное из любого устройства на любой ОС. Однако система не является поставщиком исторических данных и не имеет права их предоставлять, поэтому файлы с данными придётся загружать вручную, взяв их из различных источников.
- Индикаторы и стратегии описываются на языке JavaScript, о доступности справочников и уроков не стоит рассказывать. Скриптовый язык браузера, который вполне подходит для этих целей. Принцип построения индикаторов заимствован у языка MQL4: есть глобальные массивы open, high, low, close, value с соответствующими значениями, индексация начинается с последнего бара. В буферные массивы записываются рассчитанные значения Ваших индикаторов, по которым происходит их отрисовка. Работа непосредственно советника основана на генерации сделок, рассчитанной в соответствии со стратегией на основе необходимых индикаторов и данных котировок.
- В тестере реализована возможность пошагового отслеживания работы скрипта для тщательной проверки корректности его работы. По результатам тестирования выводятся журнал сделок, график изменения депозита и статистические характеристики. А встроенный в браузер инструмент разработчика поможет отладить возникающие ошибки и отследить работу скрипта по логам.
В планах научить систему запускать стратегии непосредственно на сервере без необходимости запуска в браузере и генерировать торговые сигналы для работы на реальных счетах через API.
В ближайшее время я планирую открыть доступ к пилотной версии системы всем желающим. Системе только предстоит развитие, поэтому обратная связь с сообществом трейдеров приветствуется. Уверен, что браузерный тестер найдёт интерес у трейдеров, особенно у тех, кто только начинает осваиваться в автоматизации торговли.
Приглашаем Вас на наш телеграм-канал, из которого Вы узнаете об открытии доступа к нашему тестеру стратегий. Попутного тренда Вам и больших профитов!