Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 730

 

Guten Tag an alle Anwesenden. Meine Frage richtet sich nicht an Händler, sondern an die MKL4-Programmierer, denn zwei von ihnen konnten mir nicht helfen, darunter der Code-Entwickler selbst.

Meine Frage ist folgende: Ich habe eine EA-Vorlage für den Nachrichtenhandel gefunden, die den Handel in bestimmten Zeiträumen vor und nach der Veröffentlichung von Nachrichten deaktiviert. Ich wollte es so umgestalten, dass eine Position erst einige Zeit nach der Veröffentlichung der Nachricht eröffnet wird. Es scheint selbst für mich nicht allzu schwierig zu sein - ich habe eine zusätzliche Flagge hinzugefügt, die den Handel zu jeder Zeit verbietet, außer zu einem bestimmten Zeitpunkt nach der Veröffentlichung der Nachrichten. Alle Zeitintervalle werden in den Einstellungen festgelegt.

Und alles ist gut, es funktioniert, wie es sollte, aber mit einem wesentlichen Punkt: Es ist notwendig, den Code unmittelbar vor oder zum Zeitpunkt der Veröffentlichung neu zu kompilieren. Ist dies nicht der Fall, zeichnet der Expert Advisor zwar Nachrichtenlinien, generiert aber keine Nachrichten und eröffnet daher auch keine Positionen. Sie verhält sich bei verschiedenen Paaren unterschiedlich und instabil.

Wenn es hier im Forum einige Hardcore-Liebhaber gibt, oder vielleicht jemand ähnliche Probleme hatte, werde ich den Originalcode und meinen geänderten Code per PM an euch schicken, um die Luft nicht zu verpesten.

Danke.

 
novichok2018:

Guten Tag an alle Anwesenden. Meine Frage richtet sich nicht an Händler, sondern an die MKL4-Programmierer, denn zwei von ihnen konnten mir nicht helfen, darunter der Code-Entwickler selbst.

Meine Frage ist folgende: Ich habe eine gute Vorlage für den Nachrichtenhandel gefunden, die den Handel während vordefinierter Zeiträume vor und nach der Veröffentlichung von Nachrichten deaktiviert. Ich wollte es so umgestalten, dass eine Position erst einige Zeit nach der Veröffentlichung der Nachricht eröffnet wird. Es scheint selbst für mich nicht allzu schwierig zu sein - ich habe eine zusätzliche Flagge hinzugefügt, die den Handel zu jeder Zeit verbietet, außer zu einem bestimmten Zeitpunkt nach der Veröffentlichung der Nachrichten. Alle Zeitintervalle werden in den Einstellungen festgelegt.

Und alles ist gut, es funktioniert, wie es sollte, aber mit einem wesentlichen Punkt: Es ist notwendig, den Code unmittelbar vor oder zum Zeitpunkt der Veröffentlichung neu zu kompilieren. Ist dies nicht der Fall, zeichnet der Expert Advisor zwar Nachrichtenlinien, generiert aber keine Nachrichten und eröffnet daher auch keine Positionen. Sie verhält sich bei verschiedenen Paaren unterschiedlich und instabil.

Wenn es hier im Forum einige Hardcore-Liebhaber gibt, oder vielleicht jemand ähnliche Probleme hatte, werde ich den Originalcode und meinen geänderten Code per PM an euch schicken, um die Luft nicht zu verpesten.

Danke.

Entweder zensieren Sie den Äther oder Sie machen sich selbständig.
 

Grüße.

Ich habe einen DivergenceSolution-Indikator, der "Pfeil"-Objekte erstellt, d. h. Pfeile auf dem Diagramm, von denen ich Daten abrufen möchte

Ist es in Ordnung, sie zu Testzwecken zu aktivieren, und wenn ja, wie?

Die Eingabeparameter des Indikators sind nicht bekannt, und nur ein kleiner Teil davon wird angezeigt, wenn Sie den Test beginnen. Und für diesen Eintrag

b0 = iCustom(NULL, 0, "DivergenceSolution", 0, 1);

erzeugt Fehler


 
Artyom Trishkin:
Entweder du verkaufst den Äther oder du bist freiberuflich tätig.

Bedeutet dies, dass Sie die Aufgabe übernehmen?

 

Leute, die Sache ist die, ich habe ein wenig Erfahrung mit OOP in Java, ich habe nur Prozeduren in C++ auf "Hello, world!"-Niveau verwendet.

Ich brauche, um das Programm in mehrere Teile aufzuteilen, genauer gesagt, um einige große Funktionen zu trennen, nicht zu einem Makkaroni 1000+ Zeilen zu lesen, ich verstehe, dass Sie separate Dateien erstellen müssen, aus denen dann diese Funktionen importieren, aber es gibt ein Detail. Ich schrieb diese Funktionen mit (und möglicherweise ändern)globale Variablen meiner ekspert und ohne ihre Initialisierung die eigenständige Funktion, natürlich, wird nicht kompilieren.

Hier ist also die Frage: Wie kann man dieses Problem so lösen, wie es normalerweise in C++ gemacht wird?

1) Einfach alle globalen Variablen als Eingabeparameter in eine Funktion per Referenz setzen? Das wäre wirklich mühsam.

2) Und wenn Sie alle dieselben globalen Variablen in einer Hoteldatei dieser Funktion deklarieren und sie dann importieren (Funktion) und im Hauptprogramm verwenden, wird es dann korrekt funktionieren?

 

Guten Tag. Ich habe beschlossen, atr und spread in meinem EA anzuzeigen. Können Sie mir bitte sagen, wie man die Spanne in 2 Ziffern und atp entsprechend zu dem Paar zu machen

int Spread=(int)MarketInfo(Symbol(),MODE_SPREAD);
double atr1440=iATR(Symbol(),1440,22,0);
Comment(      
           "atr1440 = " + DoubleToString(atr1440)+ "\n" +
           "Spread = " + DoubleToString(Spread));
 
Carcass77:

Guten Tag. Ich habe beschlossen, atr und spread in meinem EA anzuzeigen. Können Sie mir bitte sagen, wie man die Spanne in 2 Ziffern und atp entsprechend zu dem Paar zu machen


Ich würde gerne ein Komma als zweiten Parameter verwenden. Schließlich gibt es Hinweise beim Schreiben von Code im Editor.
 
Artyom Trishkin:
Es ist ein Komma im zweiten Parameter. Schließlich gibt es Hinweise beim Schreiben von Code im Editor.

Ich danke Ihnen. Verstehe ich das richtig, dass ich die Größe der Zeichen oder die Farbe in diesem Formular nicht ändern kann?

 
Carcass77:

Ich danke Ihnen. Verstehe ich das richtig, dass ich die Größe oder Farbe der Zeichen in dieser Ansicht nicht ändern kann?

Die Größe der Zeichen kann das, die Farbe nicht.



string DoubleToString(

doppelter Wert, //Zahl

int digits=8 //Anzahl der Stellen nach dem Dezimalkomma

);

 
Alekseu Fedotov:

Zeichengröße kann man, Farbe kann man nicht.



string DoubleToString(

doppelter Wert, //Zahl

int digits=8 //Anzahl der Stellen nach dem Dezimalkomma

);

Entschuldigung, ich meinte die Schriftgröße

Grund der Beschwerde: