[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 381
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
Dies ist von Hilfe, aber ist es möglich, NULL als ein Symbol zu verwenden, um nur das Instrument zu "beobachten", auf dem der EA arbeitet?
Es ist nur so, dass wir mehrere EAs desselben Typs für verschiedene Paare planen.
Zum Beispiel so:
Dies ist von der Hilfe, aber ist es möglich, NULL als Symbol zu verwenden, um nur das Instrument zu "beobachten", auf dem der EA ausgeführt wird?
Zum Beispiel so:
NULL wird nicht funktionieren, wie es scheint.
Aber Symbol() wird funktionieren =)
Guten Tag. Ich habe die folgende Frage. DasMQL4-Buchauf MQL4.community enthält im Abschnitt "Einfache MQL-Programme" ein Beispiel für tradingexpert.mq4 mit folgendem Inhalt (siehe beigefügte Datei). Die externen Variablen extern double StopLoss =200 und extern double TakeProfit =39 werden in Block 1-2 deklariert. Block 8-9 Aufrufe der Funktionen New_Stop(StopLoss) und New_Stop(TakeProfit) werden zur Berechnung der SL- und TP-Parameter verwendet. Eine Beschreibung der Funktion findet sich in Block 11-12.
Frage: Der formale Parameter der Funktion New_Stop ist vom Typ int(int Parametr), während die Parameter, die im Funktionsaufruf New_Stop(StopLoss)(New_Stop(TakeProfit)) übergeben werden, vom Typ double sind... Im MQL4-Buch, zu finden bei MQL4.community im Abschnitt "Language Basics", Unterabschnitt "Functions", steht "Function Properties" "Die Anzahl, der Typ und die Reihenfolge der Parameter, die in einem Funktionsaufruf übergeben werden, müssen mit der Anzahl, dem Typ und der Reihenfolge der formalen Parameter übereinstimmen, die in der Funktionsbeschreibung übergeben werden (die Ausnahme ist ein Funktionsaufruf, der Standardparameter hat - siehe Funktionsaufruf und Funktionsbeschreibung und Rückgabeoperator. Wie ist dieser Widerspruch zu erklären: Demnach hätte ich bei der Deklaration der Variablen StopLoss und TakeProfit den Typ int und nicht double angeben müssen (der Compiler gibt keinen Fehler aus)?
Um das Forum nicht zu überfrachten, danke ich im Voraus für die Antwort.
Hallo, können Sie mir einen Tipp geben... Ich habe das halbe Internet durchsucht, und die Informationen sind unterschiedlich
Das Wesen des Expert Advisors besteht darin, Positionen für verschiedene Instrumente zu eröffnen. "Im wirklichen Leben funktioniert es und zeigt die aktuellen Preise an, aber ich kann es nicht durch die Geschichte laufen lassen... Die Funktion gibt Null zurück.
Ich möchte den aktuellen Kurs für zwei Währungen anzeigen, z.B. EURUSD und EURCHF.
Ich rufe den aktuellen Kurs mit dieser Funktion auf (ich verfolge die Historie, wenn der EURUSD-Chart aktiv ist):
MarketInfo("EURUSD",MODE_BID) ---> aktuellen Kurs ermitteln
MarketInfo("EURCHF ",MODE_BID) ---> liefert Null
Ich habe auf diesem Forum gefunden, dass MarketInfo nicht auf Geschichte funktioniert, verwenden Sie "iClose".
Aber wenn ich das Zitat mit der Option
iClose("EURUSD",PERIOD_M1,0) ---> Ich erhalte den aktuellen Kurs
iClose("EURCHF",PERIOD_M1,0) ---> ergibt Null
Wie kann ich sonst die aktuellen Kurse für verschiedene Instrumente im Strategietester abrufen? Dankeschön
Der MT4-Tester ist nicht mehrwährungsfähig. Mit anderen Worten: Es können nur EAs für einzelne Währungen getestet werden.
Der MT4-Tester ist nicht mehrwährungsfähig. Mit anderen Worten: Es können nur EAs für einzelne Währungen getestet werden.
danke
danke
Genauer gesagt, testen Sie mit einem Tool und Sie können andere Tools für die Analyse verwenden.
Zumindest scheint es so:
Guten Tag. Ich habe die folgende Frage. DasMQL4-Buchauf MQL4.community enthält im Abschnitt "Einfache MQL-Programme" ein Beispiel für tradingexpert.mq4 mit folgendem Inhalt (siehe beigefügte Datei). Die externen Variablen extern double StopLoss =200 und extern double TakeProfit =39 werden in Block 1-2 deklariert. Block 8-9 Aufrufe der Funktionen New_Stop(StopLoss) und New_Stop(TakeProfit) werden zur Berechnung der SL- und TP-Parameter verwendet. Block 11-12 enthält eine Beschreibung der Funktion.
Frage: Der formale Parameter der Funktion New_Stop ist vom Typ int(int Parametr), während die Parameter, die im Funktionsaufruf New_Stop(StopLoss)(New_Stop(TakeProfit)) übergeben werden, vom Typ double sind... Im MQL4-Buch, zu finden unter MQL4.community im Kapitel "Language Fundamentals" im Abschnitt "Functions", Unterabschnitt "Function Properties" steht "Die Anzahl, der Typ und die Reihenfolge der Parameter, die in einem Funktionsaufruf übergeben werden, müssen mit der Anzahl, dem Typ und der Reihenfolge der formalen Parameter übereinstimmen, die in der Funktionsbeschreibung übergeben werden (die Ausnahme ist ein Funktionsaufruf, der Standardparameter hat - siehe Funktionsaufruf und Funktionsbeschreibung und Rückgabeoperator. Wie ist dieser Widerspruch zu erklären: Demnach hätte ich bei der Deklaration der Variablen StopLoss und TakeProfit den Typ int und nicht double angeben müssen (der Compiler gibt keinen Fehler aus)?
Vielen Dank im Voraus für die Antwort, um das Forum nicht zu überladen.
Die externen Parameter (extern double StopLoss =200; extern double TakeProfit =39; ) sollten im Prinzip vom Typ Integer sein (genauer gesagt, nach der Idee des Autors - es ist ein Wert in Punkten). Beim Aufruf der Funktion wird die implizite Typumwandlung verwendet. Der Fließkommatyp wird in den Ganzzahltyp umgewandelt, wobei die Genauigkeit verloren geht. In diesem Fall spielt es keine Rolle: Die Größe von Stop und Gewinn wird wie beabsichtigt in Pips festgelegt - sie ist immer ganzzahlig.
IMHO ist der Beispielcode schlecht geschrieben.
Die Verwendung des absoluten Wertes von Konstanten ist ein sehr schlechter und falscher Stil, mit mnemonischen Namen.
Die schlechteste Implementierung der Auftragsaufzählung: Es ist schwer, sich eine "zurückgebliebenere" Implementierung vorzustellen. Sie scheint absichtlich langsam zu sein: zusätzliche Berechnungen, unnötige Funktionsaufrufe - die zeitlich teuerste Operation, und das bei jeder Iteration der Schleife. Und das, obwohl sich die Anzahl der Aufträge innerhalb der Schleife nicht ändert.