Discussão do artigo "Tabelas eletrônicas no MQL5"

 

Novo artigo Tabelas eletrônicas no MQL5 foi publicado:

O artigo descreve uma classe de array tridimensional dinâmico que contém dados de diferentes tipos em sua primeira dimensão. O armazenamento de dados na forma de tabela é conveniente para resolver uma gama ampla de problemas de organização, armazenamento e operação com informações ligadas de diferentes tipos. O código fonte da classe que implementa a funcionalidade de trabalho com etiquetas está em anexo neste artigo.

Autor: Nikolay Demko

 
Artigo bom, gentil e útil. Respeito ao autor!
 
Interessante. Pode até ser útil.
 

Eh... Eu gostaria de ver um pequeno exemplo de como ordenar a segunda coluna em uma matriz bidimensional 3x3. O que devo escrever no código após #include <Table.mqh>?

O código a seguir gera zeros. Onde está o erro?

#include <Table.mqh>
void OnStart(){   
   ENUM_DATATYPE Types[3];
   Types[0] = TYPE_DOUBLE;
   Types[1] = TYPE_DOUBLE;
   Types[2] = TYPE_DOUBLE;   
   CTable Table;
   Table.FirstResize(Types);
   Table.SecondResize(3);
   Table.Set(0,0, 1); Table.Set(0,1, 4); Table.Set(0,2, 23);
   Table.Set(1,0, 2); Table.Set(1,1, 7); Table.Set(1,2, 48);
   Table.Set(2,0, 3); Table.Set(2,1, 1); Table.Set(2,2, 77);
   Table.SortTwoDimArray(1,0,Table.SecondSize()-1);
   string txt;
   for(int i=0; i<Table.SecondSize(); i++){
      for(int j=0; j<Table.FirstSize(); j++){
         double k;
         Table.Get(i,j,k);
         StringConcatenate(txt, txt, "  ", DoubleToString(k));
      }
      Print(txt);
      txt="";
   }
}//OnStart()
 

Você está atribuindo o tipo int aos campos da tabela declarados como double

tente isto ou isto...

   Table.Set(0,0, 1.); Table.Set(0,1, 4.); Table.Set(0,2, (double)23);
   Table.Set(1,0, 2.); Table.Set(1,1, 7.); Table.Set(1,2, (double)48);
   Table.Set(2,0, 3.); Table.Set(2,1, 1.); Table.Set(2,2, (double)77);
 
Oh, obrigado! Eu nunca teria imaginado isso.
 

Nikolay, tenho uma pergunta.

É possível escrever uma tabela do MT5 para o Excel nesse formato?

Estou interessado nesses dois nomes de colunas de macro ("Dados absolutos" e "Dados relativos"), que estão destacados em cores. Elas reúnem 3 células cada.

Talvez eu queira muito da MQL5 em termos de formatação de células do Excel. E se :-)))

 
denkir:

Nikolay, tenho uma pergunta.

É possível escrever uma tabela do MT5 para o Excel nesse formato?

Estou interessado nesses dois nomes de colunas de macro ("Dados absolutos" e "Dados relativos"), que estão destacados em cores. Elas combinam 3 células cada.

Talvez eu queira muito da MQL5 em termos de formatação de células do Excel. Mas e se :-)))

Que significado físico você atribui às palavras "combinar 3 células"?

Em princípio, você pode, mas sem as duas linhas superiores, os tipos de dados são resumidos por colunas, de modo que, em uma coluna, não será possível empilhar string e double, mas isso pode ser feito durante a impressão. Ou refinar a classe para que ela contenha strings maiúsculas formatadas separadamente da tabela.

A maneira mais fácil é criar duas tabelas e mesclá-las.

Документация по MQL5: Основы языка / Типы данных
Документация по MQL5: Основы языка / Типы данных
  • www.mql5.com
Основы языка / Типы данных - Документация по MQL5
 
Urain:

Que significado físico você atribui às palavras "combinar 3 células"?


Isso é o que temos agora:



O que eu gostaria de já ter trazido ....

 
Privit, zhuzhe viruchila biblioteka z statti"Spreadsheets in MQL5", obrigado.
 
MetaQuotes Software Corp.:

Novo artigo Tabelas eletrônicas em MQL5 é publicado:

Autor: Николай

Muito bom. É isso que estou procurando. Vou testar minhas colunas. Obrigado.