Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 588
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
Hallo, könnten Sie mir bitte sagen, ob es für den Expert Advisor möglich ist, ein Objekt wie eine Schaltfläche oder einen Kippschalter zum Diagramm hinzuzufügen, und wenn ja, wie?
edutak:
Тестер пишет, непрерывный проигрыш 3, а я вручную насчитал 5, потом еше больше. Из-за чего такое может быть?
ohne zumindest einen Bericht des Testers kann man nicht verstehen
ohne zumindest einen Bericht des Testers kann man nicht verstehen
Los 0,1
Könnte der Prüfer lügen?
der Bericht ist StrategyTester report html
Kann nicht anhängen...
Archivieren Sie es.
Als ich den Indikator Schritt für Schritt überprüfte, fand ich in der Unterroutine hinter dem if {} einen Sprung, in dem es kein W gibt. Hier ist ein vereinfachter Code, um den Punkt zu verdeutlichen:
//--- Eingabeparameter
Eingabe int w=10;
//---
{
int i;
//---
int co=0;
for(i=0;i<=w;i++)if(w==10){co++; Alert(co);}
//--- Rückgabewert von prev_calculated für den nächsten Aufruf
return(rates_total);
}
Ergebnis (Arlets):
2016.05.30 00:45:14.064 1 (EURUSD,H1) 11
2016.05.30 01:10:35.972 1 (EURUSD,H1) 10
........... usw. auf 1.
2016.05.30 00:45:14.064 1 (EURUSD,H1) 1
Regel: Wenn der Ausdruck in der Klammer wahr ist, wird der Operator1 ausgeführt.
Im Code: operator1 wird IMMER ausgeführt.
Ich denke, if() sollte nur einmal funktionieren, wenn die eingeklammerte Bedingung wahr ist. Sie erfolgt jedoch bei jeder Prüfung, so dass alle Ausdrücke in {} bei jedem Schritt ausgeführt werden und Maschinenzeit verschlingen.
Fragen: WARUM ist die Variable CO während der Schleife von 0 auf 11 gestiegen? Warum wird bei jedem Schritt ein Alert ausgelöst?