Generische Klassenbibliothek - Bugs, Beschreibung, Fragen, Nutzungsmöglichkeiten und Vorschläge - Seite 15

 
Vasiliy Sokolov:

Die vorgeschlagene Wörterbuchlösung hat mehrere Vorteile, von denen der wichtigste auf den ersten Blick nicht ganz offensichtlich ist. Wenn wir Code wie diesen schreiben:

Wir sind im Code des Expert Advisors selbst fest verdrahtet. Wenn wir das Wörterbuch füllen, tun wir dies dynamisch, d.h. im Moment der Programmausführung. Der dynamische Ansatz gibt uns mehr Flexibilität. Beispielsweise können Fehlercodes in einer speziellen Datei enthalten sein, z.B. ErrorsCode.txt:

Zum Zeitpunkt des Starts kann das Programm diese Datei lesen und das Wörterbuch mit den erforderlichen Codes füllen und dann die gewünschte Variante der Zeichenkette an den Benutzer zurückgeben. Es kann mehrere solcher Dateien geben: eine Datei pro Sprache. Auf diese Weise kann eine Lokalisierung durchgeführt werden, bei der je nach Sprache des Benutzers Fehlercodes in der Sprache des Benutzers angezeigt werden. Außerdem kann der Benutzer selbst diese Fehlercodes einmal in seine eigene Sprache übersetzen, und das Programm "lernt" selbst, die gewünschte Meldung in seiner Sprache auszugeben. So werden die meisten Programme lokalisiert, wenn die Übersetzung eines Menüs in einer Textdatei enthalten ist und das Programm sie je nach den Einstellungen lädt. D.h. ohne Neukompilierung des Programms und ohne Änderung seines Algorithmus können wir die Darstellung seiner Ergebnisse wesentlich beeinflussen.

Sie verstehen, dass solche "Lokalisierungen" durchaus auch ohne HashMap möglich sind. D.h. auch hier ist nur die Suchgeschwindigkeit ein Pluspunkt. Aber bei dieser Aufgabe brauchen Sie sie überhaupt nicht.

D.h. es muss eine Aufgabe geben, die einen praktischen Vorteil in Form von Zeitersparnis und Optimierung aufweist. Andere Beispiele werden immer sehr privat und ebenso fragwürdig sein. Aber über den Optimierer kann man nicht streiten.

 
fxsaber:

Sie wissen schon, dass solche "Lokalisierungen" auch ohne HashMap möglich sind. D.h. auch hier ist der einzige Vorteil die Suchgeschwindigkeit. Aber in dieser Aufgabe wird sie in der Praxis überhaupt nicht benötigt.

D.h. es muss eine Aufgabe geben, die einen praktischen Vorteil in Form von Zeitersparnis und Optimierung aufweist. Andere Beispiele werden immer sehr privat und ebenso fragwürdig sein. Was den Optimiser betrifft, so kann man dem nicht widersprechen.

In diesem Fall kommt es nicht auf die Geschwindigkeit an. Aber in dem Beispiel geht es darum, das Wesentliche sozusagen "zu verstehen". Und wo diese "Essenz" eingesetzt werden soll, ist eine andere Frage.

 
Artyom Trishkin:

In diesem Fall geht es nicht um Geschwindigkeit. Es geht sozusagen um das Beispiel, um das Wesentliche zu "verstehen". Und wo diese "Essenz" eingesetzt werden soll, ist eine andere Frage.

Ich habe eine etwas andere Wahrnehmung.

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Algorithmen, Entscheidungsmethoden, Vergleich ihrer Leistung

Sergey Dzyublik, 2017.12.11 10:41

In dieser speziellen Aufgabe: Index => Wert
Es wäre schneller,CArrayList alsCHashMap zu verwenden.

CArrayList nimmt mehr als doppelt so viel Platz ein, außerdem werden beim Hinzufügen neuer Elemente weniger Umschichtungen vorgenommen(CArrayList hat einen Wachstumsfaktor von 2, währendCHashMap in der aktuellen Implementierung etwa 1,2 hat).
Und es gibt weniger Aufwand beim Lesen der Ergebnisse vonCArrayList.

Ich habe es trotz der Erklärungen noch nicht verstanden. Mein eigener Analphabetismus hindert mich daran. Ich habe es nicht gewagt, mich in Bibliotheken zu vertiefen - der Implementierungs-/Abstraktionsstil stößt mich ab. Aber ich werde es wohl tun müssen.

 
fxsaber:

Ich habe eine etwas andere Wahrnehmung.

Ich unterstütze das. Es gibt viele coole Dinge auf der Welt, aber nicht alle davon sind für den Handel notwendig. So ist es auch bei dieser Bibliothek. Was bringt es den Händlern?

(Ich wiederhole die Frage, weil sie entweder nicht beachtet wurde oder niemand weiß, warum ein Händler sie braucht)

 
fxsaber:

Dies ist trotz der Erklärungen noch nicht verstanden worden. Mein eigener Analphabetismus ist ein Hindernis. Ich habe es noch nicht gewagt, in die Eingeweide von Bibliotheken einzudringen - der Implementierungs-/Abstraktionsstil stößt mich ab. Aber ich werde es wohl tun müssen.


Wenn Sie möchten, kann ich kurz beschreiben Architekturder CHashMap Implementierung - es ist nicht trivial.

 
Alexey Oreshkin:

Zweitens. Es gibt viele coole Dinge auf der Welt, aber nicht alle davon sind für den Handel notwendig. So ist es auch bei dieser Bibliothek. Was hat ein Händler davon?

(Ich werde diese Frage noch einmal wiederholen, denn entweder haben sie sie nicht gesehen oder niemand weiß, wozu sie für einen Händler gut ist)


Container bieten Personen, die sich mit Datenstrukturen auskennen, eine bequeme Schnittstelle für die schnelle Verarbeitung eines bestimmten Datensatzes.
In vielen Programmiersprachen sind Container integraler Bestandteil und direkt in die Sprache selbst integriert.
Nur weil Sie nicht wissen, wie man etwas benutzt, heißt das nicht, dass es unpraktisch oder unnötig ist.

 
Sergey Dzyublik:

Falls Interesse besteht, kann ich kurz die Architektur derCHashMap-Implementierung beschreiben - sie ist nicht trivial.

Interessant. Und hier ist eine Frage. Die derzeitige Umsetzung hat mir nicht gefallen und ich habe sie überarbeitet. Natürlich ist es schief. Wie bekomme ich die Originalbibel?

 
Sergey Dzyublik:


Container bieten Menschen, die sich mit Datenstrukturen auskennen, eine bequeme Schnittstelle zur schnellen Verarbeitung einer bestimmten Datenmenge.
In vielen Programmiersprachen sind Container ein integraler Bestandteil und direkt in die Sprache selbst integriert.
Nur weil Sie nicht wissen, wie man etwas benutzt, heißt das nicht, dass es nicht praktisch oder nützlich ist.

Ich sage nicht, dass es nicht nützlich ist. Ich bin daran interessiert, wie es beim Handel helfen kann. Genau im Handel. Und nicht bei der Programmierung von sphärischen Pferden in einem Vakuum. Wenn sie Software für Wetterstationen in µl schreiben würden, die Wettervorhersagen anzeigt - keine Frage, es ist klar, dass es einfach notwendig ist und wie und wo es angewendet werden kann.
Kann jemand eine konkrete Antwort zum Handel geben?
 
Alexey Oreshkin:
Gibt es jemanden, der mir eine konkrete Antwort zum Thema Handel geben kann?

Ist die Geschwindigkeit des Testgeräts für den Handel wichtig? Wenn ja, dann wirkt sich die HashMap auch auf den Handel aus, weil sie die Geschwindigkeit der Entwicklung und Ausführung des TS erhöht.

Grund der Beschwerde: