Representación gráfica de las pruebas: Gráficos de estados de las cuentas

Andrey Khatimlianskii | 30 marzo, 2016

Introducción

Creo que no soy el único que quiere ver la información sobre el estado de la cuenta durante la prueba en el modo de visualización de manera más informativa.
¿Cuál era la cantidad de margen libre antes de abrir la última posición? ¿Hacia dónde se dirige la curva del balance? ¿Cómo de grande era la reducción en equidad durante el último día?

Algunas de estas cuestiones se discutieron 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. Pero no hay ninguna herramienta para una visualización rápida y fácil de la información de la cuenta. En este artículo hablaremos de los programas para dibujar gráficos del estado de las cuentas durante la prueba en el modo de visualización. Como ejemplo, examinaremos los gráficos Balance y Equidad. El artículo también tiene instrucciones para construir gráficos con otros atributos de cuenta.



¿Es fácil?

Podría pensarse: ¿qué sería más fácil que escribir un indicador mostrando Balance? El único búfer está relleno por la tarea conocida como valor Balance sobre el recibo de barras. Este es el algoritmo.
Pero hay un problema: el indicador, que se muestra en el gráfico de representación gráfica de la prueba, no tiene acceso al estado de la cuenta probada. Todas las funciones responsables de esta información, devuelven los valores de la cuenta real.
En este artículo aprenderemos a evitar esta "peculiaridad". Para esto necesitamos:

Para pasar los datos relevantes usaremos variables Globales de la terminar, y para su representación gráfica, funciones estándar de los indicadores personalizados.



¡Es fácil!

Es necesario añadir al Asesor experto que se va a probar, un código para guardar el Balance en la variable Global. Todo lo que se necesita es añadir una línea al principio de la función start():

int start()
{
   // saving the last value of the balance into the global variable
   GlobalVariableSet( "vGrafBalance", AccountBalance() );
 
   // Expert Advisor code
 
   return(0);
}

El código del indicador no es mucho más difícil:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue
 
double balance[];
 
int init()
{
    IndicatorShortName( "vGrafBalance" );
    IndicatorDigits( 2 );
 
    SetIndexStyle( 0, DRAW_LINE );
    SetIndexBuffer( 0, balance );
    SetIndexLabel( 0, "Balance" );
}
int start()
{
    balance[0] = GlobalVariableGet( "vGrafBalance" );
    return(0);
}

¡Eso es todo! Ahora se puede recopilar el indicador y la nueva versión del Asesor experto, ¡y empezar la prueba!

Tras hacer clic en botón Inicio, y adjuntar un indicador al gráfico, veremos algo así:




La curva de balance refleja los cambios: en el cierre de cada trade, cambia su valor.



¿Qué más se puede hacer?

El resto de gráficos se construyen de la misma manera:

Tenga en cuenta que el nombre de la variable para cada característica tiene que ser único, es decir, no tiene que ser igual a los nombres de otras variables.
Además, debe ser igual al nombre de la variable leída por el indicador.


El segundo ejemplo muestra cómo añadir el gráfico de Equidad al gráfico de Balance.
El código del Asesor Experto

int start()
{
   // saving the last value of the balance into the global variable
   GlobalVariableSet( "vGrafBalance", AccountBalance() );
   // saving the last value of the equity into the global variable 
   GlobalVariableSet( "vGrafEquity", AccountEquity() );
 
   // Expert Advisor code
 
   return(0);
}

El código del indicador:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
 
double equity[];
 
int init()
{
    IndicatorShortName( "vGrafEquity" );
    IndicatorDigits( 2 );
 
    SetIndexStyle( 0, DRAW_LINE );
    SetIndexBuffer( 0, equity );
    SetIndexLabel( 0, "Equity" );
}
int start()
{
    equity[0] = GlobalVariableGet( "vGrafEquity" );
    return(0);
}

Ejemplo de uso:




Se puede adjuntar un indicador a otro para ver la correlación de las dos características:




Conclusión

El artículo describe e proceso de crear indicadores, visualizar el estado de la cuenta. Hemos analizado los indicadores más simples: Balance y Equidad.
Puede crear otro gráfico: porcentaje de trades rentables, pagos esperados, lote promedio o beneficio de una posición en puntos: todo está disponible.

¡La información se puede verse muy bien!