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
Die Zukunft... Sieh an, sieh an. "Danke, das ist lustig" (c).
Bei der Optimierung würde ich gerne das Ergebnis des Laufs als Prozentsatz sehen und nicht die Zahlen in der Spalte "Ergebnis". Und im Backtest wäre es schön, wenn das Ergebnis "Nettogewinn" einen Gewinn in % hätte.
Fügen Sie Ihre Formel in den OnTester()-Ereignishandler ein und sehen Sie das gewünschte Ergebnis.
Ich schlage vor, die globalen Variablen des Programms nicht mit den Variablen und Parametern in Plugins in MQL4 und MQL5 zu kreuzen. Ich habe eine Variable "point" in meinem Expert Advisor deklariert und erhalte nun eine Menge Meldungen wie: "Die Deklaration von 'point' verdeckt die globale Deklaration in der Datei 'expert.mq4' in Zeile 153 ChartObject.mqh 154 39". Es ist schrecklich, wenn man eine Variable in einem Modul oder Programm nicht deklarieren kann, die in den Parametern eines anderen Moduls enthalten ist. Warum muss das Modul ChartObject.mqh meinen Expert Advisor expert.mq4 sehen, wenn ChartObject.mqh ihn nicht explizit deklariert?
Natürlich wird es Ihnen helfen.
Ja, ich habe diese Zeile in meinem Expert Advisor, aber sie befindet sich nicht im ChartObject.mqh-Modul. Ich werde deswegen nicht alle Standardmodule neu schreiben...
Ich hab's. In diesem Fall sollten Sie keine globalen Variablen erstellen. Sie können auch ohne sie auskommen. Andernfalls kann es sich um einen Zufall handeln, z. B. um einen sehr häufigen Namen:
int i;
global deklariert werden, werden durch lokal deklarierte überschrieben. Genau davor werden Sie gewarnt.
Und ein Plugin hat keinen eigenen Geltungsbereich, es ist kein Modul, es ist nur ein Stück Code, das dort eingefügt wird, wo Sie include schreiben.
Ich hab's. Dann legen Sie keine globalen Variablen an. Sie können auf sie verzichten.
Was meinen Sie damit, sie nicht zu schaffen? In jeder Programmiersprache werden globale Variablen frei verwendet und das ist auch in Ordnung, aber der Compiler flucht. Der Fehler ist nicht entscheidend, aber dennoch lästig.
double point = MarketInfo(EA_Symbol(), MODE_POINT);
Der variable Punkt gibt den Preis von 1 Punkt an und ist ein Ersatz für den Standardpunkt. Die Funktion MarketInfo(EA_Symbol(), MODE_POINT) gibt den Preis von 1 Punkt für jedes Symbol an. Außerdem kann die Variable point in jeder Funktion im Körper des EA verwendet werden, sofern es sich um eine globale Variable handelt. Ich stimme zu, dass solche Fälle oft zu Unannehmlichkeiten führen (wenn Sie sicherlich Erfahrung in der MQL-Programmierung haben). Und obwohl sie umgangen werden können, stellt sich doch die Frage, warum, wenn andere moderne Sprachen solche Probleme einfach nicht haben?