Discussione sull’articolo "Le tabelle elettroniche in MQL5"

 

Il nuovo articolo Le tabelle elettroniche in MQL5 è stato pubblicato:

L'articolo descrive una classe di array bidimensionali e dinamici contenente dati di tipo diverso nella sua prima dimensione. La memorizzazione dei dati sotto forma di tabella è utile per risolvere un'ampia gamma di problemi di disposizione, memorizzazione e funzionamento con informazioni associate di diverso tipo. Il codice sorgente della classe che implementa la funzionalità di lavorare con le tabelle è allegato all'articolo.

Il codice della classe CTable è stato scritto utilizzando i modelli descritti nell'articolo Using Pseudo-Templates as Alternative of С++ Templates. Solo grazie all'utilizzo dei modelli, ho potuto scrivere un codice così grande così rapidamente. Ecco perché non descriverò l'intero codice nei dettagli; inoltre, gran parte del codice degli algoritmi è una modifica delle classi standard.

Mostrerò solo la struttura generale della classe e alcune delle caratteristiche più interessanti delle sue funzioni che chiariscono alcuni punti importanti.

Lo schema a blocchi di CTable

Autore: Nikolay Demko

 
Articolo buono, gentile e utile. Rispetto per l'autore!
 
Interessante. Potrebbe anche essere utile.
 

Eh... Mi piacerebbe vedere un piccolo esempio di come ordinare la seconda colonna in un array bidimensionale 3x3. Cosa dovrei scrivere nel codice dopo #include <Table.mqh>?

Il codice seguente produce degli zeri. Dov'è l'errore?

#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()
 

Si sta assegnando il tipo int ai campi della tabella dichiarati come double

prova questo o questo...

   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, grazie! Non l'avrei mai detto.
 

Nikolay, ho una domanda.

È possibile scrivere una tabella da MT5 a Excel in questa forma?

Mi interessano i nomi delle 2 macro colonne ("Dati assoluti" e "Dati relativi"), che sono evidenziati in colore. Esse uniscono 3 celle ciascuna.

Forse voglio molto da MQL5 in termini di formattazione delle celle di Excel. E se :-)))

 
denkir:

Nikolay, ho una domanda.

È possibile scrivere una tabella da MT5 a Excel in questa forma?

Mi interessano i nomi delle 2 macro colonne ("Dati assoluti" e "Dati relativi"), che sono evidenziati in colore. Esse combinano 3 celle ciascuna.

Forse voglio molto da MQL5 in termini di formattazione delle celle di Excel. Ma se :-)))

Quale significato fisico attribuire alle parole "combinare 3 celle"?

In linea di principio è possibile, ma senza le 2 righe superiori, i tipi di dati sono riassunti per colonne, in modo che in una colonna per stipare stringa e doppio non funzionerà, ma può essere fatto quando si stampa. Oppure perfezionare la classe in modo che contenga stringhe maiuscole formattate separatamente dalla tabella.

Il modo più semplice è creare due tabelle e unirle.

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

Quale significato fisico attribuite alle parole "combinare 3 cellule"?


Questo è ciò che abbiamo ora:



Quello che mi piacerebbe avere già portato ....

 
Privit, zhuzhe viruchila biblioteka z statti"Fogli di calcolo in MQL5", grazie.
 
MetaQuotes Software Corp.:

Pubblicato un nuovo articolo Tabelle elettroniche in MQL5:

Autore: Николай

Bello. Questo è ciò che sto cercando. Proverò le mie colonne. Grazie.