Análisis avanzado de una cuenta de trading
Nefedov Kirill | 11 mayo, 2016
Introducción
Este artículo aborda el sistema de análisis del funcionamiento de un sistema de trading automatizado mediante el script MQLab™ Graphic Report.
El artículo tiene tres objetivos:
- Mostrar las ventajas de los resultados de este análisis en comparación con el informe estándar del terminal de MetaTrader 4.
- Describir los métodos de análisis para determinar todos los parámetros del trading.
- Sacar las conclusiones sobre la mejora del trading después de revisar en detalle el informe obtenido.
Para el análisis he utilizado una de mis más prometedoras estrategias de trading. Puesto que es improbables que el Asesor Experto que funciona en una cuenta demo (de prueba) sea utilizado por el público en general, no voy a abordar las estrategias de trading en este artículo. Además, se han eliminado algunas partes de los informes publicados y se han ordenado las transacciones de manera que no se puedan desvelar los métodos del trading.
Cada copia del Asesor Experto funciona con su propio par de divisas y su propia configuración, por lo que es imposible evaluar y entender todos los detalles de las transacciones realizadas mediante las herramientas habituales del terminal de MetaTrader 4. Hacen falta sistemas de análisis más avanzados para entender lo que está sucediendo.
Planteamiento del problema:
1. Analizar el funcionamiento de los Asesores Expertos en una cuenta de trading.
2. Identificar los parámetros que afectan negativamente el funcionamiento de los Asesores Expertos, así como la rentabilidad conjunta o de cada par de divisas por separado.
3. Encontrar los patrones que afectan la rentabilidad, las disminuciones, las previsiones, etc.
4. Encontrar la mejor combinación de pares de divisas para trabajar con ella posteriormente.
5. Generar un listado de posibles mejoras en el funcionamiento del sistema del Asesor Experto.
Motivos y requisitos previos para generar un informe ampliado
A partir de la versión MetaTrader 3, los traders ya pueden participar en el cambio de divisas internacionales sin salir de casa.
wikipedia.org |
---|
FOREX es la abreviatura del término inglés FOReign EXchange. El término Forex hace referencia al cambio de divisas libremente convertibles, y no a todas las transacciones de cambio de divisas. En general, se usa la frase "Mercado Forex" para hacer hincapié en el principio del mercado (en lugar del administrativo) para la generación de cotizaciones en el mercado. Dependiendo de los objetivos, las operaciones del mercado Forex pueden ser de tipo trading, especulativo, de cobertura o de regulación (intervenciones de los bancos centrales en materia de divisas). Además, el término Forex se refiere a menudo al trading puramente especulativo de divisas a través de los bancos comerciales o centros de negociación e implicando el apalancamiento, es decir, el trading de margen. Con el desarrollo y la transición a la plataforma MetaTrader 4, es posible ahora realizar transacciones de un modo totalmente automatizado las 24 horas del día. Puesto que los terminales de ambas versiones permiten a los usuarios llevar a cabo sus transacciones con varios pares de divisas en la misma cuenta, las estadísticas del trading son comunes a toda la cuenta. Los desarrolladores no han proporcionado las herramientas técnicas para el análisis de las transacciones llevadas a cabo con un par de divisas determinado o con un conjunto de pares de divisas. Las estadísticas de ejecución siguen siendo las mismas desde la tercera generación del terminal. Se espera que el informe del próximo terminal de MetaTrader 5 sea mejor y que incluya más detalles y mayor escalabilidad. Durante los últimos 3 años, aparecieron muchas estrategias de trading automatizado (sistemas de trading automatizado, Asesores Expertos, robots de trading, etc.) en Internet y se organizaron 3 campeonatos internacionales, pero los métodos de análisis no han cambiado mucho. Se usaron estadísticas más detalladas en los campeonatos, pero no se pueden utilizar ni en nuestras cuentas de trading ni en las de otros traders. En mi opinión, la evaluación de los parámetros de trading de los Asesores Expertos que se venden por Internet es la menos eficiente. El foro también está lleno de soluciones milagrosas. Sus desarrolladores están convencidos de que sus estrategias de trading son rentables y muchos de los usuarios que estudian los informes publicados empiezan a inundar los temas del foro. La cuarta razón de generación de informes son los inversores. A mi juicio, estas personas carecen prácticamente de cualquier tipo datos analíticos sobre las operaciones de trading llevadas a cabo en una cuenta demo o cualquier otro tipo de cuenta. Un inversor no es capaz de evaluar el funcionamiento del sistema al máximo, incluso cuando tiene acceso a la cuenta que quiere. La mayoría de estas inversiones acaban con pérdidas. Teniendo en cuenta este aspecto, me he propuesto la tarea de desarrollar un informe más detallado y versátil. El trabajo para mejorar su contenido sigue en marcha, pero les voy a mostrar sus características y métodos de aplicación actuales. |
Características del informe ampliado
El informe ampliado incluye todos los parámetros del informe estándar. Se han tomado las fórmulas para el cálculo de la fuente original. La siguiente tabla muestra las novedades implementadas en el informe ampliado:
El informe detallado es un archivo HTML. Incluye todos los parámetros del informe estándar, además de otros:
|
Se presenta la parte gráfica del informe en forma de gráficos dinámicos Flash, gráficos y diagramas circulares.
|
||
|
El diagrama circular Number of characters muestra el número de órdenes cerradas por cada par de divisas. Se asigna un color a cada par y se muestran los valores más altos como una extensión del gráfico. |
||
El gráfico de columna Count win/loss dynamics muestra el número de transacciones rentables y las que generan pérdidas por el tipo de orden para un par de divisas. |
Creación automática de los archivos XML para generar los gráficos. Se guardan los archivos en el disco duro de su ordenador. |
||
El sistema de comprobaciones y avisos. Este sistema evita la configuración equivocada de los parámetros y avisa cuando los datos son incorrectos. |
Informe del sistema de filtrado. Se puede generar este informe de distintas maneras mediante la aplicación de varios filtros. Como resultado del filtrado, obtenemos exactamente el informe que necesitamos para el análisis. |
||
Filtro de fecha y hora. Este filtro es necesario si quiere generar un informe para una fecha u hora determinada. El informe incluye todas las órdenes cerradas, abiertas y pendientes cuyas condiciones de apertura y cierre coinciden con los ajustes de tiempo establecidos. |
Filtro de comentarios de órdenes. Esta función filtra el informe mediante un parámetro específico y añade las transacciones cuyos comentarios coinciden con los comentarios indicados en los ajustes del script. |
||
El filtro del número MAGIC es necesario para separar el trading automatizado del manual o el trading automatizado con varios Asesores Expertos en una sola cuenta. Este informe incluye únicamente las posiciones y órdenes cuyo parámetro MAGIC coincide con aquel establecido en los ajustes del script. |
Función para mostrar/ocultar las órdenes pendientes en el informe. No hace falta mostrar siempre las órdenes pendientes en el informe puesto que no llevan ningún dato relevante para el análisis y pueden revelar el funcionamiento del Asesor Experto o la lógica del trading manual a terceros. |
||
Función para mostrar/ocultar las posiciones abiertas en el informe. No siempre hace falta mostrar las órdenes abiertas en el informe al los inversores u otras personas. |
Función para mostrar/ocultar las posiciones sin ganancias en el informe. Si el historial de las transacciones incluye órdenes con beneficio cero sería mejor eliminarlas del informe ya que no contienen ningún dato importante y pueden ralentizar el cálculo de los datos como el factor de beneficio, las expectativas, etc. |
||
Filtro para mostrar solamente las columnas necesarias. Este filtro es necesario para la representación compacta de la información, así como para ocultar las partes importantes de la estrategia de trading sin distorsionar los resultados. |
Ordenación de las órdenes durante la generación del informe. Se puede ajustar mediante cualquier columna. Esta función permite interpretar el informe más rápidamente, además de ajustar los parámetros del informe mediante de una serie de parámetros, por ejemplo, mediante el tiempo de apertura y cierre, el par de divisas, el lote, etc. Se pueden almacenar las órdenes en el informe de modo que no se desvele la lógica de funcionamiento del Asesor Experto. Esto se refiere a las estrategias con múltiples divisas en las que se puede llevar a cabo la apertura en distintos pares de divisas mediante un parámetro determinado. |
||
Cálculo de la duración de una orden. Este parámetro es muy importante para comprender los parámetros del Asesor Experto o el estilo del trading. Cuanto más larga es la duración de una orden, mayor es la probabilidad de que la precisión de las señales de entrada sea baja y que la orden se encuentre en un estado de pérdidas durante un tiempo muy largo. Si la duración es corta, significa que la estrategia está basada en el scalping y el pipsing. Esto puede llevar a veces al endurecimiento de las reglas de trading de por parte de los centros de negociación. |
Cálculo en pips de la cuantía de las ganancias o pérdidas del par de divisas. Este parámetro proporciona una visión más amplia de los objetivos alcanzados por el Asesor Experto. Estos cálculos no dependen de la dinámica del lote, el apalancamiento, etc. |
Análisis del funcionamiento del Asesor Experto
Como se mencionó antes, el Asesor Experto opera con cada par de divisas por separado al no existir reglas para múltiples divisas. Se optimiza cada par de divisas en la prueba de estrategias. Puesto que en la mayoría de los casos cualquier estrategia puede operar en casi cualquier par de divisas, se decidió probar el Asesor Experto con 22 pares de divisas. Se calculó el depósito inicial en base al número de pares de divisas multiplicado por 10 mil. El resultado es un depósito inicial de 220 000. Antes de iniciar la prueba hay que optimizar cada par de divisas en el intervalo de 1 mes.
Después de 2 meses de trading totalmente automatizado, hemos podido finalmente analizar los resultados. Se ha ejecutado MQLab™ Graphic Report en una cuenta demo y hemos obtenido los siguientes resultados.
Se puede descargar y analizar el informe completo. Es el archivo adjunto FULL_Report.zip (440.3 Kb)
Podemos ver a continuación 2 tablas comparativas de los informes estándar y ampliado.
Informe estándar (Standard report)
Gross Profit: | 950 592,08 | Gross Loss: | -161 808,04 | Total Net Profit: | 788 784,04 |
Profit Factor: | 5,87 | Expected Payoff: | 949,20 | ||
Absolute Drawdown: | 0,00 | Maximal Drawdown: | 40 642.35 (4.26%) | Relative Drawdown: | 4.26% (40 642.35) |
Total Trades: | 831 | Short Positions (won %): | 221 (65.16 %) | Long Positions (won %): | 610 (81.15 %) |
Profit Trades (% of total): | 639 (76.90 %) | Loss trades (% of total): | 192 (23.10 %) | ||
Largest | profit trade: | 31 003,20 | loss trade: | -11 536,80 | |
Average | profit trade: | 1 487,62 | loss trade: | -842,75 | |
Maximum | consecutive wins ($): | 46 (74 627.29) | consecutive losses ($): | 11 (-2 050.92) | |
Maximal | consecutive profit (count): | 115 265.49 (45) | consecutive loss (count): | -26 364.80 (4) | |
Average | consecutive wins: | 9 | consecutive losses: | 3 |
Informe ampliado (Extended report)
Gross Profit: | 950592,08 | Gross Loss: | -161808,04 | Total Net Profit: | 788784,04 |
Profit Factor: | 5,87 | Avg. profit factor: | 1,77 | Expected Payoff: | 949,20 |
Absolute Drawdown: | 0,00 | Maximal Drawdown: | 19084.09 (2.31%) | Relative Drawdown: | 2.67% (12866.40) |
Total Trades: | 831 | Short Positions (won %): | 221 (65.16 %) | Long Positions (won %): | 610 (81.15 %) |
Profit Trades (% of total): | 639 (76.90 %) | Loss trades (% of total): | 192 (23.10 %) | ||
Largest | profit trade: | 31003,20 | loss trade: | -11536,80 | |
Average | profit trade: | 1487,62 | loss trade: | -842,75 | |
Maximum | consecutive wins ($): | 57 (105530.75) | consecutive losses ($): | 8 (-764.64) | |
Maximal | consecutive profit (count): | 107894,42 (28) | consecutive loss (count): | -11536,80 (1) | |
Average | consecutive wins: | 6 | consecutive losses: | 1 |
Al comparar la dos tablas, podemos observar que algunos parámetros (Maximal Drawdown, Relative Drawdown, etc.) del informe ampliado no coinciden con los del informe estándar. Estos no son errores de generación del informe. Como se mencionó antes, se ordenan las posiciones cerradas en el informe sin desvelar la lógica de funcionamiento del Asesor Experto (en los ajustes del script).
Se usa el siguiente criterio para ordenar el informe ampliado:
1. En el momento de apertura, en orden ascendiente.
2. En el momento de cierre, en orden descendiente.
Esta funcionalidad no está disponible en el informe estándar.
Por supuesto, se calculan todos los parámetros en base a esta modalidad de ordenación.
Además, aparece un nuevo parámetro en el informe ampliado; Avg. profit factor (cálculo del factor promedio de beneficio). Creo que los datos que proporciona contienen más información y son más estables en comparación con el parámetro Profit Factor (factor de beneficio) del informe estándar. Dependiendo del beneficio o la pérdida, Profit Factor puede cambiar su valor en un rango bastante amplio. Siendo uno de los parámetros más importantes del informe, se calcula Profit Factor para todas las posiciones cerradas y se muestra en una columna separada de la tabla del informe extendido. Se calcula Avg. profit factor y se muestra de la misma manera. Con estos datos podemos crear un gráfico comparativo que muestra de forma visual el desarrollo del trading en la cuenta. Se puede observar cómo se distorsiona esta figura al producirse las transacciones.
Un pequeño inciso. |
---|
Puesto que el sitio no es compatible con la inserción de animaciones Flash externas y tampoco se pueden subir al servidor, se han sustituido los gráficos y los diagramas circulares en este archivo por imágenes estáticas. Al visualizar el informe completo, se puede ver el gráfico dinámico entero. |
El informe extendido dispone de un gráfico comparativo de los parámetros Profit Factor y Avg. profit factor.
Profit factor y Avg. profit factor
Moviendo el control deslizante horizontal, podemos observar visualmente donde han habido subidas y bajadas del parámetro Profit Factor, la línea Avg. profit factor es más suave. Los puntos representan los valores de las transacciones.
Desde mi propia experiencia, puedo decir que el parámetro Profit Factor supera siempre el parámetro Avg. profit factor. En este caso, se considera que el sistema es más rentable y estable. Si Profit Factor es inferior a Avg. profit factor, hay que dar la voz de alarma y examinar en detalle lo que ha podido pasar.
En mi caso, el factor de beneficio cayó por debajo del promedio en la transacción 376, es decir casi tres semanas después de iniciar la prueba. Al analizar detalladamente el informe, me quedó claro que hay que optimizar el sistema de trading con nuevos datos aproximadamente cada dos semanas. En este caso, la eficiencia de los parámetros Profit Factor y Avg. profit factor se mantendría a un nivel alto.
Así que hemos averiguado que hay que optimizar el Asesor Experto por lo menos una vez cada dos semanas. Por consiguiente, surgieron otras cuestiones:
- ¿Qué par de divisas hay que optimizar?
- ¿Cuántos pares de divisas participan en el trading?
- ¿Qué pares de divisas son rentables y cuáles generan pérdidas?
- etc.
Para responder a estas preguntas, se han añadido unos diagramas gráficos al informe ampliado. El diagrama circular muestra el número de transacciones en cada par de divisas, mientras que el segundo diagrama muestra las estadísticas de las operaciones por el tipo de orden con el cálculo de las transacciones rentables y las que generan pérdidas en cada par de divisas.
Analizando el diagrama circular Numbers of characters, podemos detectar rápidamente los pares de divisas con el menor número de transacciones. Además, los pares de divisas con el mayor número de transacciones están representadas en el diagrama mediante "porciones" extendidas.
Después de seleccionar los pares con el menor número de transacciones del diagrama circular, a saber, EURCAD, CADCHF, CHFJPY y GBPJPY, analizamos las estadísticas de los tipos de transacciones en el diagrama Count win / lose dynamics. En este diagrama se puede ver que aparte de llevarse a cabo pocas transacciones en estos pares de divisas, las transacciones con beneficio están compensadas por el mismo número de transacciones perdedoras. Es decir que este par de divisas no es rentable y que seguramente genera pérdidas.
La separación de estas operaciones por el tipo de transacción y por el cálculo es necesaria para determinar en qué dirección opera mejor el Asesor Experto con determinados parámetros. Si los parámetros para las posiciones Long y Short son distintos, es entonces más fácil configurar o desactivar el trading en una dirección determinada u optimizar los parámetros de compra o venta después de recibir estas estadísticas.
Seguimos con el análisis del diagrama Count win/lose dynamics y establecemos 7 pares de divisas en una sola dirección: AUDUSD, CADJPY, USDJPY, EURGBP, GBPJPY, EURNZD, NZDCHF y 3 pares de divisas más USDCHF, CADCHF, EURCAD con una relación de tipos de órdenes bastante grande. Es muy difícil detectar este hecho en el informe estándar. He agrupado todos estos pares en un grupo con una misma dirección de trading. Las razones para trabajar de esta forma pueden depender de la estrategia de trading o de la dinámica del mercado. En otras palabras, podemos examinar el gráfico del par de divisas para determinar los motivos de trabajar así y ver todo en detalle. No voy a hacerlo en este artículo. Es básicamente un trabajo manual y cada trader puede hacerlo por su cuenta.
Por lo tanto, hemos sido capaces de identificar el número de pares de divisas cuya efectividad está en duda. La principal duda es el valor de la disminución durante la prueba. Maximal Drawdown: 2,31%. Podemos suponer que durante el trading se utilizaron pares de divisas que reducen su rentabilidad u ocasionan pérdidas, haciendo más rentable el trabajo con otros pares de divisas. Tenemos que analizar cada par por separado para determinar estos pares de divisas y excluirlos del trading. El informe estándar no ofrece esta posibilidad y es por ello que he desarrollado el método de filtrado de pares de divisas.
Mediante el script de filtrado de pares de divisas, podemos obtener un informe detallado de cada par, incluidos los cálculos de su rentabilidad, disminución, previsión matemática, etc. De la misma manera, se generan los diagramas basados en los datos filtrados.
Un pequeño inciso: |
---|
Al script MQLab™ Graphic Report le precede una serie de ajustes que nos permiten no sólo analizar las transacciones de un par de divisas determinado, sino también filtrarlas mediante el número MAGIC y mediante los comentarios de las órdenes. Estos filtros pueden dividir la cuenta fácilmente en base a los pares de divisas, además del tipo de trading (manual o automatizado) o analizar únicamente las órdenes que contienen unos comentarios determinados, por ejemplo, las condiciones de entrada al mercado. También se puede combinar el número MAGIC, el par de divisas y los comentarios de la posición u orden. |
Se adjuntan al artículo los informes completos de cada par de divisas: Records_of_individual_currencies.part1.rar (3.8 Mb) y Records_of_individual_currencies.part2.rar (3.7 Mb)
Los resultados obtenidos están resumidos en esta tabla:
|
Gross Profit |
Gross Loss |
Total Net Profit |
Profit Factor |
Avg. profit factor |
Exp. Payoff |
Abs. Drawd. |
Max. Drawd. |
Total Trades |
Short Positions |
Long Positions |
---|---|---|---|---|---|---|---|---|---|---|---|
GBPCAD |
61664,17 |
-13150,13 |
48514,04 |
4,69 |
1,30 |
703,10 |
0,00 |
11881,17 |
69 |
22 |
47 |
GBPCHF |
47115,25 |
-1913,54 |
45201,71 |
24,62 |
5,47 |
1027,31 |
0,00 |
1207,25 |
44 |
16 |
28 |
GBPUSD |
114853,31 |
-49384,70 |
65468,61 |
2,33 |
0,46 |
1190,34 |
0,00 |
21779,60 |
55 |
25 |
30 |
AUDUSD |
61227,83 |
-3446,00 |
57781,83 |
17,77 |
1,97 |
1444,55 |
0,00 |
3203,00 |
40 |
0 |
40 |
CADJPY |
28850,51 |
-2051,31 |
26799,20 |
14,06 |
4,69 |
837,48 |
989,40 |
1810,67 |
32 |
0 |
32 |
EURUSD |
100910,61 |
-20189,97 |
80720,64 |
5,00 |
2,60 |
2124,23 |
9366,76 |
11961,84 |
38 |
17 |
21 |
EURJPY |
28099,81 |
-2606,26 |
25493,55 |
10,78 |
2,70 |
509,87 |
0,00 |
1847,96 |
50 |
10 |
40 |
EURCHF |
35744,67 |
-1843,92 |
33900,75 |
19,39 |
6,68 |
869,25 |
0,00 |
873,09 |
39 |
18 |
21 |
EURAUD |
64700,63 |
-8901,46 |
55799,17 |
7,27 |
3,63 |
1328,55 |
387,07 |
3924,49 |
42 |
11 |
31 |
GOLD |
32420,35 |
-7822,52 |
24597,83 |
4,14 |
0,60 |
390,44 |
0,00 |
3622,96 |
63 |
19 |
44 |
USDCHF |
36319,19 |
-12784,30 |
23534,89 |
2,84 |
1,67 |
871,66 |
1786,53 |
11316,21 |
27 |
3 |
24 |
USDJPY |
36685,74 |
-989,33 |
35696,41 |
37,08 |
17,45 |
1427,86 |
772,90 |
963,67 |
25 |
0 |
25 |
AUDCHF |
30933,15 |
-8692,07 |
22241,08 |
3,56 |
1,37 |
411,87 |
208,19 |
4935,03 |
54 |
22 |
32 |
EURGBP |
35672,84 |
-5011,78 |
30661,06 |
7,12 |
3,56 |
1022,04 |
0,00 |
2414,87 |
30 |
0 |
30 |
AUDJPY |
46455,59 |
-937,53 |
45518,06 |
49,55 |
8,74 |
1137,95 |
0,00 |
853,87 |
40 |
6 |
34 |
GBPJPY |
4799,64 |
-181,80 |
4617,84 |
26,40 |
5,28 |
384,82 |
0,00 |
181,80 |
12 |
0 |
12 |
AUDCAD |
63144,23 |
-4970,32 |
58173,91 |
12,70 |
5,08 |
1385,09 |
263,21 |
3734,90 |
42 |
15 |
27 |
CHFJPY |
6878,05 |
-1119,51 |
5758,54 |
6,14 |
2,46 |
411,32 |
653,61 |
755,33 |
14 |
7 |
7 |
CADCHF |
2367,64 |
-57,69 |
2309,95 |
41,04 |
9,12 |
210,00 |
0,00 |
33,36 |
11 |
2 |
9 |
GBPAUD |
93826,55 |
-15290,74 |
78535,81 |
6,14 |
2,79 |
1227,12 |
513,66 |
11497,83 |
64 |
19 |
45 |
EURCAD |
2524,46 |
-463,16 |
2061,30 |
5,45 |
4,36 |
229,03 |
124,98 |
311,34 |
9 |
8 |
1 |
EURNZD |
15388,79 |
0,00 |
15388,79 |
0,00 |
0,00 |
512,96 |
0,00 |
0,00 |
30 |
0 |
30 |
NZDCHF |
9,07 |
0,00 |
9,07 |
0,00 |
0,00 |
9,07 |
0,00 |
0,00 |
1 |
1 |
0 |
Average value |
41330,09 |
-7035,13 |
34294,96 |
13,39 |
4 |
855,04 |
655,06 |
4309,14 |
36,13 |
10 |
27 |
Después de elaborar la tabla y calcular el valor de cada parámetro, he introducido un "umbral" que tiene que ser superior a los parámetros, según mi criterio. Si los resultados obtenidos son inferiores al umbral, el trading en este par de divisas es de baja rentabilidad o genera pérdidas.
Vamos a dividir los pares de divisas en dos grupos. Los parámetros principales serían Gross Profit y Total Trades
Trading bueno:
Gross Profit |
Gross Loss |
Total Net Profit |
Profit Factor |
Avg. profit factor |
Exp. Payoff |
Abs. Drawd. |
Max. Drawd. |
Total Trades |
Short Positions |
Long Positions |
|
---|---|---|---|---|---|---|---|---|---|---|---|
GBPCAD |
61664,17 |
-13150,13 |
48514,04 |
4,69 |
1,30 |
703,10 |
0,00 |
11881,17 |
69 |
22 |
47 |
GBPCHF |
47115,25 |
-1913,54 |
45201,71 |
24,62 |
5,47 |
1027,31 |
0,00 |
1207,25 |
44 |
16 |
28 |
GBPUSD |
114853,31 |
-49384,70 |
65468,61 |
2,33 |
0,46 |
1190,34 |
0,00 |
21779,60 |
55 |
25 |
30 |
AUDUSD |
61227,83 |
-3446,00 |
57781,83 |
17,77 |
1,97 |
1444,55 |
0,00 |
3203,00 |
40 |
0 |
40 |
EURUSD |
100910,61 |
-20189,97 |
80720,64 |
5,00 |
2,60 |
2124,23 |
9366,76 |
11961,84 |
38 |
17 |
21 |
EURAUD |
64700,63 |
-8901,46 |
55799,17 |
7,27 |
3,63 |
1328,55 |
387,07 |
3924,49 |
42 |
11 |
31 |
AUDJPY |
46455,59 |
-937,53 |
45518,06 |
49,55 |
8,74 |
1137,95 |
0,00 |
853,87 |
40 |
6 |
34 |
AUDCAD |
63144,23 |
-4970,32 |
58173,91 |
12,70 |
5,08 |
1385,09 |
263,21 |
3734,90 |
42 |
15 |
27 |
GBPAUD |
93826,55 |
-15290,74 |
78535,81 |
6,14 |
2,79 |
1227,12 |
513,66 |
11497,83 |
64 |
19 |
45 |
Se puede descargar y analizar el informe completo. Es el archivo adjunto Good_trade_Report.zip (402.9 Kb)
La tabla incluye los pares de divisas con los parámetros Gross Profit y Total Trades por encima del valor promedio. Estos son los pares de divisas más rentables en la prueba. En otras palabras, es la locomotora de la rentabilidad.
Trading medio:
Gross Profit |
Gross Loss |
Total Net Profit |
Profit Factor |
Avg. profit factor |
Exp. Payoff |
Abs. Drawd. |
Max. Drawd. |
Total Trades |
Short Positions |
Long Positions |
|
---|---|---|---|---|---|---|---|---|---|---|---|
CADJPY |
28850,51 |
-2051,31 |
26799,20 |
14,06 |
4,69 |
837,48 |
989,40 |
1810,67 |
32 |
0 |
32 |
EURJPY |
28099,81 |
-2606,26 |
25493,55 |
10,78 |
2,70 |
509,87 |
0,00 |
1847,96 |
50 |
10 |
40 |
EURCHF |
35744,67 |
-1843,92 |
33900,75 |
19,39 |
6,68 |
869,25 |
0,00 |
873,09 |
39 |
18 |
21 |
GOLD |
32420,35 |
-7822,52 |
24597,83 |
4,14 |
0,60 |
390,44 |
0,00 |
3622,96 |
63 |
19 |
44 |
USDCHF |
36319,19 |
-12784,30 |
23534,89 |
2,84 |
1,67 |
871,66 |
1786,53 |
11316,21 |
27 |
3 |
24 |
USDJPY |
36685,74 |
-989,33 |
35696,41 |
37,08 |
17,45 |
1427,86 |
772,90 |
963,67 |
25 |
0 |
25 |
AUDCHF |
30933,15 |
-8692,07 |
22241,08 |
3,56 |
1,37 |
411,87 |
208,19 |
4935,03 |
54 |
22 |
32 |
EURGBP |
35672,84 |
-5011,78 |
30661,06 |
7,12 |
3,56 |
1022,04 |
0,00 |
2414,87 |
30 |
0 |
30 |
EURNZD |
15388,79 |
0,00 |
15388,79 |
0,00 |
0,00 |
512,96 |
0,00 |
0,00 |
30 |
0 |
30 |
Se puede descargar y analizar el informe completo. Es el archivo adjunto Average_trade_Report.zip (395.7 Kb)
Se llevó a cabo la selección en esta tabla en base al siguiente principio:
1. Gross Profit < Gross Profit valor promedio
2. Gross Profit > (Gross Profit valor promedio / 2)
El único par que no cumple esta condición es EURNZD. Está incluido en esta tabla ya que este par no tiene ni una sola transacción con pérdidas.
Trading malo:
Gross Profit |
Gross Loss |
Total Net Profit |
Profit Factor |
Avg. profit factor |
Exp. Payoff |
Abs. Drawd. |
Max. Drawd. |
Total Trades |
Short Positions |
Long Positions |
|
---|---|---|---|---|---|---|---|---|---|---|---|
GBPJPY |
4799,64 |
-181,80 |
4617,84 |
26,40 |
5,28 |
384,82 |
0,00 |
181,80 |
12 |
0 |
12 |
CHFJPY |
6878,05 |
-1119,51 |
5758,54 |
6,14 |
2,46 |
411,32 |
653,61 |
755,33 |
14 |
7 |
7 |
CADCHF |
2367,64 |
-57,69 |
2309,95 |
41,04 |
9,12 |
210,00 |
0,00 |
33,36 |
11 |
2 |
9 |
EURCAD |
2524,46 |
-463,16 |
2061,30 |
5,45 |
4,36 |
229,03 |
124,98 |
311,34 |
9 |
8 |
1 |
NZDCHF |
9,07 |
0,00 |
9,07 |
0,00 |
0,00 |
9,07 |
0,00 |
0,00 |
1 |
1 |
0 |
Se puede descargar y analizar el informe completo. Es el archivo adjunto Bad_Trade_Report.zip (364.7 Kb)
Este grupo de pares de divisas representa un freno para nuestra actividad de trading. Impide a la locomotora de nuestros pares más rentables ir a toda máquina.
Después de dividir todos los símbolos en grupos, sería interesante saber cuáles serían los resultados del trading para cada grupo si se hubiera probado cada grupo por separado. Para ello, tenemos que utilizar el filtrado y agrupar por pares de divisas.
Trading bueno:
Gross Profit: | 653898,17 | Gross Loss: | -118184,39 | Total Net Profit: | 535713,78 |
Profit Factor: | 5,53 | Avg. profit factor: | 1,68 | Expected Payoff: | 1234,36 |
Absolute Drawdown: | 0,00 | Maximal Drawdown: | 19168,35 (2,92%) | Relative Drawdown: | 3,81% (10933,02) |
Total Trades: | 434 | Short Positions (won %): | 131 (66,41 %) | Long Positions (won %): | 303 (81,19 %) |
Profit Trades (% of total): | 333 (76,73 %) | Loss trades (% of total): | 101 (23,27 %) | ||
Largest | profit trade: | 31003,20 | loss trade: | -11536,80 | |
Average | profit trade: | 1963,66 | loss trade: | -1170,14 | |
Maximum | consecutive wins ($): | 26 (74353,47) | consecutive losses ($): | 8 (-764,64) | |
Maximal | consecutive profit (count): | 98581,16 (19) | consecutive loss (count): | -11536,80 (1) | |
Average | consecutive wins: | 6 | consecutive losses: | 1 |
Trading medio:
Gross Profit: | 312961,61 | Gross Loss: | -52744,84 | Total Net Profit: | 260216,77 |
Profit Factor: | 5,93 | Avg. profit factor: | 1,77 | Expected Payoff: | 712,92 |
Absolute Drawdown: | 0,00 | Maximal Drawdown: | 7621,15 (1,98%) | Relative Drawdown: | 1,98% (7621,15) |
Total Trades: | 365 | Short Positions (won %): | 74 (66,22 %) | Long Positions (won %): | 291 (79,73 %) |
Profit Trades (% of total): | 281 (76,99 %) | Loss trades (% of total): | 84 (23,01 %) | ||
Largest | profit trade: | 23814,20 | loss trade: | -2877,67 | |
Average | profit trade: | 1113,74 | loss trade: | -627,91 | |
Maximum | consecutive wins ($): | 32 (67689,94) | consecutive losses ($): | 12 (-7482,88) | |
Maximal | consecutive profit (count): | 67689,94 (32) | consecutive loss (count): | -7482,88 (12) | |
Average | consecutive wins: | 6 | consecutive losses: | 2 |
Trading malo:
Gross Profit: | 16578,86 | Gross Loss: | -1822,16 | Total Net Profit: | 14756,70 |
Profit Factor: | 9,10 | Avg. profit factor: | 3,12 | Expected Payoff: | 313,97 |
Absolute Drawdown: | 0,00 | Maximal Drawdown: | 388,36 (0,17%) | Relative Drawdown: | 0,17% (388,36) |
Total Trades: | 47 | Short Positions (won %): | 18 (55,56 %) | Long Positions (won %): | 29 (86,21 %) |
Profit Trades (% of total): | 35 (74,47 %) | Loss trades (% of total): | 12 (25,53 %) | ||
Largest | profit trade: | 3348,53 | loss trade: | -388,36 | |
Average | profit trade: | 473,68 | loss trade: | -151,85 | |
Maximum | consecutive wins ($): | 10 (7119,78) | consecutive losses ($): | 2 (-364,18) | |
Maximal | consecutive profit (count): | 7119,78 (10) | consecutive loss (count): | -388,36 (1) | |
Average | consecutive wins: | 3 | consecutive losses: | 1 |
A partir de estos resultados, podemos observar que los pares de divisas del "Trading bueno" no influyen mucho en la rentabilidad. Se puede excluir este grupo de pares de divisas de las pruebas.
Vamos a juntar los grupos "Trading bueno" y "Trading medio" en el mismo informe.
Se puede descargar y analizar el informe completo de los dos grupos. Es el archivo adjunto Good_Average_trade_Report.zip (437.4 Kb)
Gross Profit: | 966859,78 | Gross Loss: | -170929,23 | Total Net Profit: | 795930,55 |
Profit Factor: | 5,66 | Avg. profit factor: | 1,70 | Expected Payoff: | 996,16 |
Absolute Drawdown: | 0,00 | Maximal Drawdown: | 19084,09 (2,33%) | Relative Drawdown: | 2,70% (12866,40) |
Total Trades: | 799 | Short Positions (won %): | 205 (66,34 %) | Long Positions (won %): | 594 (80,47 %) |
Profit Trades (% of total): | 614 (76,85 %) | Loss trades (% of total): | 185 (23,15 %) | ||
Largest | profit trade: | 31003,20 | loss trade: | -11536,80 | |
Average | profit trade: | 1574,69 | loss trade: | -923,94 | |
Maximum | consecutive wins ($): | 37 (67514,27) | consecutive losses ($): | 8 (-764,64) | |
Maximal | consecutive profit (count): | 108047,10 (19) | consecutive loss (count): | -11536,80 (1) | |
Average | consecutive wins: | 6 | consecutive losses: | 2 |
Después de comparar los resultados obtenidos de los grupos juntos con las estadísticas del informe completo, podemos ver los siguientes parámetros.
Informe completo |
Informe combinado |
|
---|---|---|
Gross Profit: | 950592,08 | 966859,78 |
Gross Loss: | -161808,04 | -170929,23 |
Total Net Profit: | 788784,04 | 795930,55 |
Profit Factor: | 5,87 | 5,66 |
Avg. profit factor: | 1,77 | 1,70 |
Expected Payoff: | 949,20 | 996,16 |
Absolute Drawdown: | 0,00 | 0,00 |
Maximal Drawdown: | 19084,09 (2,31%) | 19084,09 (2,33%) |
Relative Drawdown: | 2,67% (12866,40) | 2,70% (12866,40) |
Total Trades: | 831 | 799 |
Short Positions (won %): | 221 (65,16 %) | 205 (66,34 %) |
Long Positions (won %): | 610 (81,15 %) | 594 (80,47 %) |
Profit Trades (% of total): | 639 (76,90 %) | 614 (76,85 %) |
Loss trades (% of total): | 192 (23,10 %) | 185 (23,15 %) |
Largest profit trade: | 31003,20 | 31003,20 |
Largest loss trade: | -11536,80 | -11536,80 |
Average profit trade: | 1487,62 | 1574,69 |
Average loss trade: | -842,75 | -923,94 |
Maximum consecutive wins ($): | 57 (105530,75) | 37 (67514,27) |
Maximum consecutive losses ($): | 8 (-764,64) | 8 (-764,64) |
Maximal consecutive profit (count): | 107894,42 (28) | 108047,10 (19) |
Maximal consecutive loss (count): | -11536,80 (1) | -11536,80 (1) |
Average consecutive wins: | 6 | 6 |
Average consecutive losses: | 1 | 2 |
Podemos ver a partir de la tabla que algunos parámetros han aumentado mientras que otros han disminuido, pero no se observan grandes diferencias. Esto se debe al hecho de que el grupo "Trading malo" no genera pérdidas. Se pueden observar aquí los resultados de un caso especial en el que cada par de divisas incrementa la rentabilidad global.
¿Qué más puedo hacer para aumentar la rentabilidad y estabilidad de este método de trading? En base a los resultados obtenidos y los informes de cada par de divisas, he llegado a la conclusión de que falta un pequeño detalle para conseguir un sistema de trading más rentable. Se trata de las condiciones de entrada al mercado en base a otros pares de divisas.
Puesto que se opera en cada par de divisas por separado y se lleva a cabo la optimización para cada par, los ajustes son distintos para cada par. Esto quiere decir que los pares de divisas van a entrar al mercado en distintos momentos y direcciones. Pero después de definir los pares principales, los podemos unir a ellos.
Creación del sistema de filtrado de transacciones
Nadie había desarrollado o probado antes el sistema de filtrado mencionado en este artículo. Así que lo vamos a abordar como una teoría que voy a describir en detalle.
Vamos a crear la tabla de balance basada en las estadísticas del grupo "Trading bueno" para cada par de divisas.
Puesto que este grupo contiene 9 pares de divisas, vamos a asignar de 1 a 9 puntos a cada uno de ellos. El parámetro más bajo de la columna recibe 1 punto, el más alto recibe 9 puntos.
Si coinciden los parámetros de 2 pares o más, se añade el mismo número de puntos.
Abs. Drawd. y Max. Drawd. se comparan las columnas en orden inverso.
P. |
Gross Profit |
P. |
Gross Loss |
P. |
Total Net Profit |
P. |
Profit Factor |
P. |
Avg. profit factor |
P. |
Exp. Payoff |
P. |
Abs. Drawd. |
P. |
Max. Drawd. |
P. |
Total Trades |
P. |
Short Positions |
P. |
Long Positions |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GBPCAD |
4 |
61664,17 |
4 |
-13150,13 |
3 |
48514,04 |
2 |
4,69 |
2 |
1,30 |
1 |
703,10 |
5 |
0,00 |
3 |
11881,17 |
7 |
69 |
8 |
22 |
9 |
47 |
GBPCHF |
2 |
47115,25 |
8 |
-1913,54 |
1 |
45201,71 |
8 |
24,62 |
8 |
5,47 |
2 |
1027,31 |
5 |
0,00 |
8 |
1207,25 |
4 |
44 |
5 |
16 |
3 |
28 |
GBPUSD |
9 |
114853,31 |
1 |
-49384,70 |
7 |
65468,61 |
1 |
2,33 |
1 |
0,46 |
4 |
1190,34 |
5 |
0,00 |
1 |
21779,60 |
5 |
55 |
9 |
25 |
4 |
30 |
AUDUSD |
3 |
61227,83 |
7 |
-3446,00 |
5 |
57781,83 |
7 |
17,77 |
3 |
1,97 |
8 |
1444,55 |
5 |
0,00 |
7 |
3203,00 |
2 |
40 |
1 |
0 |
7 |
40 |
EURUSD |
8 |
100910,61 |
2 |
-20189,97 |
9 |
80720,64 |
3 |
5,00 |
4 |
2,60 |
9 |
2124,23 |
1 |
9366,76 |
2 |
11961,84 |
1 |
38 |
6 |
17 |
1 |
21 |
EURAUD |
6 |
64700,63 |
5 |
-8901,46 |
4 |
55799,17 |
5 |
7,27 |
6 |
3,63 |
6 |
1328,55 |
3 |
387,07 |
5 |
3924,49 |
3 |
42 |
3 |
11 |
5 |
31 |
AUDJPY |
1 |
46455,59 |
9 |
-937,53 |
2 |
45518,06 |
9 |
49,55 |
9 |
8,74 |
3 |
1137,95 |
5 |
0,00 |
9 |
853,87 |
2 |
40 |
2 |
6 |
6 |
34 |
AUDCAD |
5 |
63144,23 |
6 |
-4970,32 |
6 |
58173,91 |
6 |
12,70 |
7 |
5,08 |
7 |
1385,09 |
4 |
263,21 |
6 |
3734,90 |
3 |
42 |
4 |
15 |
2 |
27 |
GBPAUD |
7 |
93826,55 |
3 |
-15290,74 |
8 |
78535,81 |
4 |
6,14 |
5 |
2,79 |
5 |
1227,12 |
2 |
513,66 |
4 |
11497,83 |
6 |
64 |
7 |
19 |
8 |
45 |
Vamos a sumar los puntos obtenidos por cada par de divisas.
Par de divisas | Puntos obtenidos |
Resultado |
---|---|---|
GBPCAD | 4 + 4 + 3 + 2 + 2 + 1 + 5 + 3 + 7 + 8 + 9 |
48 |
GBPCHF | 2 + 8 + 1 + 8 + 8 + 2 + 5 + 8 + 4 + 5 + 3 |
54 |
GBPUSD | 9 + 1 + 7 + 1 + 1 + 4 + 5 + 1 + 5 + 9 + 4 |
47 |
AUDUSD | 3 + 7 + 5 + 7 + 3 + 8 + 5 + 7 + 2 + 1 + 7 |
55 |
EURUSD | 8 + 2 + 9 + 3 + 4 + 9 + 1 + 2 + 1 + 6 + 1 |
46 |
EURAUD | 6 + 5 + 4 + 5 + 6 + 6 + 3 + 5 + 3 + 3 + 5 |
51 |
AUDJPY | 1 + 9 + 2 + 9 + 9 + 3 + 5 + 9 + 2 + 2 + 6 |
57 |
AUDCAD | 5 + 6 + 6 + 6 + 7 + 7 + 4 + 6 + 3 + 4 + 2 |
56 |
GBPAUD | 7 + 3 + 8 + 4 + 5 + 5 + 2 + 4 + 6 + 7 + 8 |
59 |
Ahora vamos a determinar el par de divisas más equilibrado.
Vamos a definir ahora el balance de las divisas de base y de cotización por separado. Para ello, tenemos que elaborar la siguiente tabla con las divisas de base y de cotización separadas.
Par de divisas | Divisa de base | Divisa de cotización |
---|---|---|
GBPAUD | GBP | AUD |
AUDJPY | AUD | JPY |
AUDCAD | AUD | CAD |
AUDUSD | AUD | USD |
GBPCHF | GBP | CHF |
EURAUD | EUR | AUD |
GBPCAD | GBP | CAD |
GBPUSD | GBP | USD |
EURUSD | EUR | USD |
Vamos a calcular el número de repeticiones de las divisas de base y de cotización y crear la siguiente tabla.
GBP | AUD | EUR | JPY | CAD | USD | CHF | |
---|---|---|---|---|---|---|---|
Divisa de base | 4 |
3 |
2 |
||||
Divisa de cotización | 2 |
1 |
2 |
3 |
1 |
Después de sumar Short Positions y Long Positions para todos los pares de divisas de los grupos "Trading bueno" y "Trading medio", obtenemos el siguiente resultado:
Short Positions = 203 transacciones
Long Positions = 581 transacciones
Puesto que hay muchas transacciones en ambas direcciones, trataremos de tener en cuenta todos los casos de filtrado.
Vamos a desarrollar el sistema de filtrado de transacciones que impedirá la apertura de una dirección en la dirección opuesta. Se basa este sistema en la divisa de base para Short Positions y Long Positions en todos los pares de divisas.
No abrir |
Si una transacción Short Positions está activa en el siguiente símbolo |
Si una transacción Long Positions está activa en el siguiente símbolo |
|
---|---|---|---|
GBPCAD |
Long Positions: | GBPCHF, GBPUSD, GBPJPY, GBPAUD | EURGBP |
Short Positions: | EURGBP |
GBPCHF, GBPUSD, GBPJPY, GBPAUD |
|
GBPCHF |
Long Positions: | GBPCAD, GBPUSD, GBPJPY, GBPAUD |
EURGBP |
Short Positions: | EURGBP |
GBPCAD, GBPUSD, GBPJPY, GBPAUD |
|
GBPUSD |
Long Positions: | GBPCAD, GBPCHF, GBPJPY, GBPAUD |
EURGBP |
Short Positions: | EURGBP |
GBPCAD, GBPCHF, GBPJPY, GBPAUD | |
AUDUSD |
Long Positions: | AUDCHF, AUDJPY, AUDCAD |
EURAUD, GBPAUD |
Short Positions: | EURAUD, GBPAUD |
AUDCHF, AUDJPY, AUDCAD | |
CADJPY |
Long Positions: | CADCHF |
GBPCAD, AUDCAD, EURCAD |
Short Positions: | GBPCAD, AUDCAD, EURCAD |
CADCHF | |
EURUSD |
Long Positions: | EURJPY, EURCHF, EURAUD, EURGBP, EURCAD, EURNZD |
|
Short Positions: | EURJPY, EURCHF, EURAUD, EURGBP, EURCAD, EURNZD | ||
EURJPY |
Long Positions: | EURUSD, EURCHF, EURAUD, EURGBP, EURCAD, EURNZD |
|
Short Positions: | EURUSD, EURCHF, EURAUD, EURGBP, EURCAD, EURNZD | ||
EURCHF |
Long Positions: | EURUSD, EURJPY, EURAUD, EURGBP, EURCAD, EURNZD |
|
Short Positions: | EURUSD, EURJPY, EURAUD, EURGBP, EURCAD, EURNZD | ||
EURAUD |
Long Positions: | EURUSD, EURJPY, EURCHF, EURGBP, EURCAD, EURNZD |
|
Short Positions: | EURUSD, EURJPY, EURCHF, EURGBP, EURCAD, EURNZD | ||
USDCHF |
Long Positions: | USDJPY |
GBPUSD, AUDUSD, EURUSD |
Short Positions: | GBPUSD, AUDUSD, EURUSD |
USDJPY | |
USDJPY |
Long Positions: | USDCHF |
GBPUSD, AUDUSD, EURUSD |
Short Positions: | GBPUSD, AUDUSD, EURUSD |
USDCHF | |
AUDCHF |
Long Positions: | AUDUSD, AUDJPY, AUDCAD |
EURAUD, GBPAUD |
Short Positions: | EURAUD, GBPAUD |
AUDUSD, AUDJPY, AUDCAD | |
EURGBP |
Long Positions: | EURUSD, EURJPY, EURCHF, EURAUD, EURCAD, EURNZD |
|
Short Positions: | EURUSD, EURJPY, EURCHF, EURAUD, EURCAD, EURNZD | ||
AUDJPY |
Long Positions: | AUDUSD, AUDCHF, AUDCAD |
EURAUD, GBPAUD |
Short Positions: | EURAUD, GBPAUD |
AUDUSD, AUDCHF, AUDCAD | |
GBPJPY |
Long Positions: | GBPCAD, GBPCHF, GBPUSD, GBPAUD |
EURGBP |
Short Positions: | EURGBP |
GBPCAD, GBPCHF, GBPUSD, GBPAUD | |
AUDCAD |
Long Positions: | AUDUSD, AUDCHF, AUDJPY |
EURAUD, GBPAUD |
Short Positions: | EURAUD, GBPAUD |
AUDUSD, AUDCHF, AUDJPY | |
CHFJPY |
Long Positions: | GBPCHF, EURCHF, USDCHF, AUDCHF, CADCHF, NZDCHF | |
Short Positions: | GBPCHF, EURCHF, USDCHF, AUDCHF, CADCHF, NZDCHF |
||
CADCHF |
Long Positions: | CADJPY |
GBPCAD, AUDCAD, EURCAD |
Short Positions: | GBPCAD, AUDCAD, EURCAD |
CADJPY | |
GBPAUD |
Long Positions: | GBPCAD, GBPCHF, GBPUSD, GBPJPY |
EURGBP |
Short Positions: | EURGBP |
GBPCAD, GBPCHF, GBPUSD, GBPJPY | |
EURCAD |
Long Positions: | EURUSD, EURJPY, EURCHF, EURAUD, EURGBP, EURNZD |
|
Short Positions: | EURUSD, EURJPY, EURCHF, EURAUD, EURGBP, EURNZD | ||
EURNZD |
Long Positions: | EURUSD, EURJPY, EURCHF, EURAUD, EURGBP, EURCAD |
|
Short Positions: | EURUSD, EURJPY, EURCHF, EURAUD, EURGBP, EURCAD |
Vamos a desarrollar el sistema de filtrado de transacciones que impedirá la apertura de una dirección en la dirección opuesta. Se basa este sistema en la divisa de cotización para Short Positions y Long Positions en todos los pares de divisas.
No abrir |
Si una transacción Short Positions está activa en el siguiente símbolo |
Si una transacción Long Positions está activa en el siguiente símbolo |
|
---|---|---|---|
GBPCAD |
Long Positions: | AUDCAD, EURCAD | CADCHF, CADJPY |
Short Positions: | CADCHF, CADJPY |
AUDCAD, EURCAD | |
GBPCHF |
Long Positions: | EURCHF, USDCHF, AUDCHF, CADCHF | |
Short Positions: | EURCHF, USDCHF, AUDCHF, CADCHF | ||
GBPUSD |
Long Positions: | AUDUSD, EURUSD | USDCHF, USDJPY |
Short Positions: | USDCHF, USDJPY | AUDUSD, EURUSD | |
AUDUSD |
Long Positions: | GBPUSD, EURUSD | USDCHF, USDJPY |
Short Positions: | USDCHF, USDJPY | GBPUSD, EURUSD | |
CADJPY |
Long Positions: | EURJPY, USDJPY, AUDJPY, GBPJPY, CHFJPY | |
Short Positions: | EURJPY, USDJPY, AUDJPY, GBPJPY, CHFJPY | ||
EURUSD |
Long Positions: | GBPUSD, AUDUSD |
USDCHF, USDJPY |
Short Positions: | USDCHF, USDJPY | GBPUSD, AUDUSD | |
EURJPY |
Long Positions: | CADJPY, USDJPY, AUDJPY, GBPJPY, CHFJPY | |
Short Positions: | CADJPY, USDJPY, AUDJPY, GBPJPY, CHFJPY | ||
EURCHF |
Long Positions: | GBPCHF, USDCHF, AUDCHF, CADCHF, NZDCHF |
|
Short Positions: | GBPCHF, USDCHF, AUDCHF, CADCHF, NZDCHF | ||
EURAUD |
Long Positions: | GBPAUD |
AUDUSD, AUDCHF, AUDJPY, AUDCAD |
Short Positions: | AUDUSD, AUDCHF, AUDJPY, AUDCAD | GBPAUD | |
USDCHF |
Long Positions: | GBPCHF, EURCHF, AUDCHF, CADCHF, NZDCHF | |
Short Positions: | GBPCHF, EURCHF, AUDCHF, CADCHF, NZDCHF | ||
USDJPY |
Long Positions: | CADJPY, EURJPY, AUDJPY, GBPJPY, CHFJPY | |
Short Positions: | CADJPY, EURJPY, AUDJPY, GBPJPY, CHFJPY | ||
AUDCHF |
Long Positions: | GBPCHF, EURCHF, USDCHF, CADCHF, NZDCHF | |
Short Positions: | GBPCHF, EURCHF, USDCHF, CADCHF, NZDCHF | ||
EURGBP |
Long Positions: | GBPCAD, GBPCHF, GBPUSD, GBPJPY, GBPAUD | |
Short Positions: | GBPCAD, GBPCHF, GBPUSD, GBPJPY, GBPAUD | ||
AUDJPY |
Long Positions: | CADJPY, EURJPY, USDJPY, GBPJPY, CHFJPY | |
Short Positions: | CADJPY, EURJPY, USDJPY, GBPJPY, CHFJPY | ||
GBPJPY |
Long Positions: | CADJPY, EURJPY, USDJPY, AUDJPY, CHFJPY | |
Short Positions: | CADJPY, EURJPY, USDJPY, AUDJPY, CHFJPY | ||
AUDCAD |
Long Positions: | GBPCAD, EURCAD |
CADJPY, CADCHF |
Short Positions: | CADJPY, CADCHF | GBPCAD, EURCAD | |
CHFJPY |
Long Positions: | CADJPY, EURJPY, USDJPY, AUDJPY, GBPJPY | |
Short Positions: | CADJPY, EURJPY, USDJPY, AUDJPY, GBPJPY | ||
CADCHF |
Long Positions: | GBPCHF, EURCHF, USDCHF, AUDCHF, NZDCHF | |
Short Positions: | GBPCHF, EURCHF, USDCHF, AUDCHF, NZDCHF | ||
GBPAUD |
Long Positions: | EURAUD | AUDUSD, AUDCHF, AUDJPY, AUDCAD |
Short Positions: | AUDUSD, AUDCHF, AUDJPY, AUDCAD | EURAUD | |
EURCAD |
Long Positions: | CADJPY,CADCHF |
GBPCAD, AUDCAD |
Short Positions: | GBPCAD, AUDCAD | CADJPY,CADCHF | |
NZDCHF |
Long Positions: | GBPCHF, EURCHF, USDCHF, AUDCHF, CADCHF | |
Short Positions: | GBPCHF, EURCHF, USDCHF, AUDCHF, CADCHF |
Supongamos que el Asesor Experto funciona en todos los pares de divisas de los grupos "Trading bueno" y "Trading medio".
Vamos a escribir el código para el par de divisas GBPCAD de acuerdo con las tablas de filtrado de transacciones:
int start(){ //---- OpenPositions(); //---- return(0); } //+------------------------------------------------------------------+ void OpenPositions(){ // --- Short Positions if (Signal(Symbol()) == -1){ if (!ExistPositions(Symbol(), OP_SELL, Magic, 0)) OpenPosition(Symbol(), OP_SELL, 1, 0, 0, Magic); } // --- Long Positions if (Signal(Symbol()) == 1){ if (!ExistPositions(Symbol(), OP_BUY, Magic, 0)) OpenPosition(Symbol(), OP_BUY, 1, 0, 0, Magic); } } int Signal(string Symbols){ //---- if (... Sell signal condition...){ if (Symbol() == Symbols){ // Filtration rules for GBPCAD // Rules according to base currency if (ExistPositions("GBPCHF", OP_BUY, Magic, 0)) return(0); if (ExistPositions("GBPUSD", OP_BUY, Magic, 0)) return(0); if (ExistPositions("GBPJPY", OP_BUY, Magic, 0)) return(0); if (ExistPositions("GBPAUD", OP_BUY, Magic, 0)) return(0); if (ExistPositions("EURGBP", OP_SELL, Magic, 0))return(0); // Rules according to quote currency if (ExistPositions("AUDCAD", OP_BUY, Magic, 0)) return(0); if (ExistPositions("EURCAD", OP_BUY, Magic, 0)) return(0); if (ExistPositions("CADCHF", OP_SELL, Magic, 0)) return(0); if (ExistPositions("CADJPY", OP_SELL, Magic, 0)) return(0); } return(-1); } if (... Buy signal condition...){ if (Symbol() == Symbols){ // Filtration rules for GBPCAD // Rules according to base currency if (ExistPositions("GBPCHF", OP_SELL, Magic, 0)) return(0); if (ExistPositions("GBPUSD", OP_SELL, Magic, 0)) return(0); if (ExistPositions("GBPJPY", OP_SELL, Magic, 0)) return(0); if (ExistPositions("GBPAUD", OP_SELL, Magic, 0)) return(0); if (ExistPositions("EURGBP", OP_BUY, Magic, 0)) return(0); // Rules according to quote currency if (ExistPositions("AUDCAD", OP_SELL, Magic, 0)) return(0); if (ExistPositions("EURCAD", OP_SELL, Magic, 0)) return(0); if (ExistPositions("CADCHF", OP_BUY, Magic, 0)) return(0); if (ExistPositions("CADJPY", OP_BUY, Magic, 0)) return(0); } return(1); } //---- return(0); }
No voy a escribir todo el código para todos los pares de divisas. Es muy parecido a este y lo puede hacer por sí mismo.
Espero que esta teoría de filtrado reducirá las disminuciones y mejorará la estabilidad del sistema.
Conclusión
1. En este artículo hemos analizado los parámetros más detallados del informe generado mediante el script MQLab™ Graphic Report.
2. Se han visto los métodos de análisis para todos los pares de divisas, por separado y en grupos. Se ha mostrado la posibilidad de combinarlos.
3. Se ha analizado la actividad de trading del Asesor Experto y se han determinado los parámetros favorables y desfavorables del trading.
4. Se ha descartado una serie de pares de divisas por ser ineficientes con esta estrategia.
5. Se han desarrollado medidas para mejorar el trading.