Discussão do artigo "Desenvolvimento de um sistema personalizado de detecção do regime de mercado em MQL5 (Parte 1): Indicador"

 

Novo artigo Desenvolvimento de um sistema personalizado de detecção do regime de mercado em MQL5 (Parte 1): Indicador foi publicado:

Este artigo descreve em detalhes a criação de um sistema de detecção do regime de mercado em MQL5 usando métodos estatísticos, como autocorrelação e volatilidade. O artigo apresenta o código de classes capazes de classificar condições de tendência, de range e de mercado volátil, bem como um indicador personalizado.

Antes de avançar para os detalhes da implementação, é fundamental entender o que são regimes de mercado e por que eles são tão importantes para os traders. Os mercados não se comportam da mesma forma ao longo do tempo; em vez disso, passam de um estado comportamental, ou "regime", para outro. Esses regimes influenciam significativamente a dinâmica dos preços e, consequentemente, o desempenho das estratégias de negociação.

O que são regimes de mercado?

Regimes de mercado são padrões distintos de comportamento do mercado, caracterizados por determinadas propriedades estatísticas dos movimentos de preço. Embora existam várias maneiras de classificar os regimes de mercado, vamos nos concentrar em três tipos principais, que são os mais relevantes para o desenvolvimento de estratégias de negociação:
  1. Regimes de tendência. Os mercados apresentam um forte movimento direcional, com pouca reversão à média. O preço tende a apresentar movimentos sucessivos em uma mesma direção, com pequenos pullbacks. Estatisticamente, mercados de tendência apresentam autocorrelação positiva nos retornos, o que significa que movimentos de preço em uma direção têm maior probabilidade de serem seguidos por movimentos na mesma direção.
  2. Regimes de flat. Os mercados oscilam entre níveis de suporte e resistência, com forte tendência de reversão à média. O preço tende a oscilar entre limites definidos, em vez de sair dessa faixa em qualquer direção. Estatisticamente, mercados em flat apresentam autocorrelação negativa nos retornos, o que significa que movimentos ascendentes de preço têm maior probabilidade de serem seguidos por um movimento descendente, e vice-versa.
  3. Regimes voláteis. Os mercados apresentam movimentos de preço fortes e caóticos, sem direção clara. Esses regimes costumam surgir em períodos de incerteza, divulgação de notícias ou tensão nas condições de mercado. Estatisticamente, regimes voláteis apresentam desvio-padrão elevado dos retornos, com padrões de autocorrelação imprevisíveis.

Entender em qual regime o mercado se encontra no momento fornece um contexto essencial para a tomada de decisões de negociação. Uma estratégia otimizada para mercados de tendência provavelmente terá baixo desempenho em condições de mercado em flat, enquanto estratégias de reversão à média desenvolvidas para mercados em flat podem ser catastróficas durante tendências fortes.


Autor: Sahil Bagdi

 
Seu código não é compilado.... missing IsStrongSignal(value) ...
 
Robert Angers #:
Seu código não é compilado.... missing IsStrongSignal(value) ...

A qual arquivo você está se referindo?

 

O indicador de regime de mercado tem 24 erros e 1 aviso quando tento compilar:

'MarketRegimeIndicator.mq5' 1

arquivo 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeEnum.mqh' não encontrado MarketRegimeIndicator.mq5 14 11

Arquivo 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeDetector.mqh' não encontrado MarketRegimeIndicator.mq5 15 11

'CMarketRegimeDetector' - token inesperado, provavelmente o tipo está faltando? MarketRegimeIndicator.mq5 29 1

'*' - ponto e vírgula esperado MarketRegimeIndicator.mq5 29 23

'Detector' - identificador não declarado MarketRegimeIndicator.mq5 64 5

'CMarketRegimeDetector' - declaração sem tipo MarketRegimeIndicator.mq5 64 20

'CMarketRegimeDetector' - tipo de classe esperado MarketRegimeIndicator.mq5 64 20

Função não definida MarketRegimeIndicator.mq5 64 20

'new' - expressão do tipo 'void' é ilegal MarketRegimeIndicator.mq5 64 16

'=' - uso de operação ilegal MarketRegimeIndicator.mq5 64 14

'Detector' - identificador não declarado MarketRegimeIndicator.mq5 65 8

'==' - uso de operação ilegal MarketRegimeIndicator.mq5 65 17

'Detector' - identificador não declarado MarketRegimeIndicator.mq5 72 5

'Detector' - identificador não declarado MarketRegimeIndicator.mq5 73 5

'Detector' - identificador não declarado MarketRegimeIndicator.mq5 74 5

'Detector' - identificador não declarado MarketRegimeIndicator.mq5 101 9

';' - token inesperado MarketRegimeIndicator.mq5 103 68

'(' - parêntese esquerdo não balanceado MarketRegimeIndicator.mq5 101 7

Declaração controlada vazia encontrada MarketRegimeIndicator.mq5 103 68

'Detector' - identificador não declarado MarketRegimeIndicator.mq5 133 8

'!=' - uso de operação ilegal MarketRegimeIndicator.mq5 133 17

'Detector' - identificador não declarado MarketRegimeIndicator.mq5 135 16

'Detector' - ponteiro de objeto esperado MarketRegimeIndicator.mq5 135 16

'Detector' - identificador não declarado MarketRegimeIndicator.mq5 136 9

'=' - uso de operação ilegal MarketRegimeIndicator.mq5 136 18

24 erros, 1 advertência 25 2


 
Rau Heru #:

O indicador de regime de mercado apresenta 24 erros e 1 aviso quando tento compilar:

'MarketRegimeIndicator.mq5' 1

Arquivo 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeEnum.mqh' não encontrado MarketRegimeIndicator.mq5 14 11

Arquivo 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeDetector.mqh' não encontrado MarketRegimeIndicator.mq5 15 11

O indicador procura por esses arquivos na pasta C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\

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

// Incluir o Detector de Regime de Mercado
#include <MarketRegimeEnum.mqh>
#include <MarketRegimeDetector.mqh>
 
Sahil Bagdi #:

A que arquivo você está se referindo?

MarketRegimeDetector.mqh

na linha 472

Presumo que esteja se referindo a

'IsStrongSignal' - identificador não declarado MarketRegimeDetector.mqh 472 16

'strategySignal' - algum operador esperado MarketRegimeDetector.mqh 472 31