Fala, galera! Hoje vou apresentar a vocês o iSpread, um indicador incrível que permite criar símbolos sintéticos com base em dois pares selecionados. Vamos entender como ele funciona?
O algoritmo do indicador é bem simples:

- Data de início - escolha o dia inicial para construir um símbolo sintético. Isso é crucial para evitar o uso de dados históricos desnecessários.
- Símbolo 1/2 - selecione os dois pares que você deseja usar.

- Ação - escolha uma operação aritmética que será usada para combinar as duas séries em uma só. Temos 4 operações disponíveis: - + / *. Eu costumo usar a diferença e a razão. A soma e o produto também podem ser úteis, mas nunca testei. Se alguém souber como utilizá-los, ficarei feliz em ouvir!
- Inversão do Símbolo 1/2 - inverta uma série selecionada se a correlação for negativa.
- Grau do Símbolo 1/2 - exponenciação das séries selecionadas. Embora eu saiba que isso é necessário, nunca usei essa opção, pois não entendo exatamente sua utilidade. Acredito que pode ajudar a igualar dimensões, mas eu uso multiplicadores para isso. Se alguém tiver uma ideia melhor, estou por aqui!
- Multiplicador do Símbolo 1/2 - multiplique uma série por um número específico. Isso eu uso para igualar dimensões das séries.
- Logaritmos - converta a série resultante em uma escala logarítmica. Quando uso logaritmo, preparo a série final usando a diferença entre as duas séries originais. Se não usar, seleciono a razão como ação. Essa conversão pode ajudar a evitar a influência de tendências quadráticas. No entanto, não percebo diferença em segmentos curtos, então frequentemente opto pela razão. Se eu estiver errado, aceito sugestões!
- Smooth Period - Após todas as ações, antes de juntar as duas séries, às vezes utilizo uma leve suavização dos dados resultantes. Eu suavizo a série usando uma média móvel simples com um período específico. Isso raramente distorce os dados, mas pode eliminar alguns picos. Você pode optar por não usar suavização definindo 0 para esse parâmetro. Em períodos curtos, para remover a tendência, eu geralmente não utilizo suavização, pois ela não causa perda de dados em grandes valores, além de deixar a série final mais limpa e menos ruidosa.
Pronto! Com isso, já conseguimos preparar os dados e criar um símbolo sintético. Demos um exemplo com o par EURUSD:

Agora, pegamos também o par GBPUSD:

Resultado: temos nosso símbolo sintético!

A última etapa é determinar a devida desvio para encontrar os pontos de entrada:

- Selecionando um algoritmo - Remova a tendência usando uma média móvel simples ou a Primeira Diferença. Eu conheço duas maneiras de fazer isso (prefiro a segunda). A primeira consiste em remover a média móvel do símbolo sintético. O período é escolhido com base no horizonte de investimento. A segunda maneira é usar a primeira diferença duas vezes, primeiro para cada par e depois a diferença entre os resultados. Os resultados finais são semelhantes quando não há movimentos fortes em uma das séries. Quando há, o primeiro método tende a retornar mais rapidamente ao zero, o que pode ser um falso indício. Para a primeira diferença, uso Close[1]/Close[2], o que chamo de "primeira razão", embora nunca tenha ouvido esse termo antes.
- Período para o algoritmo - um deslocamento. Se definido como 0, o símbolo sintético não é modificado.
- Mostrar níveis - escolha se deseja mostrar ou ocultar os níveis de desvio que indicam a entrada no mercado. Eu uso três níveis em ambas as direções: vermelho, amarelo e verde.
- Método de cálculo de níveis - conheço três maneiras de determinar estes níveis. Método 1: normalização em 0..1 com um offset. O símbolo sintético é normalizado em uma faixa unitária, seguida por um deslocamento de -0,5 para que as flutuações fiquem em torno de 0. Costumo usar esse método, mas vale lembrar que os dados iniciais disponíveis sem extremos estáveis não devem ser considerados. O indicador não redesenha o passado após a atualização dos extremos, então ele se comporta assim no gráfico:

Depois de duas ou três boas divergências nas séries iniciais, você pode começar a confiar nesses níveis. Os extremos para a normalização não são perdidos à medida que os dados se acumulam.
Método 2: níveis de extremos - rastreia a máxima absoluta de desvio e a divide em 3 níveis para a entrada no mercado. As características são as mesmas da normalização - não é recomendado confiar nesses níveis até que você tenha extremos estáveis.
Quando usamos esse método, a visualização fica assim:

Uma vantagem significativa de usar qualquer um dos métodos acima para desenhar níveis é que eles não ficam estreitos. Porém, se houver um spike, os cálculos subsequentes são influenciados por ele. Para eliminar isso, o indicador possui um parâmetro chamado Coeficiente de Níveis (que permite manualmente estreitar ou expandir os níveis para a entrada no mercado).
Método 3: cálculo da desvio padrão. Esse método não foi implementado no indicador, pois causa um estreitamento dos níveis, o que considero inaceitável. No final, os níveis parecem como bolhas que estão continuamente estreitando e expandindo. Infelizmente, não posso fornecer capturas de tela, pois removi esse método de cálculo de todos os indicadores. Outro problema é que você precisa verificar constantemente todos os dados disponíveis para calcular tudo corretamente.
P.S. O indicador foi migrado do MetaTrader 4 para testar algumas ideias no multitester, mas algumas observações:
- O indicador gera um pouco de ruído se não consegue obter todos os dados. Não consegui descobrir a razão, isso não acontece no MetaTrader 4;
- O indicador poderia utilizar dados anteriores ao encontrar lacunas, mas, devido ao primeiro ponto, deixei os dados vazios, então podemos ver exatamente onde faltam dados;
- Se algo estranho aparecer, atualize o gráfico, mude o período, o par, etc.
- Tentei usar um temporizador quando não havia dados - o resultado não foi satisfatório, então excluí o temporizador.
- Desconfio que os pontos 1-4 resultam do meu conhecimento limitado de MQL5, então agradeço muito seus comentários.
Publicações relacionadas
- Buffers Horários para Coleta de Dados no MetaTrader 5
- Calendário Econômico: Monitoramento e Cache para Testes de Estratégia no MetaTrader 5
- EquiPeak Drawdown Tracker: Controle Eficiente para Seus EAs no MetaTrader 5
- Utilitário de Informações de Séries e Taxas para MetaTrader 5: Maximize Seu Trading
- Índice de Caminhada Aleatória: Um Indicador Essencial para MetaTrader 5