Mira cómo descargar robots gratis
¡Búscanos en Twitter!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el 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.
| Spanish English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Visualizaciones:
14
Ranking:
(1)
Publicado:
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

La idea

Si ejecutas varios EA en una misma cuenta, lo que importa no es cuánto gana cada uno, sino en qué medida se contrarresta su riesgo combinado.

Mide la peor racha de pérdidas de cada sistema por separado y suma esas cifras. A continuación, mide la peor racha de pérdidas de toda la cuenta durante el mismo periodo. La segunda cifra siempre es menor. Cuánto menor es la única medida honesta de tu diversificación, y ningún informe de la plataforma lo muestra.

Este script lo mide. Lee tu historial de operaciones cerradas, lo agrupa por «número mágico» y muestra cuatro datos.

Lo que muestra

1. Por sistema. Número de operaciones, resultado neto y caída máxima para cada «número mágico» que supere el filtro de operaciones mínimas.

2. Compresión. La suma de todas las caídas independientes frente a la caída de la cuenta combinada, y la relación entre ambas. Una relación cercana a 1 significa que los sistemas caen al unísono y que tienes una misma estrategia varias veces. Una relación alta significa que sus malos períodos se producen en fechas diferentes.

3. Correlación. La matriz completa de correlación de Pearson por pares sobre las ganancias y pérdidas por período, el rho absoluto medio, la proporción de pares por debajo de 0,30 y el par más correlacionado por nombre. La misma matriz se representa en el gráfico como un mapa de calor: el color pálido significa que los dos sistemas se ignoran mutuamente; el rojo, que ganan y pierden juntos; y el azul, que son opuestos.

4. Monte Carlo. Los mismos resultados del periodo, reorganizados en un nuevo orden aleatorio varios miles de veces. El historial te proporcionó un orden de meses concreto. El mercado tenía libertad para presentar los mismos meses en cualquier otro orden, y la peor racha cambia cuando eso ocurre. El script indica la caída máxima en los percentiles 50, 90 y 95 de esa nube, y te muestra dónde se sitúa tu trayectoria histórica única dentro de ella. La mayoría de las pruebas retrospectivas se sitúan en la mitad favorable.

Además, todo se guarda en un archivo CSV, por lo que la matriz se puede representar con un mapa de calor en una hoja de cálculo.

Cómo interpretar los resultados

La ratio de compresión es el dato más destacado. Dos, tres, diez veces: eso es lo que te ha aportado la diversificación, en tu propia moneda, en tus propias operaciones.

El rho absoluto medio te indica si la cartera es realmente diferente o solo lo parece. Los valores por debajo de 0,15 en muchos pares indican una cartera auténtica. Los valores por encima de 0,40 significan que estás aplicando variaciones de una misma idea.

El percentil de Monte Carlo es el dato más incómodo. Si tu caída histórica se sitúa en el percentil 60 de la nube, entonces dos tercios de las historias alternativas te fueron más favorables que la que realmente ocurrió. Planifica el tamaño de la posición a partir de la cola de la nube, no a partir de una única trayectoria.

Panel

Datos de entrada

  • InpGrain: granularidad de agrupación para la serie de pérdidas y ganancias: mensual, semanal o diaria. La opción mensual es la predeterminada y la más segura: las correlaciones calculadas a partir de intervalos diarios dispersos se ven arrastradas hacia cero por las celdas vacías. El script te avisa cuando la granularidad elegida deja demasiados intervalos vacíos.
  • InpMCRuns: número de reordenaciones de Monte Carlo. El valor por defecto es 2000. Se limitan los valores inferiores a 100 o superiores a 100 000.
  • InpMinTrades: los «números mágicos» con menos operaciones cerradas que este valor se excluyen del informe y también de la cartera combinada, para que la comparación se realice en condiciones equivalentes. El valor por defecto es 20.
  • InpRefBalance: saldo de referencia utilizado únicamente para expresar la caída de Monte Carlo como porcentaje. Valor por defecto: 10 000.
  • InpExportCSV: escribe la tabla de ganancias y pérdidas del periodo y la matriz de correlación en MQL5\Files. Los nombres de los archivos llevan el prefijo «PCA_» para que nunca sobrescriban la exportación de otra herramienta.
  • InpDrawPanel: dibuja el mapa de calor en el gráfico. Si se establece en «false», se elimina cualquier panel que haya quedado de una ejecución anterior.
  • InpMaskMagics: etiqueta los sistemas como S01, S02, etc., en lugar de mostrar los números mágicos reales. Útil para capturas de pantalla.
  • InpPanelX, InpPanelY: desplazamiento del panel respecto a la esquina superior izquierda, en píxeles.
  • InpPanelMaxPx: lado máximo de la cuadrícula del mapa de calor. El tamaño de las celdas se adapta al número de sistemas; las carteras pequeñas tienen celdas más grandes.
  • InpPanelMaxSys: a partir de este número de sistemas, el panel se omite, ya que la cuadrícula necesitaría más rectángulos de los que el gráfico puede redibujar con fluidez. La exportación a CSV sigue conteniendo la matriz completa. Por defecto, 64.
  • InpMCSeed: 0 genera una semilla aleatoria; cualquier otro valor hace que los percentiles de Monte Carlo sean repetibles. Utiliza una semilla fija cuando la figura se incluya en un informe.

Notas y límites

Las caídas se calculan a partir de los resultados de las operaciones cerradas con la granularidad elegida. No incluyen la oscilación variable de las posiciones abiertas, que es mayor, a menudo en un tercio o más en los sistemas con múltiples símbolos. Interpreta las cifras como caídas realizadas y recuerda que la caída de tu capital fue mayor.

Se contabilizan tanto las operaciones de entrada como las de salida. La mayoría de los brókeres cobran comisión también en la entrada, y contabilizar únicamente las operaciones de salida subestima de forma encubierta el coste.

El número mágico 0 se incluye si supera el filtro de operaciones, y el script lo indica en el registro. En la mayoría de las plataformas, esa categoría incluye las operaciones manuales y cualquier EA que mantenga su número mágico por defecto, por lo que no se trata necesariamente de un único sistema.

La correlación necesita suficientes períodos para que los datos sean significativos. Dos sistemas con seis meses de solapamiento producirán una cifra, pero no será fiable.

Los objetos del panel permanecen en el gráfico una vez finalizado el script, que es lo que se busca para hacer una captura de pantalla. Ejecútalo de nuevo con InpDrawPanel establecido en «false» para eliminarlos.

Lo que no hace

Nunca coloca, modifica ni cierra una orden. No predice nada, no genera señales y no se conecta a ninguna red ni servicio externo. Lee tu historial e informa de lo que contiene.

MQL5 puro, un solo archivo, sin bibliotecas externas.


Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/75606

Sessionvolatilityheatmap Sessionvolatilityheatmap

Muestra el rango de precios medio por hora de la jornada bursátil en forma de mapa de calor en el gráfico, además de un sombreado correspondiente a las sesiones de Asia, Londres y Nueva York detrás de las velas, para que puedas ver cuándo se mueve realmente un valor, en lugar de limitarte a hacer conjeturas.

GoldLondonBreakout GoldLondonBreakout

Se mantienen las posiciones dentro del rango de la sesión asiática en XAUUSD y, a continuación, se coloca un par OCO de ruptura (BuyStop/SellStop) para la apertura de Londres, con stops basados en el ATR y un tamaño de posición en función del porcentaje de riesgo. Sin indicadores, sin discrecionalidad: el rango se mide, no se adivina.

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

Un indicador gráfico para MetaTrader 5 que dibuja velas Heikin Ashi, flechas de compra y venta confirmadas, filtrado opcional de divergencias en el histograma del MACD y alertas configurables.

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

El indicador Acceleration/Deceleration (AC, Aceleración/Desaceleración) mide la aceleración y la desaceleración de la fuerza impulsora del mercado.