Обсуждение статьи "Переосмысливаем классические стратегии (Часть 13): Минимизация задержки при пересечении скользящих средних"

 

Опубликована статья Переосмысливаем классические стратегии (Часть 13): Минимизация задержки при пересечении скользящих средних:

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

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

Для нашего сегодняшнего обсуждения я выбрал пару EURUSD. EURUSD — самая активно торгуемая валютная пара в мире. Она значительно более волатильна, чем большинство валютных пар, и, как правило, не является хорошим выбором для простых стратегий, основанных на пересечениях. Как мы уже обсуждали ранее, мы сосредоточимся на дневном таймфрейме. Мы проведем тестирование на истории нашей стратегии на основе исторических данных примерно за 4 года, с 1 января 2020 года по 24 декабря 2024 года. Период тестирования на истории показан ниже.

Рис. 1. 4-летний период тестирования EURUSD в MetaTrader 5 с использованием месячного таймфрейма

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


Автор: Gamuchirai Zororo Ndawana

 
Спасибо за код и идеи, мне нравится, как вы структурировали свой код. Вы познакомили меня с типом данных Vector, я не использовал его раньше. Очень полезно для меня в других местах.
  vector atr_mean;
      atr_mean.CopyIndicatorBuffer(atr_handler,0,0,90); atr_mean.Mean())
 
linfo2 #:
Спасибо за код и идеи, мне нравится, как вы структурировали свой код. Вы познакомили меня с типом данных Vector, я не использовал его раньше. Очень полезно для меня в других местах.
Спасибо, Ниэль, моя цель - сочетать простоту с технической строгостью, приятно знать, что это приносит свои плоды.

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

Я очень хочу научиться использовать класс Matrix, потому что он позволяет нам строить линейные модели всего за 1 вызов функции.
 
Большое спасибо за этот замечательный способ структурирования кода. Как новичок, эта статья помогла мне далеко продвинуться в обучении. Побольше жира в локоть. Благослови вас Бог за меня. Спасибо.