Mira cómo descargar robots gratis
¡Búscanos en Telegram!
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
Visualizaciones:
848
Ranking:
(24)
Publicado:
2017.01.11 08:38
\MQL5\Experts\ \MQL5\Indicators\ \MQL5\Include\
Interchange.mqh (9.51 KB) ver
My_struct.mqh (0.9 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

¿Para qué se necesita eso?

Esta clase ayudará a organizar el intercambio de datos entre sus programas en casi si Usted escribe para el «Market» o no desea usar las DLL de sistema.

Para otras ocasiones existen las maneras más rápidas y seguras para vincular las aplicaciones. El intercambio está implementado a través de las estructuras simples.

Opciones de aplicación:

  1. Hace falta traspasar los datos de un Asesor Experto (EA) a un indicador o a otro EA;
  2. Hace falta diseñar un indicador que visualiza la información en varias ventanas (o en la ventana principal y subventana);
  3. Hace falta implementar la visualización de valores calculados para el EA dentro del cual se realizan todos los cálculos necesarios.

¿Cómo trabajar con eso?

Muestro un ejemplo del traspaso de datos de un EA a un indicador.

  1. En el Asesor Experto

    1.1. Creamos una instancia de la clase:

    CInterchange Exp_buffer;

    1.2. Establecemos el prefijo del nombre de las variables globales en OnInit(). Para que no haya conflicto con otras instancias de la clase, es necesario establecer un nombre único para cada una de ellas:

    Exp_buffer.SetPrefixNameForSave(_Symbol+"_"+(string)_Period);

    1.3. El trabajo del algoritmo está implementado a través de los eventos personalizados. Es necesario insertar la siguiente línea en el manejador OnChartEvent():

    Exp_buffer.OnEvent(id,lparam,dparam,sparam);

    Si los datos para el traspaso están listos (en el ejemplo es la estructura Exp_Data), hay que llamar al método:

    Exp_buffer.SendDataStart(Exp_Data);
    1.4. No olvidemos eliminar la instancia de la clase al deinicializar el programa:
    Exp_buffer.Destroy();

  2. En el indicador

    2.1. Creamos una instancia de la clase:

    CInterchange Ind_buffer;
    2.2. Establecemos el prefijo del nombre de las variables globales en OnInit(). Tiene que coincidir con la fuente, es decir, ser el mismo que en el punto 1.1.
    Ind_buffer.SetPrefixNameForLoad(_Symbol+"_"+(string)_Period);

    2.3. Para iniciar el proceso de obtención de datos, hay que llamar al método GetDataStart() con el parámetro Ind_data (estructura en la que van a guardarse los datos desde el EA):

    Ind_buffer.GetDataStart(Ind_data);

    2.4. El trabajo del algoritmo está implementado a través de los eventos personalizados. Es necesario insertar la siguiente línea en el manejador OnChartEvent():

    Ind_buffer.OnEvent(id,lparam,dparam,sparam);

    Si el proceso del traspaso ha finalizado, el método:

    Ind_buffer.GetDataFinish(Ind_data)

    devolverá true.

    2.5. No olvidemos eliminar la instancia de la clase al deinicializar el programa:

    Ind_buffer.Destroy();

Vídeo con el ejemplo del trabajo:


Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/12786

Stat Stat

El script muestra la estadística breve del trading para el símbolo durante el período especificado en la ventana del gráfico (número de transacciones, beneficio, factor del beneficio).

Conmutación de gráficos Conmutación de gráficos

El script cambia entre todos los gráficos abiertos dentro de un determinado intervalo de tiempo. También se puede visualizar los gráficos sólo de los símbolos especificados.

trend_arrows_HTF trend_arrows_HTF

El indicador trend_arrows permite cambiar el período de tiempo del indicador en los parámetros de entrada.

Exp_iWPRSign Exp_iWPRSign

Sistema de trading a base de las señales del indicador iWPRSign.