Bibliotheken: MT4Orders - Seite 39

 

Am Beispiel dieser und einiger anderer Bibliotheken bin ich auf eine Besonderheit der Speicherung gestoßen.


Wenn eine Bibliothek mit Standardpfaden an den Quellcode einer Arbeit angehängt wird, ersetzt sie die bereits installierte.

Und es kann vorkommen, dass die alte Version die neue unbemerkt überschreibt. Dementsprechend können neu kompilierte Produkte nicht mehr funktionieren.


Ein Beispiel für eine solche Situation ist der ZIP am Ende des letzten Artikels. Mir ist noch keine Möglichkeit eingefallen, wie man sicherstellen kann, dass Bibeln im allgemeinen Fall nicht überschrieben werden.

Ich selbst versuche, verwendete Bibliotheken nicht in KB anzuhängen, um dies zu verhindern. Das hat seine Vor- und Nachteile.

 
fxsaber:

Am Beispiel dieser und einiger anderer Bibliotheken bin ich auf eine Speicherfunktion gestoßen.


Wenn eine Bibliothek mit Standardpfaden an den Quellcode einer Arbeit angehängt wird, ersetzt sie die bereits installierte Bibliothek.

Dabei kann es passieren, dass die alte Version unbemerkt die neue überschreibt. Folglich können neu kompilierte Produkte nicht mehr funktionieren.


Als Beispiel für eine solche Situation, ZIP am Ende des letzten Artikels. Ich habe noch nicht herausgefunden, wie man die Bibeln im allgemeinen Fall nicht überschreiben kann.

Ich selbst versuche, verwendete Bibliotheken nicht in KBs anzuhängen, damit dies nicht passiert. Das hat seine Vor- und Nachteile.

Eine politische Lösung könnte darin bestehen, alle Abhängigkeiten in einem eigenen Verzeichnis für jedes Programm bereitzustellen. Es ist klar, dass sich erstens nicht alle Hersteller daran halten werden. Und zweitens wird ein Zoo von verschiedenen Versionen entstehen.

Die technische Lösung ist ein Paketmanager (den es in MQL nicht gibt).

Im Prinzip sollte ein Dateimanager vor dem Überschreiben einer bestehenden Datei warnen, und der Benutzer kann die Version nach Belieben verlassen oder aktualisieren.

 
Stanislav Korotky:

Im Prinzip sollte ein Dateimanager eine Warnung ausgeben, wenn eine bestehende Datei überschrieben wird, und der Benutzer kann die Version nach eigenem Ermessen verlassen oder aktualisieren.

Bei einer großen Anzahl von Dateien ist dies jedoch keine Option.

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

MT4 zu MT5

fxsaber, 2019.05.26 17:25

#define  MT4_TICKET_TYPE // OrderSend und OrderTicket müssen einen Wert desselben Typs wie in MT4 zurückgeben - int.
#include <KimIVToMT5.mqh> // https://c.mql5.com/3/263/KimIVToMT5.mqh

#define  Magic Magic2

#include "Open Two Pending Orders.mq4" // https://www.mql5.com/en/code/19057

void OnTick() { start(); }
 
Welche Art von Situationen Sie nicht begegnen

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Fragen von Neulingen zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes

fxsaber, 2019.06.08 22:03

Die Situationen, die sich ergeben, ziehen viele Logiken nach sich. Immerhin schickt man eine Market-Order, die kommt auf den Server, erstellt eine Position und schließt sie in derselben Millisekunde. Und das Terminal erhält die Informationen rückwirkend, weil es pingt.

Ich war angenehm überrascht, dass alles perfekt funktioniert.

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Expert Advisors: cm manual grid

fxsaber, 2019.07.15 18:06

Konvertierung unter MT5 ohne Änderung der ursprünglichen Quelle.


Unten die Animation im Visualiser (auf das Bild klicken).

Klicken Sie auf das Bild, um die Animation zu sehen.

 
fxsaber: Können Sie Ihre Handlungen in dem Beispiel mit diesem Indikator genauer beschreiben?

#property indicator_chart_window 
#property indicator_buffers 6
#property indicator_plots 6
#property indicator_color1 White 
#property indicator_color2 White 
#property indicator_color3 DodgerBlue
#property indicator_color4 DodgerBlue
#property indicator_color5 Lime
#property indicator_color6 Red
 
#property indicator_width1 5
#property indicator_width2 5
#property indicator_width3 3
#property indicator_width4 3
#property indicator_width5 1
#property indicator_width6 1

#include <KimIVToMT5.mqh> // https://c.mql5.com/3/263/KimIVToMT5.mqh

// https://www.mql5.com/en/blogs/post/681230
#define  MT4_OLD_EVENT_HANDLERS
#include "ind4to5.mqh" // https://c.mql5.com/3/277/ind4to5.mqh

#define  digits digits2
#undef MODE_LOW
#undef MODE_HIGH

#include "Chaos_Semafor_-_3_Mod.mq4" // https://c.mql5.com/3/277/Chaos_Semafor_-_3_Mod__1.mq4

Ich verstehe nicht, wie ich diesen Code verwenden kann, um den Indikator in MT5 auszuführen. Die Bibliotheken KimIVToMT5 und ind4to5 wurden im Ordner include abgelegt .

Beim Kompilieren des Codes erzeugte der Editor die folgenden Fehler: can't open "C:\Users\...\MQL5\Indicators\ind4to5.mqh" include file Test.mq5 22 11

Ich kann die Include-Datei "C:\Users\...\MQL5\Indicators\Chaos_Semafor_-_3_Mod.mq4" nicht öffnen Test.mq5 28 11

Ich kopierte beide Dateien in den Ordner mit den Indikatoren, der erste Fehler verschwand, aber der zweite Fehler blieb.

Die ganze Nacht habe ich das Thema und verwandte Themen durchsucht, etwa ein Dutzend Registerkarten sind geöffnet.... aber ich kann nicht einmal herausfinden, wie ich das fertige Beispiel verwenden kann.




 
Stickman:

Ich kann nicht herausfinden, wie ich ein vorgefertigtes Beispiel verwenden kann.

Die einzubindende Datei sollte sich also im Ordner Include befinden.

#include < file>


Und in Anführungszeichen - in dem Ordner, in dem sich der zu bearbeitende Code befindet

#include " file"


Es gibt drei Include-Dateien in Ihrem Beispiel.

 
Weiß jemand, wie man diese Themen und Seiten ins Englische übersetzen kann?
Ich klicke oben im Fenster auf Englisch, aber es bringt mich zur Liste der Newsgruppen.