Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 46

 

Der Thread heißt "Features of mql5 language, subtleties and tricks", aber stattdessen diskutieren wir 45 Seiten lang über Trading/Trading-Operationen und andere Dinge, die spezifisch für MT5 sind, aber nicht die Programmiersprache überhaupt. Das Thema hätte wirklich nützlich und hilfreich für Programmierer sein können, man hätte sich über interessante Funktionen und Konstruktionen austauschen können, aber es ist zu einer weiteren Müllhalde geworden.

 
Alexey Navoykov:

Der Thread heißt "Features of mql5 language, subtleties and tricks", aber stattdessen diskutieren wir 45 Seiten lang über Trading/Trading-Operationen und andere Dinge, die spezifisch für MT5 sind, aber nicht die Programmiersprache überhaupt. Wenn es für Programmierer wirklich nützlich wäre, würden die Leute interessante Funktionen und Konstruktionen austauschen, aber es ist nur eine gewöhnliche Müllhalde.

Ja, das ist leider richtig. Es darf hier überhaupt keine Fragen und Diskussionen geben.
 
Alexey Navoykov:

Der Thread heißt "Features of mql5 language, subtleties and tricks", aber stattdessen diskutieren wir 45 Seiten lang über Trading/Trading-Operationen und andere Dinge, die spezifisch für MT5 sind, aber nicht die Programmiersprache überhaupt. Das Thema hätte wirklich nützlich und hilfreich für Programmierer sein können, die Leute hätten interessante Features und Builds geteilt, aber es hat sich in eine weitere Müllhalde verwandelt.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Bibliotheken: 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:
Warum brauchen Sie Zugang zum privaten Bereich von außen? Ist das eine Art Perversion? ) Erklären Sie das Feld zunächst für privat und versuchen Sie dann, darauf zuzugreifen. Und zwar nicht nur Lese-, sondern auch Schreibzugriff! Na ja... Das nenne ich in der Tat "Feinheiten und Methoden der Arbeit". ))
 
Alexey Navoykov:
Warum brauchen Sie Zugang zum privaten Bereich von außen? Handelt es sich um eine Art Perversion? ) Erklären Sie das Feld zunächst für privat und versuchen Sie dann, darauf zuzugreifen. Und zwar nicht nur Lese-, sondern auch Schreibzugriff! Na ja... Das nenne ich in der Tat "Feinheiten und Methoden der Arbeit". ))

Das ist Privat-PR!

 
Achtung, meine Herren Programmierer! Wir haben einen gefährlichen Hacker, der sich in andere Klassen einhackt und rücksichtslos ihre privaten Felder verändert! Seien Sie vorsichtig, kümmern Sie sich um Ihren Unterricht.
 
// Объяснение, почему 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:

Das ist Privat-PR!

Ich schlage vor, dass Sie als Haupthacker der Klasse den schwierigeren Teil in Angriff nehmen. Ermöglichen Sie den Zugriff auf ein privates Feld über den Namen und nicht über den Ort (da der Ort sehr unzuverlässig ist). Natürlich sollte dies in Form eines Makros geschehen. Diese Funktion kann manchmal nützlich sein, wenn wir etwas in einer anderen Bibliothek ändern wollen, ohne den Quelltext bearbeiten zu müssen.
 

Hat jemand eine ressourceneffiziente Sortierung eines Arrays von Strukturen nach jedem (nicht String) gegebenen Feld der Struktur getan?

Angenommen, es gibt eine Struktur mit den drei Feldern int, datetime und double, und es gibt ein Array, das mit Daten gefüllt ist, die aus dieser Struktur bestehen. In jeder Zelle des Arrays werden die Felder der Struktur ausgefüllt.

Wie kann man dieses Array nach einem dieser Felder sortieren?

 
Artyom Trishkin:

Hat jemand eine ressourceneffiziente Sortierung eines Arrays von Strukturen nach jedem (nicht String) gegebenen Feld der Struktur getan?

Angenommen, es gibt eine Struktur mit den drei Feldern int, datetime und double, und es gibt ein Array, das mit Daten gefüllt ist, die aus dieser Struktur bestehen. In jeder Zelle des Arrays werden die Felder der Struktur ausgefüllt.

Wie kann man dieses Array nach einem dieser Felder sortieren?

Wie dieses hier?

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

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