Alle Fragen von einem PROFI an einen SUPER PROFI - 1. - Seite 12

 
TheXpert:
Wenn Sie Probleme haben, ein Singleton zu entfernen, wird es wahrscheinlich nicht richtig verwendet. Aber auch Singles sind anders, wie zum Beispiel Phoenix.
Das war's dann auch schon)
 
Singletons? Löschen? Intelligente Zeiger zur Rettung.
Mein Favorit ist zum Beispiel die gemeinsame Nutzung von ptr.
Auch wenn es wahrscheinlich nicht der beste Weg ist, um es für die Dll zu tun.
Ich verwende keine Zeiger in C++.
Wie Speicherzuweisung, WinAPI-Aufrufe usw.
.
Oder man kann eine spezielle Funktion wie killInstance();
erstellen.
Vadim konnte Singletons empfehlen, weil
selbst das Initialisierungsproblem gelöst hat.
Es gibt keine andere Möglichkeit,
globale Instanzen ordnungsgemäß zu initialisieren.
.
Ich habe es im Internet bei jemand anderem nachgeschlagen.
 
Ja, so ist Andrew nun mal, dachte ich mir. Es sind viele von uns hier...
 
TheXpert:

Deadlock nach Symptomen. Offensichtlich hat das Terminal beim Starten eines entfernten Prozesses keine Zeit, eine Prozedur auszuführen. Vielleicht läuft das Skript im falschen Thread.

Alternativ können Sie Tick-Ereignisse anstelle von Slip ausführen - machen Sie asynchrone Skript-Emulation, es sollte helfen.

Nach all meinen Klassenbibliothekskonvertierungen in korrekte Singletons habe ich mich endlich wieder dem Hauptprojekt gewidmet.

Das Problem aus dem ersten Beitrag dieses Threads ist nun gelöst. Es ging um die falsche, nicht rechtzeitige Initialisierung von Klassen.

 
Zhunko:

... zurück zum Hauptprojekt...

ich hoffe, dass ich mir Ihren Entwurf später ansehen kann, zumindest in Form von Flussdiagrammen oder Screenshots: zum Staunen sozusagen)))
 
alsu:
Ich hoffe, dass ich später einen Blick auf Ihren Entwurf werfen kann, zumindest in Form von Blockdiagrammen oder Screenshots: zum Staunen, sozusagen)))

:-)) Ja, es ist nichts Besonderes. Auch dieses Projekt ist ein Teilprojekt.

Es handelt sich um eine Konsolenanwendung, die mit Hilfe von MT4 unabhängig vom Hauptterminal (Battle-Terminal) die Historie zeitgesteuert lädt/aktualisiert.

Die Hauptfunktion dieser Anwendung ist bereits in Betrieb. Was noch zu tun bleibt, ist die Synthese einer nicht standardisierten TF zur Berechnung der Gewichte der Währungsindizes.

Die Erstellung von Nicht-Standard-TFs, die Berechnung von Gewichten und die Auffüllung der Datenbank werden in zusätzlichen Threads durchgeführt, unabhängig vom Laden von Quoten.

Konsolenanwendung:

1. Erzeugt ein Verzeichnis - eine Kopie des MT4-Stammverzeichnisses in MT4.

2. Erstellt, wenn nicht, Kopien der notwendigen Verzeichnisse und Dateien in diesem Verzeichnis mit Hilfe von harten und symbolischen Links, um die Festplatte nicht zu überfüllen.

D.h., es funktioniert tatsächlich mit den Originalen der Hauptdateien von MT4.

3. Führt MT4 aus dem neuen Verzeichnis aus.

4. Wechselt zwischen Tools und TFs und aktualisiert die Charts.

5. Schließt MT4 und speichert alles, was getauscht wurde, in History-Dateien.

6. Wartet, bis der MT4-Prozess abgeschlossen ist.

7. Beginnt mit der Erstellung von Nicht-Standard-TF.

8. Startet den Ablauf mit Berechnung und Speicherung der Gewichte.

9. Mit dem Timer noch einmal von vorn.

 
Trifft es zu, dass die Kreisverkehre hauptsächlich im Hinblick auf Punkt 5 organisiert werden?
 
alsu:
Wäre es richtig zu sagen, dass die Umgehungsmanöver hauptsächlich im Hinblick auf Punkt 5 organisiert werden?

All dies dient hauptsächlich dazu, die Zuverlässigkeit des Handels im Hauptterminal zu erhöhen. Durch das Aufpumpen aller Instrumente wird der Speicher von MT4 überlastet. Er funktioniert in diesem Modus nicht zuverlässig.

Und der mit verschiedenen Servicefunktionen überladene Expert Advisor ist, wie sich herausstellt, nicht sehr zuverlässig. Wir müssen die Aufgaben auf verschiedene Terminals aufteilen.

Vielleicht wird es einen dritten Terminal für den Handel geben.

 

Darf ich eine dumme Frage stellen? Woher weiß ich, welches der Diagrammfenster des Terminals gerade für den Benutzer sichtbar ist?

;)

 
FreeLance:

Darf ich eine dumme Frage stellen? Woher weiß ich, welches der Diagrammfenster des Terminals gerade für den Benutzer sichtbar ist?

;)

Gehen Sie alle Chart-Fenster durch und überprüfen Sie jedes einzelne auf eine vollständige Umkehrung und Aktivität. Wenn ja, dann ist eines dieser Fenster sichtbar, wenn nicht, dann sind alle sichtbar. Dabei wird die Z-Sequenz nicht berücksichtigt.