![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
Ich bin auf ein solches Problem gestoßen, ein Bekannter bat mich, einen Experten zu schreiben, um die TS-Funktionalität zu überprüfen. Ich dachte, ich würde es in 5 schreiben (es ist bequemer, es + Debugger zu schreiben). Ich habe geschrieben und das Ergebnis erhalten:
Ich denke, es ist gut, ich kann es für 4 umschreiben.
Ich habe ihn 1:1 umgeschrieben. Dieser TS hat keine Indikatoren, nur Zeit und Preisspanne. Das Ergebnis hat mich sehr überrascht:
Der Testzeitraum erstreckt sich vom 1.01.2000 bis heute.
Ich frage mich, welches Testgerät das richtige Ergebnis anzeigt?
Die Zahl der Abschlüsse ist sehr groß, so dass sich die Frage nach den Spreads stellt - sind sie bei beiden Tests gleich?
Wie weise ich einem zweidimensionalen Array einen Wert zu? Ich schreibe so:
Das Ergebnis ist ein Fehler: ',' - unerwartetes Token''.
Wie weise ich einem zweidimensionalen Array einen Wert zu? Ich schreibe so:
Das Ergebnis ist ein Fehler: ',' - unexpected token'.
Machen Sie es so:
PS. Beispiele für Array-Deklarationen finden Sie in der Hilfe.Wie kann ich einen Datentyp korrekt in einen anderen übersetzen?
Runden Sie zum Beispiel einen Fließkommawert auf und übertragen Sie ihn in eine Variable mit ganzzahligem Datentyp.
Wenn Sie dies versuchen:
In der letzten Zeile des Kompiliervorgangs erscheint eine Warnung:"möglicher Datenverlust aufgrund der Typkonvertierung".
Gibt es eine Möglichkeit, dies zu vermeiden?
Machen Sie es so:
PS. Beispiele für Array-Deklarationen finden Sie in der Hilfe.Danke! Es funktioniert. Aber ich konnte eine solche Zeichenfolge in der Hilfe nicht finden!
Es wird zwar nicht direkt geschrieben, aber es gibt ein Beispiel für die Deklaration eines mehrdimensionalen Arrays, und es gibt ein Beispiel für den Verweis auf ein Array-Element im Text:
Arrays
Ein Array ist eine indizierte Sammlung von identischen Daten:
int a[50]; // Ein eindimensionales Array mit 50 ganzen Zahlen.
double m[7][50];// Ein zweidimensionales Feld mit sieben Feldern,
// jeweils bestehend aus 50 Zahlen.
MyTime t[100];// Array mit Elementen vom Typ MyTime
Ein Array-Index kann nur eine ganze Zahl sein. Es sind nicht mehr als vierdimensionale Arrays erlaubt. Die Elemente eines Arrays werden mit 0 beginnend nummeriert. Das letzte Element eines eindimensionalen Arrays ist um 1 kleiner als die Array-Größe, d. h. der Zugriff auf das letzte Element eines Arrays mit 50 ganzen Zahlen sieht aus wie a[49]. Dasselbe gilt für mehrdimensionale Arrays, wobei eine Dimension von 0 bis Dimensionsgröße-1 indiziert wird. Das letzte Element des zweidimensionalen Arrays aus dem Beispiel wird wie m[6][49] aussehen.
Wie kann ich einen Datentyp korrekt in einen anderen übersetzen?
Runden Sie zum Beispiel einen Fließkommawert auf und übertragen Sie ihn in eine Variable mit ganzzahligem Datentyp.
Wenn Sie dies versuchen:
Beim Kompilieren erscheint in der letzten Zeile eine Warnung:
Gibt es eine Möglichkeit, dies zu vermeiden?
Ja, führen Sie eine explizite Typkonvertierung durch.
Die Zahl der Abschlüsse ist sehr hoch, so dass sich die Frage nach den Spreads stellt - sind sie bei beiden Tests gleich?
Währungspaar EURJPY in Five test nach Ihren Daten.
Vier ist Alpari, die Minutendaten wurden von Ihrem Server über Angebotsarchiv -> Download heruntergeladen.
Offensichtlich gibt es einen Unterschied in den Spreads, aber das Ergebnis ist sehr unterschiedlich.
Bei 2500 Geschäften sollte der Unterschied höchstens 2500$-5000$ betragen, aber es sind 10000$, wie man sagt, traue deinen Augen nicht.
Übrigens gibt es 1 Handel pro Tag unter der Bedingung eines Gewinns von nicht weniger als 8 (80 - fünfstellig) Pips.