Representación gráfica de las pruebas: El trading manual

Andrey Khatimlianskii | 15 febrero, 2016

Introducción

El Terminal de cliente MetaTrader 4 dispone en la actualidad de la función de representación gráfica de las pruebas. Esta función permite controlar la prueba del Asesor Experto. Pero no se pueden programar todas las estrategias, no todos los traders pueden escribir el código de un buen Asesor Experto.

En este artículo se describe la forma de utilizar la función de visualización para probar las estrategias manuales que no están programadas como Asesores Expertos. No hace falta ningún conocimiento en programación, sólo hacen falta unos conocimientos básicos del terminal para operar con el "Probador de estrategias manuales", así que todos los traders lo pueden utilizar.

El artículo hace referencia a los programas que implementan las pestañas "Operaciones" e "Historial de cuentas" durante la visualización. El uso de estos programas está descrito con más detalle en los artículos Representación gráfica de las pruebas: Mejora de la funcionalidad y Representación gráfica de las pruebas: Historial de las operaciones.

Si no ha trabajado nunca con el visualizador, tiene que leer el artículo Prueba de Asesores Expertos en el terminal de cliente MetaTrader 4: Un vistazo desde fuera.


Preparación para el uso


Puede utilizar el visualizador de pruebas y le gustaría probar su estrategia en seguida. ¿Qué hay que hacer primero?

En primer lugar, descargue todos los archivos necesarios desde CodeBase a su ordenador:

  • el Asesor Experto vHandsTrade.mq4 en el directorio \MetaTrader 4 Work\experts\;
  • el archivo de inclusión VisualTestingTools.mq4 en el directorio \MetaTrader 4 Work\experts\include\; y
  • los 2 indicadores - vTerminal.mq4 y vHistory.mq4 - en el directorio \MetaTrader 4 Work\experts\indicators\.

Tenga en cuenta que hay que modificar el archivo VisualTestingTools.mq4 mencionado en los artículos anteriores, así que hay que descargar la versión de la fuente anterior (CodeBase).

A continuación, abra el Asesor Experto vHandsTrade.mq4 en MetaEditor y compilelo (con F5). El mensaje en la ventana "Tools" le confirmará que el Asesor Experto ha sido correctamente compilado:




Ahora que el programa está preparado, podemos empezar a preparar la plantilla del gráfico. Para ello, abra un gráfico, ajústelo según sus preferencias, añada los indicadores vTerminal.mq4 y vHistory.mq4, y guarde la plantilla como vHandsTrade.tpl:






Tenga en cuenta que para trabajar con el "Probador de estrategias manuales", debe haber suficiente espacio en la parte derecha del gráfico, lo controles serán incluidos allí. Así que hay que habilitar la opción "Desplazar extremo del gráfico desde el borde derecho" a la hora de crear la plantilla.



Ya podemos pasar a la configuración del Asesor Experto.

Configuración del Asesor Experto


Cada trader tiene sus propios hábitos de trading. Para utilizar el "Probador de estrategias manuales" de forma cómoda, tome cinco minutos de su tiempo para ajustar el Asesor Experto a sus preferencias.

Durante el proceso del trading, podrá abrir y cerrar posiciones, colocar órdenes pendientes y mover los niveles Stop Loss y Take Profit de las posiciones. Será capaz de elegir el tamaño del lote para las posiciones abiertas, el tiempo y la fecha de expiración de las órdenes pendientes y más cosas. Cada una de las características personalizables corresponde a una línea en el panel de control:


y dos líneas en el código del Asesor Experto:



Su función es intuitiva:
- RISK (Risk) - % del depósito a utilizar para abrir una posición;
- LOT (Lot) - tamaño del lote a utilizar para abrir una posición si RISK = 0;
- STOPLOSS (SL) - valor StopLoss de las posiciones a abrir, si no se mueve la línea StopLoss en la apertura;
- TAKEPROFIT (TP) - valor TakeProfit de las posiciones a abrir, si la línea TakeProfit no se mueve durante la apertura;
- TRAILINGSTOP (TS) - tamaño del TrailingStop que acompañará a todas las posiciones;
- EXPIRATION (Exp) - tiempo de expiración de la orden en horas.

Puede cambiar los valores de cualquier atributo predefinido directamente en el código. Por ejemplo, si suele abrir posiciones con un volumen de 1.0, 2.0, 5.0, 10.0 o 50.0 lotes, sustituya la línea que indica el tamaño del lote por la siguiente línea:

    double LOT[] = { 1.0, 2.0, 5.0, 10.0, 50.0 };

Después de compilar y reiniciar, obtendrá lo siguiente:


Si quiere seleccionar 5.0 lotes por defecto al inicio, sustituya "int SELECTED_LOT = 1;" por:

int SELECTED_LOT = 3;

Ahora, se va a seleccionar de forma predefinida el tercer elemento de la fila:


Del mismo modo, se pueden cambiar todos los valores de cualquier atributo. Es una norma general: en los corchetes de la matriz, tienen que haber 5 números separados por una coma, y el valor de las variables SELECTED_*** tiene que estar entre 1 y 5.

Las variables externas y la puesta en marcha


Ahora podemos ejecutar nuestro "Probador de estrategias manuales". Vamos a abrir la ventana del Probador, seleccionar vHandsTrade en la lista de Asesores Expertos, seleccionar un par de divisas y un período, y habilitar el modelado "Cada tick" para que la prueba sea lo más real posible.


Antes de pulsar el botón "Iniciar", echemos un vistazo a las propiedades del Asesor Experto. Con esto, hemos finalizado los ajustes del Asesor Experto mediante las variables externas:


En realidad, el Asesor Experto tiene únicamente cuatro variables externas, hereda las otras del archivo de inclusión VisualTestingTools.mq4. Hay que configurar todas las variables para un funcionamiento normal y sencillo:
- CommentsCount -
cantidad máxima de mensajes a mostrar por el Asesor Experto;
- SelectedColor -
color del valor seleccionado de Risk, Lot, SL, TP, etc.;
- ModifyColor -
color del icono de modificación de orden a utilizar en la modificación manual;
- TrailingColor -
color del icono de modificación de orden a utilizar en TrailingStop;
- TerminalRows -
cantidad máxima de líneas de la pestaña "Terminal" a mostrar. Si pone TerminalRows = 0, no se actualizará el terminal;
- HistoryRows -
cantidad máxima de líneas de la pestaña "Historial de cuentas" a mostrar. Si pone HistoryRows = 0, no se actualizará el historial de cuentas;
- BigText -
poner "true" si quiere una tamaño de fuente mayor;
- SignalPoints -
la distancia en puntos, desde que empiezan a resaltarse los campos Stop Loss, Take Profit y Open Price para las órdenes pendientes. Por ejemplo, para SignalPoints = 10, el campo Stop Loss cambiará su color cuando el precio está a una distancia de 10 puntos del Stop Loss de la posición;
- ShowCancelled -
poner "true" si quiere ver las órdenes canceladas en el historial de trading;
- ShowExpired -
poner "true" si quiere ver las órdenes pendientes expiradas en el historial de trading;
- MainColor -
color de los encabezamientos de las pestañas "Terminal" y "Historial de cuentas" y la línea de información de la cuenta del terminal (Saldo, Garantía, ...).
- BuyColor -
color de la información de las posiciones Buy;
- BuyOPColor -
color del campo Open Price en la pestaña Terminal; este color sustituirá el color principal al acercarse el precio actual al nivel de apertura de Buy Stop y Buy Limit;
- BuySLColor -
en la pestaña "Terminal": el color que sustituirá el color principal al acercarse el precio al nivel Stop Loss de las posiciones Buy; para la pestaña "Historial de cuentas": el color que sustituirá el color principal si se cierra la posición Buy mediante Stop Loss;
- >BuyTPColor -
al igual que con BuySLColor, pero aplicado a las posiciones de Take Profit;
- SellOPColor, SellSLColor y SellTPColor -
al igual que con las posiciones Sell.

Cabe señalar que el Asesor Experto fue creado para utilizarlo en un gráfico con un fondo negro, es por este motivo que muchos colores predeterminados son brillantes. Si usa un fondo blanco, elija colores oscuros. Esto es lo que he hecho durante la prueba del Asesor Experto para este artículo.

El inicio


Bueno, por fin pulsamos el botón Iniciar. Lo primero que vemos en el gráfico es "Toolbox" (Caja de herramientas), que ya se mencionó antes:



Ayuda a abrir posiciones, colocar órdenes pendientes y elegir los valores predeterminados de las características. Vamos a analizar en la sección correspondiente cada una de las acciones enumeradas antes. Ahora me gustaría comentar que todas las operaciones con "Toolbox" son más seguras en el modo "pausa". El Asesor Experto tiene que interpretar todas las acciones como órdenes y no se pueden cancelar. Puesto que el Asesor Experto está diseñado exclusivamente para la prueba, la inexactitud no le causará daños materiales, pero puede echar a perder los resultados obtenidos de unas pruebas largas y laboriosas.

Las ventanas "Terminal" y "Historial de cuentas" están debajo del gráfico. Se quedan vacías hasta que iniciemos el trading:


Podemos cerrar y modificar las posiciones mediante la ventana "Terminal", mientras que la ventana "Historial de cuentas" tiene un papel puramente informativo.

Apertura de una posición

Vamos a abrir una posición. En primer lugar, hace falta definir el tamaño del lote y las distancias a StopLoss y TakeProfit, ya que no queremos perder nuestro tiempo más adelante haciendo modificaciones.

Como ya se mencionó antes, se definen los valores mediante "Toolbox": Tenemos que seleccionar un objeto que contiene el valor deseado y moverlo a cualquier punto en la pantalla. Se puede mover cualquier número de objetos al mismo tiempo, es decir, si queremos establecer el tamaño del lote a 1 y TakeProfit a 100, tenemos que arrastrar los valores correspondientes a un punto aleatorio:


Pulse ahora F12, al llegar el siguiente tick y el Asesor Experto comprueba los valores seleccionados:


Al abrir una posición, El Asesor Experto usará el valor seleccionado de la característica:
- se calcula el tamaño del lote mediante la siguiente fórmula:Margen libre * Risk * 0.01 * Apalancamiento / Tamaño del contrato. Si Risk=0, se usa el valor Lot seleccionado;
-
se define la distancia a Stop Loss mediante su línea correspondiente (se describirá más adelante). Si no se mueve la línea StopLoss, se usará el valor seleccionado de SL;
- se define la distancia a Take Profit mediante su línea correspondiente. Si no se mueve la línea TakeProfit, se usará el valor seleccionado de TP;
-el tiempo de expiración (sólo para las órdenes pendientes)- se usará el valor seleccionado de Exp.

Se abren las posiciones de una forma muy sencilla, basta con arrastrar la línea correspondiente al gráfico. Hay 3 líneas para cada tipo de orden:
- la línea Open Price
(continua para las posiciones Buy y Sell, discontinua para las órdenes pendientes) está en el centro, entre las líneas Stop Loss y Take Profit;
- la línea Stop Loss
(guiones y puntos) está debajo de la línea OpenPrice para las posiciones Buy y encima de ella para las posiciones Sell;
- la línea Take Profit
(discontinua) está encima de las posiciones Buy y debajo de las posiciones Sell.

Las órdenes pendientes que se colocan encima del precio actual (Buy Stop y Sell Limit) están en la fila superior. Y aquellos que se colocan debajo del precio (Buy Limit and Sell Stop), se colocan en la fila inferior.

Así que si quiere abrir una posición Buy con los valores seleccionados de Stop Loss y Take Profit (como para ahora, 50 y 100 respectivamente), simplemente arrastre la línea de apertura de la posición Buy al gráfico:


Luego pulse F12 y vea los resultados:


Puesto que las posiciones Buy y Sell están abiertas sólo a los precios actuales, no hace falta colocar la línea exactamente encima del precio: el Asesor Experto pondrá los valores correctos. Pero es muy importante indicar los precios correctos para las órdenes pendientes, de lo contrario no se colocará la orden.

Vamos a definir ahora la orden Sell Stop:
- tamaño del lote - 10% del depósito;
- Open Price y Stop Loss a definir manualmente;
- Take Profit desactivado;
- el tiempo de expiración 30 minutos (0.5 hora).

Vamos a coger todos los objetos necesarios y colocarlos en el gráfico:


Pulse F12 y observe:


Todo parece en orden.

Cierre de una orden


Cerrar posiciones y eliminar órdenes pendientes es una tarea muchos más sencilla. Todo lo que tenemos que hacer es seleccionar el ticket de la orden a cerrar y moverlo:


El resultado no tardará mucho: el Asesor Experto ya habrá cerrado la posición con el siguiente tick:


La eliminación de las órdenes pendientes se hace del mismo modo.

Modificación de una posición


Gestionar la modificación de una orden combina elementos de cierre y apertura de la posición: Para seleccionar la característica a modificar (Open Price, Stop Loss o Take Profit), hay que mover el campo correspondiente.

Después de la llegada del siguiente tick, el Asesor Experto creará la línea de modificación que ayudará a cambiar el valor de la correspondiente característica:


Después de mover la línea a su nueva posición, pulsamos F12 y observamos el resultado:


Si quiere eliminar Stop Loss o Take Profit definitivamente, sólo tiene que eliminar el campo correspondiente:




Después de eliminar el campo Open Price, se puede cerrar la posición (eliminar la orden). Algunos traders consideran que este método es más recomendable.

No hay restricciones en el número de parámetros que se pueden modificar al mismo tiempo, se pueden incluso modificar todas las posiciones abiertas dentro de un tick.

Conclusión

Después de leer este artículo, se dará cuenta de que no es necesario ser un programador para poder probar su estrategia con los datos del historial. Puede hacer trading manualmente con los datos del historial mediante el modo de prueba manual.

El Asesor Experto, las librería y los indicadores proporcionados en este artículo le permiten simular el terminal de trading real.

Y para concluir, me gustaría recordarle que el Asesor Experto no está pensado para el trading. No confíe su dinero a un programa de prueba

Para simplificar el control de órdenes en el modo tiempo real, se ha creadoel conjunto en línea AutoGraf. Algunas ideas y partes del código de este artículo se han hecho gracias a este conjunto (por cortesía del autor). ¡Muchas gracias al autor por esto!