Обсуждение статьи "Создание пользовательской системы определения рыночного режима на языке MQL5 (Часть 1): Индикатор"

 

Опубликована статья Создание пользовательской системы определения рыночного режима на языке MQL5 (Часть 1): Индикатор:

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

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

Что такое рыночные режимы?

Рыночные режимы — это отдельные модели поведения рынка, характеризующиеся определенными статистическими свойствами движения цен. Хотя существуют различные способы классификации рыночных режимов, мы сосредоточимся на трех основных типах, которые наиболее актуальны для разработки торговой стратегии:
  1. Трендовые режимы. Рынки демонстрируют сильное направленное движение с минимальным возвратом к среднему значению. Цена имеет тенденцию совершать последовательные движения в одном направлении с небольшими откатами. По статистике, трендовые рынки демонстрируют положительную автокорреляцию по доходности, и это означает, что за движениями цен в одном направлении, вероятнее всего, последуют движения в том же направлении.
  2. Режимы флэта. Рынки колеблются между уровнями поддержки и сопротивления с ярко выраженными тенденциями к возврату к среднему значению. Цена имеет тенденцию отскакивать между определенными границами, а не выходить из них в каком-либо направлении. По статистике, флэтовые рынки демонстрируют отрицательную автокорреляцию по доходности, и это означает, что за восходящими движениями цены, вероятнее всего, последует нисходящее движение, и наоборот.
  3. Волатильные режимы. На рынках наблюдаются сильные, хаотичные движения цен с неясным направлением. Такие режимы часто возникают в периоды неопределенности, новостных событий или напряженности рыночной конъюнктуры. По статистике, волатильные режимы демонстрируют высокие значения стандартных отклонений в доходности с непредсказуемыми моделями автокорреляции.

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


Автор: Sahil Bagdi

 
Ваш код не компилируется.... отсутствует IsStrongSignal(value) ...
 
Robert Angers #:
Ваш код не компилируется.... отсутствует IsStrongSignal(value) ...

На какой файл вы ссылаетесь?

 

При попытке скомпилировать индикатор рыночного режима возникает 24 ошибки и 1 предупреждение:

'MarketRegimeIndicator.mq5' 1

файл 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeEnum.mqh' не найден MarketRegimeIndicator.mq5 14 11

файл 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeDetector.mqh' не найден MarketRegimeIndicator.mq5 15 11

'CMarketRegimeDetector' - неожиданная лексема, возможно, отсутствует тип? MarketRegimeIndicator.mq5 29 1

'*' - ожидается точка с запятой MarketRegimeIndicator.mq5 29 23

'Detector' - необъявленный идентификатор MarketRegimeIndicator.mq5 64 5

'CMarketRegimeDetector' - объявление без типа MarketRegimeIndicator.mq5 64 20

'CMarketRegimeDetector' - ожидается тип класса MarketRegimeIndicator.mq5 64 20

функция не определена MarketRegimeIndicator.mq5 64 20

'new' - выражение типа 'void' недопустимо MarketRegimeIndicator.mq5 64 16

'=' - использование недопустимой операции MarketRegimeIndicator.mq5 64 14

'Detector' - необъявленный идентификатор MarketRegimeIndicator.mq5 65 8

'==' - использование недопустимой операции MarketRegimeIndicator.mq5 65 17

'Detector' - необъявленный идентификатор MarketRegimeIndicator.mq5 72 5

'Detector' - незадекларированный идентификатор MarketRegimeIndicator.mq5 73 5

'Detector' - незадекларированный идентификатор MarketRegimeIndicator.mq5 74 5

'Detector' - незаявленный идентификатор MarketRegimeIndicator.mq5 101 9

';' - неожиданная лексема MarketRegimeIndicator.mq5 103 68

'(' - несбалансированная левая скобка MarketRegimeIndicator.mq5 101 7

найдено пустое управляемое утверждение MarketRegimeIndicator.mq5 103 68

'Detector' - необъявленный идентификатор MarketRegimeIndicator.mq5 133 8

'!=' - использование недопустимой операции MarketRegimeIndicator.mq5 133 17

'Detector' - необъявленный идентификатор MarketRegimeIndicator.mq5 135 16

'Detector' - ожидается указатель объекта MarketRegimeIndicator.mq5 135 16

'Detector' - необъявленный идентификатор MarketRegimeIndicator.mq5 136 9

'=' - недопустимое использование операции MarketRegimeIndicator.mq5 136 18

24 ошибки, 1 предупреждение 25 2


 
Rau Heru #:

При попытке скомпилировать индикатор рыночного режима возникает 24 ошибки и 1 предупреждение:

'MarketRegimeIndicator.mq5' 1

файл 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeEnum.mqh' не найден MarketRegimeIndicator.mq5 14 11

файл 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeDetector.mqh' не найден MarketRegimeIndicator.mq5 15 11

Индикатор ищет эти файлы в папке C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\

#property copyright "Sahil Bagdi"
#property link      "https://www.mql5.com/ru/users/sahilbagdi"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_plots   3

// Включить детектор рыночного режима
#include <MarketRegimeEnum.mqh>
#include <MarketRegimeDetector.mqh>
 
Sahil Bagdi #:

Какой файл вы имеете в виду?

MarketRegimeDetector.mqh

в строке 472

Я предполагаю, что вы имеете в виду

'IsStrongSignal' - необъявленный идентификатор MarketRegimeDetector.mqh 472 16

'strategySignal' - ожидается какой-то оператор MarketRegimeDetector.mqh 472 31