Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Frage. Warum brauchen Sie ein Akkordeon? Wenn in einer Methode, einer Klasse, im sphärischen Pferd, ja, im physikalischen Vakuum (na ja, ich bin aus dem Atem)))), dann ja, es macht Sinn. Und wenn in einem realen Projekt, entweder eine Klasse auf globaler Ebene, oder ein Einzelgänger, die alle diese trichomudin (sorry für die zusätzliche bourbon))))) am Anfang des Handlers, und, Anfrage direkt von ihm an jedem Ort))) behandelt
es ist ein Klassenmanager, der Aufgaben verteilt und Ergebnisse von einer kleinen Herde von untergeordneten Klassen erhält ))))
im Allgemeinen ist es schwierig, nüchtern zu erklären
aber die Frage ist relevant - wie wird die Adressierung der gemeinsamen Felder durchgeführt, wenn die Werte dieser Felder aus verschiedenen Methoden und sehr oft gelesen werden
es ist ein Klassenmanager, der Aufgaben verteilt und Ergebnisse von einer kleinen Herde von untergeordneten Klassen erhält ))))
im Allgemeinen ist es schwierig, nüchtern zu erklären
aber die Frage ist relevant - wie wird die Adressierung der gemeinsamen Felder durchgeführt, wenn die Werte dieser Felder aus verschiedenen Methoden und sehr oft gelesen werden
Siehe auch. Am Anfang des Handlers, egal welcher, starten Sie gSomeGlobal.SomeEvent(...), oder, falls einzeln, Alone::SomeEvent(...), in dieser Methode führen Sie die notwendige Zustandsverarbeitung durch und fragen dann nur noch die benötigten Daten über Getter ab. Solange Sie kein Hochfrequenz-Scalper sind, können Sie alle Geschwindigkeitsbefürworter verarschen, obwohl es hier keinen besonderen Overhead gibt)))
mt5 Leistung ist genug für 10500 Aufträge pro Sekunde, der Kanal wäre genug gewesen
Ich war auf der Suche nach der Wahrheit, ich musste es überprüfen... wenn du etwas tun willst, dann tu es selbst! )))
2020.07.25 18:00:07.293 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46141
2020.07.25 18:00:45.273 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=37968
2020.07.25 18:01:31.405 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46141
2020.07.25 18:02:09.423 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38016
2020.07.25 18:02:55.558 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46125
2020.07.25 18:03:33.635 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38078
2020.07.25 18:04:21.969 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=48344
2020.07.25 18:05:00.113 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38140
2020.07.25 18:05:46.503 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46391
2020.07.25 18:06:24.573 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38062
Die Geschwindigkeit ist entscheidend für die Optimierung, deshalb wollte ich das wissen.
im Allgemeinen muss die Referenz den aktuellen Preis an alle Methoden weitergeben
UPD:
2020.07.25 19:03:37.210 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46141
2020.07.25 19:04:15.201 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38000
2020.07.25 19:04:53.188 class_global (EURUSD,H1) class C : Schleifen = 10000000000 ms=37984
2020.07.25 19:05:39.321 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46125
2020.07.25 19:06:17.313 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38000
2020.07.25 19:06:55.306 class_global (EURUSD,H1) class C : Schleifen = 10000000000 ms=37985
mt5 Leistung ist genug für 10500 Aufträge pro Sekunde, der Kanal wäre genug gewesen
Ich war auf der Suche nach der Wahrheit, ich musste es überprüfen... wenn du etwas tun willst, tu es selbst! )))
2020.07.25 18:00:07.293 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46141
2020.07.25 18:00:45.273 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=37968
2020.07.25 18:01:31.405 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46141
2020.07.25 18:02:09.423 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38016
2020.07.25 18:02:55.558 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46125
2020.07.25 18:03:33.635 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38078
2020.07.25 18:04:21.969 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=48344
2020.07.25 18:05:00.113 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38140
2020.07.25 18:05:46.503 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46391
2020.07.25 18:06:24.573 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38062
Die Geschwindigkeit ist entscheidend für die Optimierung, deshalb wollte ich das wissen.
im Allgemeinen muss die Referenz den aktuellen Preis an alle Methoden weitergeben
UPD:
2020.07.25 19:03:37.210 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46141
2020.07.25 19:04:15.201 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38000
2020.07.25 19:04:53.188 class_global (EURUSD,H1) class C : Schleifen = 10000000000 ms=37984
2020.07.25 19:05:39.321 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46125
2020.07.25 19:06:17.313 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38000
2020.07.25 19:06:55.306 class_global (EURUSD,H1) class C : Schleifen = 10000000000 ms=37985
Für den Anfang machen die gleichen Arbeitsbedingungen)))) Denn Sie haben einen absolut unnötigen Zuweisungsoperator (2 Stück) eingefügt und damit einen bewusst nicht optimalen Code geschaffen)))
Und nun eine Frage: Was ist für Sie bequemer? Natürlich können Sie eine Kette von Verknüpfungen durch Methodenparameter ziehen, oder Sie können es einfach machen. Vergleichen Sie die Geschwindigkeiten selbst)))
Aber Sie haben einen absolut unnötigen Zuweisungsoperator (2 Stck.) genommen und damit einen bewusst suboptimalen Code erstellt)))
Das war ich nicht!
Das ist das IBM Knowledge Center!https://www.ibm.com/support/knowledgecenter/ru/ssw_aix_72/performance/coding_style_best_perf.html
Die Bedingungen sind dort die gleichen, bei jedem Tick müssen Sie den Klassenmanager (oder die Superklasse, ich weiß es nicht) aufrufen
und ruft die übrigen Klassen auf, die nach ihren Strategien arbeiten
aber um der Argumentation willen, Variante C gewinnt wirklich in der Geschwindigkeit, so ist es die knoelege_center, die irgendwie die Wahrheit spricht
Ich frage mich, ob dies eine Störung oder ein Feature ist)
Es gibt eine Struktur innerhalb der Klasseninstanz.
Ich habe einen Punkt gesetzt, um den Inhalt der Struktur zu sehen.
Sie wird aber nur angezeigt, wenn ich eckige Klammern setze.
Obwohl sich die Struktur in einer einzigen Instanz befindet.
ist das Problem gelöst, wenn es sich bei der Klasse nicht um ein Array-Element handelt.
Hier ist der Code für das "Herumstochern".
versuchen, es zu kompilieren, auch wenn Fehler auftreten. Manchmal wird der Editor dadurch "aufgeweckt".
Das bin nicht ich!
Es ist das IBM Knowledge Center!den aktuellen Preis an alle Methoden weitergeben
UPD:
2020.07.25 19:03:37.210 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46141
2020.07.25 19:04:15.201 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38000
2020.07.25 19:04:53.188 class_global (EURUSD,H1) class C : Schleifen = 10000000000 ms=37984
2020.07.25 19:05:39.321 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46125
2020.07.25 19:06:17.313 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38000
2020.07.25 19:06:55.306 class_global (EURUSD,H1) class C : Schleifen = 10000000000 ms=37985
Das bin nicht ich!
Dies ist das IBM Knowledge Center !https://www.ibm.com/support/knowledgecenter/ru/ssw_aix_72/performance/coding_style_best_perf.html
Die Bedingungen sind dort die gleichen, bei jedem Tick müssen Sie den Klassenmanager (oder die Superklasse, ich weiß es nicht) aufrufen
und ruft die übrigen Klassen auf, die nach ihren Strategien arbeiten
aber für den Punkt - Option C gewinnt wirklich in der Geschwindigkeit, d.h. es ist knoelege_center irgendwie spricht die Wahrheit
Natürlich gewinnt es.) Aber nicht, weil es optimal geschrieben ist, sondern weil die Compiler intelligenter geworden sind). Reine Optimierung. Es gibt keine Zuordnung von Ask- und Bid-Werten im Freigabecode))) Aber wenn Sie etwas weniger Parameter zu verarbeiten haben und die Geschäftslogik des Projekts etwas mehr ist als das Öffnen einer Bestellung per Indikator, dann kann ich verstehen, dass Sie es leid sind, eine Reihe von Links durch das gesamte Projekt zu ziehen)))) Und ja, ich habe Ihnen bereits von der Sünde der übermäßigen Optimierung erzählt. Glauben Sie mir, in 98 % der Fälle brauchen Sie das nicht.
Und ja, ich habe Ihnen bereits von der Sünde der Überoptimierung erzählt. Glauben Sie mir, in 98 % der Fälle brauchen Sie es nicht.
Ich schon!... aber mein Bauchgefühl sagt mir, dass ich es nicht schaffe, bis ich es richtig hinbekomme ))))
Okay, danke, diese Forschung ist sehr sinnvoll.
UPD:
2020.07.25 19:03:37.210 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46141
2020.07.25 19:04:15.201 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38000
2020.07.25 19:04:53.188 class_global (EURUSD,H1) class C : Schleifen = 10000000000 ms=37984
2020.07.25 19:05:39.321 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46125
2020.07.25 19:06:17.313 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38000
2020.07.25 19:06:55.306 class_global (EURUSD,H1) class C : Schleifen = 10000000000 ms=37985
Versuchen Sie auch diesen Weg:
Versuchen Sie auch diesen Weg:
2020.07.26 09:39:21.350 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46157
2020.07.26 09:39:59.402 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38046
2020.07.26 09:40:37.455 class_global (EURUSD,H1) class C : Schleifen = 10000000000 ms=38063
2020.07.26 09:41:15.485 class_global (EURUSD,H1) class D : : : loops = 10000000000 ms=38031
2020.07.26 09:42:01.749 class_global (EURUSD,H1) class A : : loops = 10000000000 ms=46266
2020.07.26 09:42:39.754 class_global (EURUSD,H1) class B : : loops = 10000000000 ms=38000
2020.07.26 09:43:17.753 class_global (EURUSD,H1) class C : Schleifen = 10000000000 ms=38000
2020.07.26 09:43:55.743 class_global (EURUSD,H1) class D : : loops = 10000000000 ms=37984