Fragen zu OOP in MQL5 - Seite 64

 
Igor Makanu:

imho, großartige Arbeit, es gibt natürlich Fragen, wie schnell du es gemacht hast...., wenn das innerhalb einer Stunde ist.... Nun, das ist ein wenig übertrieben!

die überarbeitete Version geprüft - ok, alles funktioniert korrekt


Diese Verbesserung? Gleich von Anfang an, insgesamt etwa 30 Minuten.

 
Vladimir Simakov:

Dieses Handwerk? Von Anfang an, insgesamt 30 Minuten.

Ich werde nicht schmeicheln.

Nochmals vielen Dank!

ZS: Wofür ist das? eine der Verwendungen - in diesem Codehttps://www.mql5.com/ru/forum/325418/page4#comment_16116740

Sie können mehrere Objekte über eine Datei laden/speichern und auch das vom Tester erzeugte Objekt über einen Eingabestring zur Laufzeit hinzufügen, ohne die EA-Ausführung zu stoppen, ich habe es bereits über den Binäraustausch getan, aber das Gute an json ist, dass es ohne zusätzliche Manipulation gelesen werden kann

 
Igor Makanu:

Ich werde nicht schmeicheln.

Nochmals vielen Dank!

ZS: Wofür ist das? eine der Verwendungen - in diesem Codehttps://www.mql5.com/ru/forum/325418/page4#comment_16116740

Ich kann mehrere Objekte über eine Datei laden/speichern, und ich kann auch das vom Tester generierte Objekt über einen Eingabestring zur Laufzeit hinzufügen, ohne die EA-Ausführung zu stoppen, ich habe es bereits über den Binäraustausch getan, aber das Gute an json ist, dass es ohne zusätzliche Manipulation gelesen werden kann

Nur für den internen Gebrauch ist es einfacher, binäre Daten zu verwenden, IMHO. JSON ist allerdings eher für den Datenaustausch über das Netzwerk gedacht, da spielt die Zeit für die Serialisierung/Deserialisierung beim Empfang/Senden keine Rolle. Aber wenn Sie den Austausch auf einer Maschine organisieren müssen, dann, IMHO, ist Dateizuordnung das Beste, es ist schnell und einfach, und im Netzwerk, wird Web-Socket herrschen.

 
Vladimir Simakov:

Für den internen Gebrauch ist es einfacher, binäre Daten zu verwenden, IMHO. JSON ist allerdings mehr für den Datenaustausch über das Netzwerk gedacht, da die Zeit für die Serialisierung/Deserialisierung vor dem Hintergrund der Empfangs-/Sendezeit keine Rolle spielt. Wenn es darum geht, den Datenaustausch auf einem Rechner zu organisieren, dann ist, IMHO, File Mapping das Beste, schnell und einfach, und über das Netzwerk - Web Soccet wird hier herrschen.

Nein, der Datenaustausch ist bereits erledigt und funktioniert - binäre Daten durch die Datenbank Redis - Austauschgeschwindigkeit Mikrosekunden - das Volumen des Austauschs ... gut, scheint nicht beschränkt auf 600 mb ohne Probleme zu testen, und die Synchronisation vorgesehen ist, durch Vorlage alle Wrapper, schreiben lesen in einem Befehl - im Allgemeinen, ohne viel Aufwand, läuft alles reibungslos und zuverlässig

json zum Lesen/Speichern in einer Datei - eine einmalige Operation und wie ich schrieb, um eine Chance zu bekommen, etwas in der Zeit zu tun

die Aufgabe ist ungefähr so formulierthttps://www.mql5.com/ru/forum/85652/page50#comment_16415557 , im Allgemeinen bewege ich mich wie beschrieben )))

 
Igor Makanu:

nein, Datenaustausch ist bereits erfolgt und funktioniert - binäre Daten über Redis-Datenbank - Mikrosekunden-Wechselkurs - Austauschvolumen... gut, scheint nicht auf 600 mb ohne Probleme begrenzt, und die Synchronisation ist vorgesehen, durch Vorlage alle Wrapper, schreiben lesen in einem Befehl - in der Regel ohne viel Aufwand, alles funktioniert schnell und zuverlässig

json zum Lesen/Speichern in einer Datei - eine einmalige Operation und wie ich schrieb, um eine Chance zu bekommen, etwas in der Zeit zu tun

das Problem ist fast so formulierthttps://www.mql5.com/ru/forum/85652/page50#comment_16415557 , im Allgemeinen kann ich der Beschreibung folgen )))


Welche Version von Redis?

Ich freue mich nur auf die Streams 5 Funktion, ansonsten ist redis nicht so interessant... Und wo kann ich 5 für Windows bekommen?

 
Maxim Kuznetsov:


Welche Redis-Version?

Ich habe ein lokales System unter Windows, nur für die gemeinsame Nutzung des Speichers

Redis 3.2.100 64 bit

nicht wirklich durchdacht, in ServiceStack.Redis dll von githab eingewickelt, ohne das Material zu kennen - ein paar Tage Arbeit


Maxim Kuznetsov:

Und wo kann ich 5 für Windows bekommen?

Das Windows-Projekt wurde vor langer Zeit aufgegeben.

aber es gibt viele informationen im netz, wie man linux software auf vin 10 laufen lässthttps://redislabs.com/blog/redis-on-windows-10/

 
Vladimir Simakov:

Wo liegt das Problem, 12 Byte Speicher auf dem Stack zuzuweisen, ohne genau zu wissen, was ein String-Objekt ist?

Was für ein Pech!

1 - durch die Erstellung eines Objekts. 2 - einfach durch einen normalen Funktionsaufruf. Die erste Zahl ist die Zeit in Millisekunden, beachten Sie die zweite nicht.

Es ist fast 10 Mal schneller (und manchmal mehr als 10 Mal schneller). Was für eine traurige Sache... stapeln... stapeln... ***Ich weiß nicht.

 
Dmitry Fedoseev:

Was für ein Pech!

1 - Durch die Erstellung von Objekten. 2 - einfach durch einen normalen Funktionsaufruf. Die erste Zahl ist die Zeit in Millisekunden, beachten Sie die zweite Zahl nicht.

Es ist fast 10 Mal schneller (und manchmal mehr als 10 Mal schneller). Was für eine traurige Sache... stapeln... stapeln... ***cha.

Betrachten Sie es wie in C# - das Objekt befindet sich immer im Heap. Nur Skalare, Deskriptoren und (ausnahmsweise) einige Arrays bekannter Größe befinden sich auf dem Stack.

 
Maxim Kuznetsov:

Stellen Sie es sich wie C# vor - das Objekt befindet sich immer im Heap. Nur Skalare, Deskriptoren und (ausnahmsweise) einige Arrays bekannter Größe befinden sich auf dem Stack.

Sie haben Strukturen und Klassen (ohne new) vergessen - beide werden auf dem Stack zugewiesen.

 
Dmitry Fedoseev:

So ein Mist!
1 - durch die Erstellung von Objekten. 2 - einfach durch einen normalen Funktionsaufruf. Die erste Zahl ist die Zeit in Millisekunden, beachten Sie die zweite Zahl nicht.
Es ist fast 10 Mal schneller (und manchmal mehr als 10 Mal schneller). Was für eine traurige Sache... stapeln... stapeln... ***cha.

Können Sie mir erklären, worum es hier geht, denn ich bin ein bisschen dumm, ich habe es dreimal gelesen und verstehe es immer noch nicht...