Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 785
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
Ist es notwendig,templ(T1) vor jede Funktion zu schreiben, die eine Variable oder das erforderliche Argument annimmt? Warum wirdtempl(T) deklariertundtempl(T1) aufgerufen, sollte ich vor jeder Funktion eine Zahl hinzufügen(templ(T1)templ(T2)templ(T3)) oder sollte ich überalltempl(T1) schreiben?Und wenn mehrere Parameter intemplate<typename T>gewertet werden, wie würde es dann sein, wie diesestemplate<typename T,typename P,typename Q>-templ(T,P,Q).
Ja, die Aufzeichnung erfolgt immer noch vor jeder Funktion, bei der Sie eine normale Funktion in eine Funktionsvorlage umwandeln wollen. Es ist nur so, dass diese Platte jetzt merklich kürzer ist.
T1 ist ein Name, der eine Art von Daten bezeichnet, die in einer Variablen mit dem Namen (a) gespeichert werden. Es ist nicht notwendig, eine Zahl hinzuzufügen. Sie können überall den gleichen Namen verwenden, sogar das gleiche T ohne Nummer.
Die Vorlage wird nicht aufgerufen, sondern automatisch durch das ersetzt, was ihr in #define vorangestellt ist. Dies ist eine einfache Ersetzung eines Textes durch einen anderen, aber Sie können die Eingabeparameter in Klammern schreiben, genau wie bei Funktionen.
Zur Kompilierzeit wird der Ausdruck templ(T1) durch template<typename T1> ersetzt und man erhält folgendes
Für mehrere Parameter, ja, Sie haben richtig geraten, wie zu beschreiben.
Verstehe, danke für die Information, ich habe es bereits ausprobiert - es ist praktisch.
Ich habe verstanden, dass Sie über einen Schalter auswählen und die Namen dort eingeben müssen.
Ihr Code gibt einen int-Wert aus, während Sie einen String auswählen müssen
Ich würde ein Array von String-Konstanten verwenden, um den Indikatornamen auszuwählen, d.h. mein Beispiel gibt Ihnen die Nummer des Datensatzes, wenn der Benutzer ihn auswählt, und diese Nummer kann die Nummer eines Elements (Index) des String-Arrays sein, in dem Sie die Textnamen der Indikatoren speichern würden
Sorry, ich habe kein Terminal, ich kann das Beispiel im Code nicht zeigen, aber ich denke, ich habe die Idee erklärt
PS:
Ich würde ein Array von String-Konstanten verwenden, um den Namen des Indikators auszuwählen, d.h. mein Beispiel gibt Ihnen die Nummer des Datensatzes, wenn er vom Benutzer ausgewählt wird, und diese Nummer kann die Nummer des Elements (Index) des String-Arrays sein, in dem Sie die Textnamen der Indikatoren speichern werden
Sorry, ich habe kein Terminal, ich kann das Beispiel im Code nicht zeigen, aber ich denke, ich habe die Idee erklärt
PS:
Danke, das habe ich getan, es ist ziemlich praktisch.
Und die endgültige Version ist einfach der Hammer. Das habe ich schon lange vermisst, denn ich habe mindestens 20 Charts im Terminal geöffnet
Hallo zusammen. Hilfe, bitte. Ich möchte, dass der EA nach dem Schließen eines Geschäfts n Stunden lang wartet. Ich kann diese Funktion auch optimieren. Wäre es richtig, Mode_Trades in Mode_History zu ändern? Dankeschön
MODE_HISTORY - natürlich wird er benötigt, aber es gibt noch einen weiteren Punkt: im Text "after closing" und im CodeOrderOpenTime
Und gehen Sie nicht in Bars, bringen Sie die Zeit t zurück und verwenden Sie sie dann irgendwie:
MODE_HISTORY - natürlich wird er benötigt, aber es gibt noch einen weiteren Punkt: im Text "after closing" und im CodeOrderOpenTime
Und gehen Sie nicht in Bars, bringen Sie die Zeit t zurück und verwenden Sie sie dann irgendwie:
Ich habe auf Mode_History korrigiert, so dass die Eule die erste Bestellung nicht öffnet. Können Sie die Lösung näher erläutern? Danke
Ich habe auf Mode_History korrigiert, damit die Eule nicht die erste Bestellung öffnet. Können Sie die Lösung bitte näher erläutern? Danke
Schauen Sie sich das an.
Schauen Sie sich das an.
Wie wird der erste Auftrag erledigt?
Und wie lösen Sie den ersten Auftrag?
Bitte beachten Sie, dass sich die Funktion leicht geändert hat.