![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Grüße!
MT5 Optimizer - berechnet CustomMax korrekt?
Ich führe den Optimizer (genetische Optimierung) in MT5 5.00 Build 722 aus und habe zufällig bemerkt, dass die Optimierungsergebnisse auf eine unerwartete Weise berechnet werden.
Der Expert Advisor gibt OnTester() zurück:
Profit * Trades * (1/(MaxEquityDDPercent+1)) * RecoveryFactor
Wo:
double Profit = TesterStatistics(STAT_PROFIT);
double Trades = TesterStatistics(STAT_TRADES);
double MaxEquityDDPercent = TesterStatistics(STAT_EQUITY_DDREL_PERCENT);
double RecoveryFactor = MathAbs(TesterStatistics(STAT_RECOVERY_FACTOR));
Es wurde erwartet, dass das Ergebnis bei einem geringeren Gewinn- und Erholungsfaktor kleiner ausfallen würde, aber das ist nicht der Fall - siehe Screenshot.
Habe ich etwas nicht richtig verstanden?
Also, los geht's:
Aber ich fürchte, es wird Ihnen nicht gefallen. Mir zum Beispiel gefällt es nicht - das Diagramm zuckt und verdoppelt sich. Und ich wollte es besser machen - es sanft an die richtige Stelle bewegen...
// Interessant ist, dass es mit ChartRedraw() doppelt so schnell funktioniert wie ohne diese Funktion. Gleichzeitig ruckelt es mehr.
Es gibt immer noch ein Problem mit ChartNavigate(). Wird sie eines Tages repariert? Oder wird es nicht als Fehler angesehen?
Gibt es bereits einen Beitrag zu diesem Thema im Service Desk? Oder mehr hinzufügen? ))
Ausführungsfehler: Stapelüberlauf
Wenn wir OrderSend durch einen anderen Namen ersetzen, ist alles in Ordnung.
das Vorhandensein von Statik hat keinen Einfluss auf den Fehler
Aufrufen von A::OrderSend()- der Fehler ist davon nicht betroffen
Fehler bei der Ausführung eines Stapelüberlaufs
Wenn Sie OrderSend durch einen beliebigen anderen Namen ersetzen, ist das in Ordnung.
weil der Kontext aufgelöst werden muss
::OrderSend
Ich glaube, ich rufe nicht ::OrderSend, sondern A::OrderSend() auf.
sollte funktionieren
Ich glaube, ich rufe nicht ::OrderSend, sondern A::OrderSend() auf.
An welche Linie denken Sie?
die Sie gerade
Wenn Sie das Terminal aufrufen wollen, tun Sie :: vor OrdersendDanke, ich habe den Grund gefunden - ich entferne die Frage - ich habe sie selbst gestellt
Ich verstehe, dass Sie sich in Ihrem Ordersend ohne ::
Ich habe mich sofort daran gewöhnt, als ich im Unterricht die Begriffe "Drucken" und "Kommentieren" neu definiert habe. Jetzt mache ich das ständig :)
Ich habe gehört, dass Sie sich in Ihrem Ordersend ohne : genannt haben: