Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 46

 

Il thread si chiama "Caratteristiche del linguaggio mql5, sottigliezze e trucchi", ma invece per 45 pagine stiamo discutendo di operazioni di trading/stick e altre cose che riguardano specificamente MT5, ma non il linguaggio di programmazione a tutti. L'argomento avrebbe potuto essere davvero utile per i programmatori, la gente avrebbe condiviso caratteristiche e costruzioni interessanti, ma si è trasformato in un'altra discarica di rifiuti.

 
Alexey Navoykov:

Il thread si chiama "Caratteristiche del linguaggio mql5, sottigliezze e trucchi", ma invece per 45 pagine stiamo discutendo di operazioni di trading/stick e altre cose che riguardano specificamente MT5, ma non il linguaggio di programmazione a tutti. Se fosse davvero utile per i programmatori, la gente condividerebbe caratteristiche e costruzioni interessanti, ma è solo una solita discarica di spazzatura.

Sfortunatamente, sì, è così. Qui non ci devono essere affatto domande e discussioni.
 
Alexey Navoykov:

Il thread si chiama "Caratteristiche del linguaggio mql5, sottigliezze e trucchi", ma invece per 45 pagine stiamo discutendo di trading/operazioni di trading e altre cose che sono specifiche di MT5, ma non del linguaggio di programmazione. L'argomento avrebbe potuto essere davvero utile per i programmatori, la gente avrebbe condiviso caratteristiche e build interessanti, ma si è trasformato in un'altra discarica di rifiuti.

Forum sul trading, sistemi di trading automatico e test di strategia

Biblioteche: TypeToBytes

fxsaber, 2017.07.11 15:40

// Чтение/Запись private-полей простых структур

#include <TypeToBytes.mqh>

template <typename T>
struct STRUCT
{
private:
  T Data; // private-поле
  
public:
  T GetData( void ) const
  {
    return(this.Data);
  }
};

void OnStart()
{    
  STRUCT<int> Struct = {0};  
  
  _W(Struct) = 2;          // Write-доступ к private-полю
  Print(Struct.GetData()); // убедились штатно, что это так
  
  Print(_R(Struct)[0]);    // Read-доступ к private-полю
}
 
fxsaber:
Perché avete bisogno di accedere al campo privato dall'esterno? È una specie di perversione? ) Dichiarare il campo privato prima, e poi provare ad accedervi. E non solo l'accesso in lettura, ma anche in scrittura! Bene... Questo è quello che io chiamo "sottigliezze e metodi di lavoro" davvero ))
 
Alexey Navoykov:
Perché avete bisogno di accedere al campo privato dall'esterno? È una specie di perversione? ) Dichiarare prima il campo privato e poi provare ad accedervi. E non solo l'accesso in lettura, ma anche quello in scrittura! Bene... Questo è quello che io chiamo "sottigliezze e metodi di lavoro" davvero ))

È una PR privata!

 
Attenzione, signori programmatori! Abbiamo un pericoloso hacker, che entra in altre classi e cambia spietatamente i loro campi privati! Fate attenzione, prendetevi cura delle vostre classi.
 
// Объяснение, почему static-поля структур не являются на самом деле ее полями
// Поэтому структура может быть простой, даже если ее static-поле является объектом
struct STRUCT
{
  static string Str;
  int i;
};

string STRUCT::Str = NULL;

union UNION
{
  STRUCT Struct; // для сложной структуры была бы ошибка
  int i;
};

void OnStart()
{
  Print(sizeof(STRUCT)); // sizeof(int) == 4
}
 
fxsaber:

È una PR privata!

Ti suggerisco, come hacker di classe principale, di affrontare la parte più difficile. Rendere possibile l'accesso a un campo privato per nome, non per posizione (perché la posizione è molto inaffidabile). Naturalmente, questo dovrebbe essere sotto forma di una macro. Questa caratteristica può essere utile a volte, se vogliamo cambiare qualcosa in un'altra libreria, senza doverne modificare il sorgente.
 

Qualcuno ha fatto un ordinamento efficiente in termini di risorse di un array di strutture per qualsiasi campo (non stringa) dato della struttura?

Supponiamo che ci sia una struttura con tre campi int, datetime e double, e che ci sia un array riempito di dati che consiste in questa struttura. In ogni cella della matrice, i campi della struttura sono popolati.

Come ordinare questo array per uno qualsiasi di questi campi?

 
Artyom Trishkin:

Qualcuno ha fatto un ordinamento efficiente in termini di risorse di un array di strutture per qualsiasi campo (non stringa) dato della struttura?

Supponiamo che ci sia una struttura con tre campi int, datetime e double, e che ci sia un array riempito di dati che consiste in questa struttura. In ogni cella della matrice, i campi della struttura sono popolati.

Come ordinare questo array per uno qualsiasi di questi campi?

Come questo?

https://www.mql5.com/ru/code/9336

ArrayEx
ArrayEx
  • voti: 4
  • 2009.11.19
  • Андрей
  • www.mql5.com
Библиотека реализует 3 основных функции работы с двумерными массивами: сортировка, группировка, выборка - по множественным критериям.