Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 164

 
Vict:

Quali pagine di codice, di cosa stai parlando? I "codici speciali" definiscono il numero di byte per codificare un carattere perché la codifica è di lunghezza variabile. UTF-8 può codificare qualsiasi carattere Unicode così come UTF-16. E utf-16 con lunghezza variabile (coppie surrogate).

Il compito di discutere di Unicode non è il compito qui.

 
Edgar Akhmadeev:

Non è tutto.

Come ANSI Cyrillic = CP1251, così

Unicode:

UTF-8 = CP65001, // UNIX/Linux

UTF-16LE = CP1200, // Windows

UTF-16BE = CP1251,

UTF-32LE = ?

UTF-32BE = ?

ISO10646:

UCS-2 ~ UTF-16

UCS-4 = UTF-32

Confusione? No, non l'abbiamo fatto.

Esattamente, architetture di piattaforme diverse, ecco perché su Windows tutti dicono UTF-16LE/BE
Perché il terminale di Windows è scritto per Windows, capito ))

 
I commenti non relativi a questo argomento sono stati spostati in "Tutte le domande dei neofiti su MQL4 e MQL5, aiuto e discussione su algoritmi e codici".
 
ArrayCopy rende facile la ricostruzione delle "matrici".
void OnStart()
{
  int Array1[];
  int Array2[][2];
  
  ArrayResize(Array1, 6);
  
  Array1[0] = 0;
  Array1[1] = 1;
  Array1[2] = 2;
  Array1[3] = 3;
  Array1[4] = 4;
  Array1[5] = 5;
  
  Print(ArrayCopy(Array2, Array1));

  ArrayPrint(Array2);      
}


    [,0][,1]
[0,]   0   1
[1,]   2   3
[2,]   4   5


È un peccato che ArraySwap non possa farlo.

 
Per consentire la profilazione dell'EA su dati reali, aggiungo queste righe.
const int TimeToStop = 100 * EventSetTimer(1); // Сколько секунд на профилирование.

void OnTimer()
{
  static int Timer = 0;
  
  if (Timer++ >= TimeToStop)
    ExpertRemove();
}
 
fxsaber:
Per consentire la profilazione dell'EA su dati reali, aggiungo queste righe.

Cosa c'è di sbagliato nel fermare manualmente il profiler?

 
Andrey Khatimlianskii:

Cosa c'è di sbagliato nel fermare manualmente il profiler?

L'arresto manuale non produce risultati di profilazione, purtroppo.

 
fxsaber:

L'arresto manuale non produce risultati di profilazione, purtroppo.

Ci deve essere un problema con il codice. Per me funziona.

 
fxsaber:

L'arresto manuale non produce risultati di profilazione, purtroppo.

Lo stesso problema.
Ho eseguito la profilazione con un codice che legge la storia di 30.000 operazioni (5 anni di trading) e nessun risultato di profilazione.
StoriaSeleziona eats......
Ho già provato nell'array e poi lavoro con l'array. I ritardi sono minori, ma ci sono.
 
Vladislav Andruschenko:
Stesso problema.
Vale la pena eseguire il profiling con un codice che legge la storia di 30.000 trade (5 anni di trading) e non c'è alcun risultato.

Sì, ho la lettura della storia presente.