English Русский 中文 Deutsch 日本語 Português
Representación gráfica de las pruebas: Gráficos de estados de las cuentas

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

MetaTrader 4Probador | 30 marzo 2016, 12:51
853 0
Andrey Khatimlianskii
Andrey Khatimlianskii

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:

  • recibir la información del Asesor experto sobre el estado de la cuenta.
  • pasarlo al indicador y visualizarlo.

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:

  • añadir al Asesor experto una línea, actualizando el valor de la variable Global necesaria;
  • crear un indicador simple leyendo el valor de esta variable y representándola en el gráfico.

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!

Traducción del ruso hecha por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/ru/articles/1487

MT4TerminalSyn: Sistema para la Sincronización de Terminales MetaTrader 4 MT4TerminalSyn: Sistema para la Sincronización de Terminales MetaTrader 4
Este artículo está dedicado al tema "Ampliar las posibilidades de los programas MQL4 utilizando funciones de sistemas operativos y otros medios de desarrollo de programas". El artículo describe un ejemplo de un sistema que integra la tarea de la sincronización de varias copias de terminales basada en una única plantilla de base.
Trading automatizado atípico Trading automatizado atípico
Trading eficaz y cómodo con la plataforma MT4 sin análisis detallado del mercado: ¿es posible? ¿Se puede llevar a cabo un trading así? Supongo que sí. ¡Especialmente en términos de trading automatizado!
Interacción entre MetaTrader 4 y Matlab a través de archivos CSV Interacción entre MetaTrader 4 y Matlab a través de archivos CSV
Las instrucciones paso a paso de cómo organizar las gamas intercambio de datos entre MetaTrader 4 y Metlab a través de archivos CSV.
Lenguaje MQL4 para principiantes. Problemas complicados en frases simples. Lenguaje MQL4 para principiantes. Problemas complicados en frases simples.
Este es el segundo artículo de la serie "Lenguaje MQL4 para principiantes". Esta vez examinaremos construcciones del lenguaje más avanzadas y complicadas, aprenderemos nuevas opciones, y veremos cómo pueden aplicarse en la práctica diaria. Se familiarizará con un nuevo tipo de ciclo, "while"; con un nuevo tipo de condición, "switch"; con los operadores "break" y "continue". Además, aprenderá a escribir sus propias funciones y a trabajar con gamas multidimensionales. Y de postre, una explicación sobre un pre procesador.