Mi enfoque. El núcleo es el motor. - página 75

 

Unicornis:.

...

Ventana de 10 casillas de verificación y una tabla de 12 filas|5 columnas, primera columna y primera fila celdas de valor de texto, otras celdas dobles (por ejemplo, llenando OHLC últimas 10 barras formadas línea por línea).


Código de control en el EA:

void OnTick()
  {
   E_Last_10_bars_Current_symbol(Symbol());
   E_Last_10_bars_Current_timeframe(Period());
   E_Last_10_bars_Last_price(Ask);
   //------------------------------------------------------------------
   E_Last_10_bars_1_Open_price(Open[1]);  E_Last_10_bars_1_Close_price(Close[1]);
   E_Last_10_bars_2_Open_price(Open[2]);  E_Last_10_bars_2_Close_price(Close[2]);
   E_Last_10_bars_3_Open_price(Open[3]);  E_Last_10_bars_3_Close_price(Close[3]);
   E_Last_10_bars_4_Open_price(Open[4]);  E_Last_10_bars_4_Close_price(Close[4]);
   E_Last_10_bars_5_Open_price(Open[5]);  E_Last_10_bars_5_Close_price(Close[5]);
   E_Last_10_bars_6_Open_price(Open[6]);  E_Last_10_bars_6_Close_price(Close[6]);
   E_Last_10_bars_7_Open_price(Open[7]);  E_Last_10_bars_7_Close_price(Close[7]);
   E_Last_10_bars_8_Open_price(Open[8]);  E_Last_10_bars_8_Close_price(Close[8]);
   E_Last_10_bars_9_Open_price(Open[9]);  E_Last_10_bars_9_Close_price(Close[9]);
   E_Last_10_bars_10_Open_price(Open[10]);E_Last_10_bars_10_Close_price(Close[10]);
   //------------------------------------------------------------------
   E_Last_10_bars_1_High_price(High[1]);  E_Last_10_bars_1_Low_price(Low[1]);
   E_Last_10_bars_2_High_price(High[2]);  E_Last_10_bars_2_Low_price(Low[2]);
   E_Last_10_bars_3_High_price(High[3]);  E_Last_10_bars_3_Low_price(Low[3]);
   E_Last_10_bars_4_High_price(High[4]);  E_Last_10_bars_4_Low_price(Low[4]);
   E_Last_10_bars_5_High_price(High[5]);  E_Last_10_bars_5_Low_price(Low[5]);
   E_Last_10_bars_6_High_price(High[6]);  E_Last_10_bars_6_Low_price(Low[6]);
   E_Last_10_bars_7_High_price(High[7]);  E_Last_10_bars_7_Low_price(Low[7]);
   E_Last_10_bars_8_High_price(High[8]);  E_Last_10_bars_8_Low_price(Low[8]);
   E_Last_10_bars_9_High_price(High[9]);  E_Last_10_bars_9_Low_price(Low[9]);
   E_Last_10_bars_10_High_price(High[10]);E_Last_10_bars_10_Low_price(Low[10]);
   //------------------------------------------------------------------   
   
  }

Código de la ventana en el lenguaje de marcas:

//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Last 10 bars",    W_TYPE, SETTINGS,   OOI,  W_ICON,1,
//====================================================================================================================
GROUP,A,

__, BOARD, "Symbol:",  EDIT, "Current symbol",  BOARD, "Timeframe:", EDIT, "Current timeframe", W,40, BOARD, "Price:", EDIT, "Last price", 

__, H_LINE,"HL1", W,410,

END_GROUP,
//------------------------------------
i, AT, _X2X, "MF", 10, _Y2Y,"MF", 10,
//-----------
i, X_GAP,10,

i,BOARDS, H,20, END,
//-----------
"Current timeframe",READ_ONLY,  
"Last price",       READ_ONLY, 
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
//Объявляем таблицу:
//----------------------------------------------------------------------------------
GROUP,A, IS_TABLE,  


__,     T_HEADER, "Bar",     C_HEADER, "Open price", C_HEADER, "Close price",  C_HEADER, "High price", C_HEADER, "Low price",     

__,     R_HEADER, "1",  CELL, A,  CELL, A,   CELL, A,  CELL, A,         
__,     R_HEADER, "2",  CELL, A,  CELL, A,   CELL, A,  CELL, A,   
__,     R_HEADER, "3",  CELL, A,  CELL, A,   CELL, A,  CELL, A,     
__,     R_HEADER, "4",  CELL, A,  CELL, A,   CELL, A,  CELL, A,   
__,     R_HEADER, "5",  CELL, A,  CELL, A,   CELL, A,  CELL, A,         
__,     R_HEADER, "6",  CELL, A,  CELL, A,   CELL, A,  CELL, A,   
__,     R_HEADER, "7",  CELL, A,  CELL, A,   CELL, A,  CELL, A,     
__,     R_HEADER, "8",  CELL, A,  CELL, A,   CELL, A,  CELL, A,  
__,     R_HEADER, "9",  CELL, A,  CELL, A,   CELL, A,  CELL, A,         
__,     R_HEADER, "10", CELL, A,  CELL, A,   CELL, A,  CELL, A,   
 
END_GROUP,
//------------------------------------
i, AT, _X2X, "MF", 10, _Y2H,"HL1", 10,
//-----------
i, Y_GAP,-1,
i, X_GAP,-1,
//-----------
i,IS_ZEBRA_STYLE,
//----------------------------------------------------------------------------------
"Bar", W,30,
"Bar", H,30,
"Bar",N_COLOR,(int)C'235,235,0',
//----------------------------------
i,C_HEADERS,H,30,N_COLOR,(int)C'235,0,235', END,
i,R_HEADERS,H,30, N_COLOR,(int)C'0,235,0', END,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP,A,
 
__, V_LINE,"VL1", H,320,

END_GROUP,
//----------------------------------
i,AT,_X2W,"Low price", 10,  _Y2H,"HL1",10,
//----------------------------------
//----------------------------------------------------------------------------------
GROUP,A, 

__, CHECKBOX, "Checkbox 1",  
__, CHECKBOX, "Checkbox 2", 
__, CHECKBOX, "Checkbox 3",  
__, CHECKBOX, "Checkbox 4", 
__, CHECKBOX, "Checkbox 5",  
__, CHECKBOX, "Checkbox 6",  
__, CHECKBOX, "Checkbox 7", 
__, CHECKBOX, "Checkbox 8",  
__, CHECKBOX, "Checkbox 9",
__, CHECKBOX, "Checkbox 10",

END_GROUP,
//----------------------------------
i,AT,_X2W,"VL1",10,  _Y2H,"HL1",10,
//----------------------------------
i,Y_GAP,20,
i,X_GAP,20,
//----------------------------------

//====================================================================================================================
END_WINDOW,

Primer archivo - Asesor experto.

El segundo archivo - instalar a la carpeta Incloud (no es necesario cambiar o abrirlo).

El tercer archivo - instalar en la carpeta inlude y llenar.

El cuarto archivo: el motor. Cárguelo en el gráfico junto con el Asesor Experto.

Archivos adjuntos:
 

La mesa funciona. Ya se puede utilizar.

En el archivoExternal Connection.mqh es necesario prescribir qué hacer en los eventos de pulsar/rechazar las casillas de verificación.

Eso es todo.

 
Реter Konow:


El código de control en el EA:

Código de la ventana en el lenguaje de marcas:

Primer archivo - EA.

Segundo archivo - instalar en la carpeta inlude (no es necesario cambiarlo o abrirlo).

El tercer archivo - instalar en la carpeta inlude y llenar.

El cuarto archivo: el motor. Adjúntelo al gráfico junto con el Asesor Experto.

Gracias. Intentaré añadirlo.

 
Unicornis:

Gracias. Intentaré que funcione.

Bien. Si necesita cambiar el nombre de las casillas, escriba sus nombres. Debería estar hecho en 5 minutos.

 
Реter Konow:


El código de control en el EA:

Código de la ventana en el lenguaje de marcas:

Primer archivo - EA.

Segundo archivo - instalarlo en la carpeta inlude (no es necesario cambiarlo o abrirlo).

El tercer archivo - instalar a la carpeta inlude y llenar.

El cuarto archivo: el motor. Adjúntelo al gráfico junto con los Asesores Expertos.

En primer lugar, no los ponga en la carpeta "Include", sino en la carpeta Include\DRIVE\N.

En segundo lugar, hay que cambiar el nombre de los archivos de 'Connection_Properties.mqh' y 'External_Connection.mqh' a 'External Connection.mqh' y 'Connection Properties.mqh' (poner un espacio en lugar de un guión bajo)

Tercero:

El tercer archivo es para instalarlo en la carpeta inlude y rellenarlo.

¿Qué hay que rellenar? ¿Dónde llenar? ¿Rellenarla con qué?

Cuarto, el panel no aparece después de compilar y lanzar el Asesor Experto:


Quinto. Si adivina poner este trozo de código al final de Extrenal Connection.mqh:

//----------------------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Last 10 bars",    W_TYPE, SETTINGS,   OOI,  W_ICON,1,
//====================================================================================================================
GROUP,A,

__, BOARD, "Symbol:",  EDIT, "Current symbol",  BOARD, "Timeframe:", EDIT, "Current timeframe", W,40, BOARD, "Price:", EDIT, "Last price", 

__, H_LINE,"HL1", W,410,

END_GROUP,
...

Habrá un error

'NEW_WINDOW' - declaration without type External Connection.mqh 265     1

es decir, esta macro no está definida.

Peter, ahorra tiempo y sentimientos a tus futuros usuarios. Estás publicando un código que no funciona sin una manipulación adicional. Si no respetas tu código, al menos respeta el tiempo de los demás participantes.

 
Vasiliy Sokolov:

En primer lugar, no en la carpeta 'inlude' sino en la carpeta Include\DRIVE\.

En segundo lugar, hay que cambiar el nombre de los archivos "Connection_Properties.mqh" y "External_Connection.mqh" por "External Connection.mqh" y "Connection Properties.mqh" (sustituya el guión bajo por un espacio)

Tercero:

¿Qué hay que rellenar? ¿Dónde llenar? ¿Rellenarla con qué?

En cuarto lugar, el panel no aparece después de compilar y lanzar el Asesor Experto:


Quinto. Si adivina poner este trozo de código al final de Extrenal Connection.mqh:

Habrá un error

es decir, esta macro no está definida.

Peter, ahorra tiempo y sentimientos a tus futuros usuarios. Estás publicando un código que no funciona sin una manipulación adicional. Si no respetas tu código, ¡respeta al menos el tiempo de los demás participantes!

Vasily, ¿por qué escribir tonterías?

¿Es sólo un trolling?

Ya hay un espacio en el nombre del archivo.

Fill - significa prescribir llamadas de sus funciones en el evento de las casillas de verificación.

Tienes que poner el EA en el gráfico, y luego el motor.

Los archivos deben guardarse exactamente en la carpeta Incloud.

No hay que poner nada en ningún sitio. Esto es una autoprueba.

 
Gente, sed serios: estoy harto de tener que borrar vuestra basura. Si quieres revivir la sala de fumadores, podemos enviarte al lavadero: allí podrás drogarte.
 
Vasiliy Sokolov:


El código de la ventana del lenguaje de marcas dado es sólo un ejemplo de su composición. No es necesario colocarlo en ningún sitio. Ya está en el motor.

Relleno:

Abra el archivoExtrenal Connection.mqh y establezca sus llamadas de función en los eventos de control.

 
Реter Konow:

Guarde los archivos exactamente en la carpeta de inclusión.

Peter, estoy a punto de empezar a insultarte de mala manera. Aquí está el código que has publicado:

//+------------------------------------------------------------------+
//|                                                 TestApp v1.0.mq4 |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Peter Konow"
//+------------------------------------------------------------------+
#include<DRIVE\Connection  Properties.mqh>
#include<DRIVE\External  Connection.mqh> 
//---------------------------------------
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   //------------------------------------  
   EventSetMillisecondTimer(225);
   //------------------------------------
   EventChartCustom(0,INIT_GUI,0,0,NULL);  
   //------------------------------------ 
   return(INIT_SUCCEEDED);
  } 
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   EventChartCustom(0,DEST_GUI,0,0,""); 
//--- destroy timer
   EventKillTimer();
     
  }

Mira lo que está resaltado en amarillo. ¿De acuerdo?

Konow reg:

Ya hay un espacio en los nombres de los archivos.

Peter, descárgate los archivos que has puesto y mira cómo se llaman. Sólo por el interés.

De todos modos, después de compilar el panel no lo veo. En absoluto. Así es como se ve la ventana:

p.d. Esto no es trolling.

 
Vasiliy Sokolov:

Peter, estoy a punto de empezar a maldecirte de mala manera. Aquí está el código que has publicado:

Mira lo que está resaltado en amarillo. ¿De acuerdo?

Peter, descárgate los archivos que has puesto y mira cómo se llaman. Sólo por el interés.

En cualquier caso, tras la compilación, no veo el panel. En absoluto. Así es como se ve la ventana:

p.d. Esto no es trolling.

Tengo un espacio en el nombre de los archivos. No sé por qué se descargan con un "_".

1. Los archivos"External Connection.mqh" y "Connection Properties.mqh" deben estar en la carpeta de inclusión.

2. El archivo EA está en la carpeta Expert. Debe abrirse, compilarse y guardarse.

3. El motor debe guardarse en la carpeta de indicadores.

4. Ejecute el motor y el Asesor Experto en el gráfico. Eso es todo.

Me disculpo:

#include<DRIVE\Connection  Properties.mqh>
#include<DRIVE\External  Connection.mqh> 

Sí, es cierto. Me olvidé de quitar la conexión a través de la carpetaDRIVE en el EA

Hay que arreglar esto.