Minha abordagem. O núcleo é o motor. - página 75

 

Unicornis:.

...

Janela com 10 caixas de seleção e uma tabela de 12 linhas|5 colunas, primeira coluna e primeira linha de células de valor de texto, outras células duplas (por exemplo, preenchimento OHLC últimas 10 barras formadas linha por linha).


Código de controle na 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 da janela na linguagem de marcação:

//-------------------------------------------------------------------------------------------------------------------- 
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,

Primeiro arquivo - Expert Advisor.

O segundo arquivo - instalar na pasta Incloud (não alterar ou abri-la).

O terceiro arquivo - instalar na pasta inlude e preencher.

O quarto arquivo - o motor. Anexá-lo ao quadro junto com o Consultor Especialista.

Arquivos anexados:
 

A mesa funciona. Ele já pode ser usado agora.

No arquivoExternal Connection.mqh você precisa prescrever o que fazer nos eventos de pressão/rejeição de caixas de seleção.

Isso é tudo.

 
Реter Konow:


O código de controle na EA:

Código da janela na linguagem de marcação:

Primeiro arquivo - EA.

Segundo arquivo - instalar na pasta inlude (não há necessidade de alterá-lo ou abri-lo).

O terceiro arquivo - instalar na pasta inlude e preencher.

O quarto arquivo - o motor. Anexá-lo ao quadro junto com o Consultor Especialista.

Obrigado! Vou tentar adicioná-lo.

 
Unicornis:

Obrigado! Vou tentar fazer com que funcione.

Ok. Se você precisar renomear as caixas de seleção, escreva seus nomes. Deve ser feito em 5 minutos.

 
Реter Konow:


O código de controle na EA:

Código da janela na linguagem de marcação:

Primeiro arquivo - EA.

Segundo arquivo - instalar na pasta inlude (não há necessidade de alterá-lo ou abri-lo).

O terceiro arquivo - instalar na pasta inlude e preencher.

O quarto arquivo - o motor. Anexá-lo ao quadro junto com os Conselheiros Especializados.

Primeiro, não os coloque na pasta "Incluir", mas na pasta "Incluir".

Em segundo lugar, os arquivos devem ser renomeados de 'Connection_Properties.mqh' e 'External_Connection.mqh' para 'External Connection.mqh' e 'Connection Properties.mqh' (em vez do sublinhado, coloque um espaço)

Terceiro:

O terceiro arquivo é para instalá-lo na pasta inlude e preenchê-lo.

O que preencher? Onde preencher? Preenchê-lo com o quê?

Quarto, o painel não aparece após a compilação e lançamento do Expert Advisor:


Quinto. Se você adivinhar colocar esta peça de código no final do 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,
...

Haverá um erro

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

ou seja, esta macro não está definida.

Peter, poupe o tempo e os sentimentos de seus futuros usuários. Você está postando código que não funciona sem manipulação adicional. Se você não tem respeito por seu código, pelo menos respeite o tempo dos outros participantes!

 
Vasiliy Sokolov:

Primeiramente, não na pasta 'inlude', mas na pasta Include\DRIVE\.

Em segundo lugar, os arquivos devem ser renomeados de 'Connection_Properties.mqh' e 'External_Connection.mqh' para 'External Connection.mqh' e 'Connection Properties.mqh' (substituir o sublinhado por um espaço)

Terceiro:

O que preencher? Onde preencher? Preenchê-lo com o quê?

Quarto, o painel não aparece após a compilação e lançamento do Expert Advisor:


Quinto. Se você adivinhar colocar esta peça de código no final do Extrenal Connection.mqh:

Haverá um erro

ou seja, esta macro não está definida.

Peter, poupe o tempo e os sentimentos de seus futuros usuários. Você está postando código que não funciona sem manipulação adicional. Se você desrespeitar seu código, pelo menos respeite o tempo dos outros participantes!

Vasily, por que escrever bobagens?

É apenas corrico?

Já existe um espaço no nome do arquivo.

Preencher - significa prescrever chamadas de suas funções em eventos de caixas de seleção.

Você precisa colocar o EA na tabela, e depois o motor.

Os arquivos têm de ser salvos exatamente na pasta Incloud.

Você não precisa colocar nada em nenhum lugar. Esta é uma auto-estima.

 
Pessoal, mantenham-no real - estou farto de ter que apagar suas porcarias. Se você quiser reviver a sala de fumo, podemos enviá-lo para a lavagem - você pode ficar pedrado lá.
 
Vasiliy Sokolov:


O código da janela de linguagem de marcação dada é apenas um exemplo de como fazer isso. Não precisa ser colocado em nenhum lugar. Já está no motor.

Enchimento:

Abra o arquivoExtrenal Connection.mqh e configure suas chamadas de função em eventos de controle.

 
Реter Konow:

Salve os arquivos exatamente na pasta de inclusão.

Peter, estou prestes a começar a te xingar de uma forma ruim. Aqui está o código que você postou:

//+------------------------------------------------------------------+
//|                                                 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();
     
  }

Veja o que está destacado em amarelo. Está bem?

Konow reg:

Já existe um espaço nos nomes dos arquivos.

Peter, baixe os arquivos que você postou e veja como eles são chamados. Só por interesse.

De qualquer forma, depois de compilar o painel, não o vejo. De forma alguma. É assim que a janela se parece:

p.s. Isto não é corrico.

 
Vasiliy Sokolov:

Peter, estou prestes a começar a amaldiçoar você de uma forma ruim. Aqui está o código que você postou:

Veja o que está destacado em amarelo. Está bem?

Peter, baixe os arquivos que você postou e veja como eles são chamados. Só por interesse.

Em qualquer caso, após a compilação, não vejo o painel. De forma alguma. É assim que a janela se parece:

p.s. Isto não é corrico.

Eu tenho um espaço em nome dos arquivos. Por que eles fazem o download com um "_", não sei.

1. Os arquivos'External Connection.mqh' e 'Connection Properties.mqh' devem estar na pasta de inclusão.

2. O arquivo EA está na pasta Expert. Ele deve ser aberto, compilado e salvo.

3. O motor deve ser salvo na pasta de indicadores.

4. Ponha o motor em funcionamento e o Expert Advisor no gráfico. Isso é tudo.

Peço desculpas:

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

De fato. Esqueci de remover a conexão através da pastaDRIVE no EA

Isto precisa ser consertado.