Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Scripts

Portfolio Correlation Analyzer - script para MetaTrader 5

Seckin Erkut
Seckin Erkut
Algo Trading Systems Developer. I develop strategies and portfolios not by hypes but from solid academic literature.

I put my money where my mouth is, be sure to check the performance of my EAs through my signals.
| Portuguese English Русский 中文 Español Deutsch 日本語 한국어 Français Italiano Türkçe
Visualizações:
14
Avaliação:
(1)
Publicado:
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

A ideia

Se você executar vários EAs em uma única conta, o que importa não é quanto cada um deles ganha. O que importa é em que medida o risco combinado deles se compensa.

Meça a pior sequência de perdas de cada sistema individualmente e some esses números. Em seguida, meça a pior sequência de perdas de toda a conta no mesmo período. O segundo número é sempre menor. O quanto menor é a única medida honesta da sua diversificação, e nenhum relatório do terminal mostra isso.

Este script mede isso. Ele analisa seu histórico de operações encerradas, agrupa-o por “magic number” e apresenta quatro informações.

O que ele relata

1. Por sistema. Número de operações, resultado líquido e drawdown máximo para cada número mágico que passa pelo filtro de número mínimo de operações.

2. Compressão. A soma de todas as perdas individuais em relação à perda da conta combinada e a relação entre elas. Uma relação próxima a 1 significa que os sistemas se comportam de maneira semelhante e você possui uma única estratégia repetidas vezes. Uma relação alta significa que os períodos ruins deles ocorrem em datas diferentes.

3. Correlação. A matriz completa de correlação de Pearson em pares para lucros e perdas por período, o rho absoluto médio, a proporção de pares abaixo de 0,30 e o par mais correlacionado por nome. A mesma matriz é representada no gráfico como um mapa de calor: a cor clara indica que os dois sistemas não se influenciam mutuamente; o vermelho significa que ganham e perdem juntos; o azul significa que são opostos.

4. Monte Carlo. Os mesmos resultados do período, reorganizados em uma nova ordem aleatória algumas milhares de vezes. O histórico forneceu uma única ordem dos meses. O mercado tinha liberdade para apresentar os mesmos meses em qualquer outra ordem, e o pior trecho muda quando isso ocorre. O script relata a queda máxima nos percentis 50, 90 e 95 dessa nuvem e indica onde sua única trajetória histórica se situa dentro dela. A maioria dos backtests fica na metade favorável.

Tudo também é gravado em CSV, para que a matriz possa ser representada por um mapa de calor em uma planilha.

Como interpretar os resultados

A taxa de compressão é o destaque. Duas, três, dez vezes: é isso que a diversificação lhe rendeu, na sua própria moeda, nas suas próprias operações.

O rho absoluto médio indica se a carteira é genuinamente diferente ou apenas parece diferente. Valores abaixo de 0,15 em muitos pares indicam uma carteira real. Valores acima de 0,40 significam que você está executando variações de uma única ideia.

O percentil de Monte Carlo é o que causa desconforto. Se sua queda histórica se situa no 60º percentil da nuvem, então dois terços dos cenários alternativos foram mais favoráveis a você do que o que realmente aconteceu. Planeje o tamanho da posição a partir da cauda da nuvem, não a partir de um único caminho.

Painel

Entradas

  • InpGrain — granularidade dos intervalos para a série de lucros e perdas: mensal, semanal ou diária. Mensal é o padrão e o mais seguro: as correlações calculadas em intervalos diários esparsos são puxadas para zero pelas células vazias. O script avisa quando a granularidade escolhida deixa intervalos vazios em excesso.
  • InpMCRuns – número de repetições do método de Monte Carlo. Padrão: 2.000. Valores abaixo de 100 ou acima de 100.000 são limitados.
  • InpMinTrades – números mágicos; as operações com menos transações fechadas do que esse valor são excluídas do relatório e também da carteira combinada, para que a comparação seja feita entre itens equivalentes. Padrão: 20.
  • InpRefBalance — saldo de referência usado apenas para expressar a queda máxima do Monte Carlo como porcentagem. Padrão: 10.000.
  • InpExportCSV — grava a tabela de lucros e perdas do período e a matriz de correlação na pasta MQL5\Files. Os nomes dos arquivos recebem o prefixo PCA_ para que nunca sobrescrevam a exportação de outra ferramenta.
  • InpDrawPanel - desenha o mapa de calor no gráfico. Quando definido como “false”, qualquer painel remanescente de uma execução anterior é removido.
  • InpMaskMagics — rotula os sistemas como S01, S02 e assim por diante, em vez de exibir os números mágicos reais. Útil para capturas de tela.
  • InpPanelX, InpPanelY — deslocamento do painel em relação ao canto superior esquerdo, em pixels.
  • InpPanelMaxPx — lado máximo da grade do mapa de calor. O tamanho das células se adapta ao número de sistemas; carteiras pequenas recebem células maiores.
  • InpPanelMaxSys — acima desse número de sistemas, o painel é ignorado, pois a grade precisaria de mais retângulos do que o gráfico consegue redesenhar com facilidade. A exportação para CSV ainda contém a matriz completa. Padrão: 64.
  • InpMCSeed — 0 gera uma semente aleatória; qualquer outro valor torna os percentis de Monte Carlo repetíveis. Use uma semente fixa quando o gráfico for incluído em um relatório.

Observações e limites

As quedas são calculadas com base nos resultados das operações fechadas na granularidade escolhida. Elas não incluem a variação flutuante das posições abertas, que é mais acentuada — frequentemente em um terço ou mais em sistemas com múltiplos símbolos. Interprete os números como queda efetiva e lembre-se de que a queda do seu patrimônio líquido foi maior.

Tanto as operações de entrada quanto as de saída são contabilizadas. A maioria das corretoras cobra comissão também na entrada, e contabilizar apenas as operações de saída subestima silenciosamente o custo.

O número mágico 0 é incluído se passar pelo filtro de negociação, e o script indica isso no log. Na maioria dos terminais, esse grupo abrange negociações manuais e qualquer EA que permaneça com seu número mágico padrão, portanto, não se trata necessariamente de um único sistema.

A correlação precisa de períodos suficientes para ter significado. Dois sistemas com seis meses de sobreposição produzirão um número, mas não um número confiável.

Os objetos do painel permanecem no gráfico após a conclusão do script, o que é ideal para uma captura de tela. Execute-o novamente com InpDrawPanel definido como false para removê-los.

O que ele não faz

Ele nunca abre, modifica ou fecha uma ordem. Ele não prevê nada, não gera sinais e não se conecta a nenhuma rede ou serviço externo. Ele lê seu histórico e relata o que está nele.

MQL5 puro, arquivo único, sem bibliotecas externas.


Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/75606

Sessionvolatilityheatmap Sessionvolatilityheatmap

Mostra a faixa média de preços por hora do dia de negociação como um mapa de calor no gráfico, além de um sombreado correspondente aos horários das sessões da Ásia, Londres e Nova York atrás das velas — para que você possa ver quando um símbolo realmente se move, em vez de apenas adivinhar.

GoldLondonBreakout GoldLondonBreakout

Na sessão asiática, mantém a posição dentro da faixa de variação do XAUUSD e, em seguida, define um par de ordens OCO de rompimento (BuyStop/SellStop) para a abertura do mercado de Londres, com stops baseados no ATR e dimensionamento da posição com base na porcentagem de risco. Sem indicadores, sem discricionariedade — a faixa é medida, não estimada.

SHK Heikin Ashi MACD Signal Arrows SHK Heikin Ashi MACD Signal Arrows

Um indicador gráfico para o MetaTrader 5 que traça velas Heikin Ashi, setas de compra e venda confirmadas, filtragem opcional de divergência do histograma do MACD e alertas configuráveis.

Trade Journal and Performance Analytics Dashboard Trade Journal and Performance Analytics Dashboard

Um painel leve integrado ao gráfico que analisa seu histórico de operações fechadas e exibe a taxa de acerto, o fator de lucro, sequências de resultados e uma curva de patrimônio — sem necessidade de inserir estratégias, apenas seus próprios números, atualizados automaticamente.