Перенос стратегии My Language с несколькими индикаторами на JavaScript
Сводка
В руководстве показан перенос торговой системы My Language на JavaScript. В примере рассчитывается индикатор в стиле WaveTrend по среднему значению максимума, минимума и закрытия каждого бара, применяются экспоненциальные скользящие средние и нормализованное отклонение, а затем результат сглаживается взвешенным рекурсивным средним. В статье отмечается, что доступная на платформе простая скользящая средняя не совпадает с трёхаргументной SMA языка My Language, поэтому необходимая рекуррентная формула реализуется напрямую. Затем пересечения индикатора преобразуются в сигналы для длинных и коротких входов с учётом задержанной ссылки на сигнал в исходном языке и обработки состояния позиции на платформе.
В объяснении рассматриваются создание массивов, проверка допустимости индикаторов и схема обновления на закрытии, предназначенная для ускорения бэктестов. Приведены материалы бэктеста исходной и перенесённой версий для сравнения, но численного сопоставления эффективности или доказательства полной эквивалентности нет. Детали переноса, такие как пропущенные значения, инициализация, время пересечения и переходы между состояниями ордера, могут изменить результаты; автор также отмечает, что смещение сигнала необходимо понять, а не принимать на веру.
Ключевые идеи
- Переносите каждый этап расчёта индикатора на JavaScript, сохраняя выравнивание массивов.
- Реализуйте взвешенную рекуррентную формулу SMA исходного языка, если библиотечная функция имеет другую семантику.
- Перед расчётом зависимых индикаторов проверяйте длины входных данных и недопустимые значения.
- При определении времени сигнала учитывайте ссылку на предыдущий бар в исходной стратегии и поведение пересечений.
- Сравнение результатов бэктеста полезно, но в статье нет численных результатов или доказательства полной эквивалентности.
Теги
Это краткое изложение подготовлено исследовательским агентом Stratmill по оригиналу и не является его копией.