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
Wie ich sehe, gibt es eine printf-Funktion
und wie schön wäre es, wenn es auch sprintf gäbe
Vielleicht kann die Funktion StringFormat() sie ersetzen:
StringFormat
Sie formatiert die empfangenen Parameter und gibt eine Zeichenkette zurück.
string StringFormat(
string format, // format string
... ... // Parameter
);
Parameter
Format
[in] Zeichenkette mit der Formatmethode. Die Formatierungsregeln sind dieselben wie bei PrintFormat.
...
[in] Parameter, getrennt durch ein Komma.
Zurückgegebener Wert
Zeichenfolge.
Vielleicht könnte die Funktion StringFormat() sie ersetzen:
Ich verstehe, dass der Funktion StringFormat ein Synonym für sprintf zugewiesen werden sollte, ähnlich wie PrintFormat und printf. Aber in diesem Fall müssen wir auch die Funktion snprintf implementieren.
In der MQL5-Hilfe heißt es:
Aha... Nur dieses Ereignis für Indikatoren, die (vorerst?) keine Arbeit mit Objekten erlauben.
Wir wurden gebeten, einen solchen Indikator als Expert Advisor zu implementieren. Aber für Expert Advisors ist die Funktion zum Zählen der modifizierten Balken(OnCalculate) nicht verfügbar
Aha... Nur dieses Ereignis ist für Indikatoren, die (noch?) die Arbeit mit Objekten verbieten.
Wir wurden gebeten, einen solchen Indikator als Expert Advisor zu implementieren. Aber die Funktion zur Berechnung der geänderten Balken(OnCalculate) ist für Expert Advisors nicht verfügbar.
In OnCalculate wird die Anzahl der verarbeiteten Takte prev_calculated übergeben, die durch den vorherigen Aufruf von OnCalculate zurückgegeben wurde. Sie können die in einem Expert Advisor verarbeiteten Balken mithilfe einer globalen oder einer statischen lokalen Variablen zählen.
In OnCalculate die Anzahl der verarbeiteten Takte prev_calculated, die durch den vorherigen Aufruf von OnCalculate zurückgegeben wird. In einem Expert Advisor können Sie die von Ihnen verarbeiteten Balken mithilfe einer globalen oder statischen lokalen Variablen zählen.
Kann ich in einem Expert Advisor wissen, dass ein Benutzer den Zeitrahmen des Diagramms geändert hat und alle Balken neu berechnet werden sollten?
Bei den Indikatoren gibt es dieses Problem nicht.
Kann ich im EA wissen, dass der Benutzer den Chart-Zeitrahmen geändert hat und alle Balken neu berechnet werden müssen?
Ja, das können Sie. Zuerst wird die Funktion OnDeinit mit den alten Parametern und dann die Funktion OnInit mit den neuen Parametern aufgerufen
Ich hätte gerne, dass mql5 Syntax-Highlighting hat, und noch wichtiger, Klammern beim Schließen (ein Klammerpaar ist schließbar), Substitution von Funktionen und Text, Korrektur der Syntax von Schreibbefehlen und Vergleichszeichen >=,<=,=<,=>, die Möglichkeit, zusätzliche Fenster im Expert Advisor zu verbinden - zum Beispiel ObjWindowCreate(string Name, bool TypeWindow=false) [false - als Indikatorfenster, true - als separates Fenster für Währungspaare]
Ich würde auch empfehlen, die Editor-Schnittstelle von NotePade++ zu übernehmen.
Ich möchte den Text von Funktionen ausblenden oder öffnen können, indem ich den Funktionscode ankreuze und auf das Minuszeichen im linken Feld neben dem Funktionstitel klicke.
Fügen Sie den Typ der Variablen als LineType hinzu - so dass die Eigenschaften des EA den Typ der angezeigten Linie in seinen Einstellungen separat auswählen können
Um separate int's für die Initialisierung der Einstellungen zu erstellen, wenn EA arbeitet - Beispiel int OnChangeProperty() { return(0)}
Hinzufügen von Funktionen wie AccountMaxLot() - das aktuell maximal mögliche Gebot eines Kunden
Es wäre auch schön, dem Fenster für die Auftragserstellung ein Etikett hinzuzufügen, das die erforderliche Menge für die ausgewählte Partie anzeigt.
Funktion erstellen, die den aktuellen Gewinn eines bestimmten Auftrags mit oder ohne Berücksichtigung von Spread und Swap anzeigt - zum Beispiel int CalculateProfitOrder(int OrderNumberHistoryList, bool spred=false, bool swop=false)
wobei die Nummer die Auftragsnummer in der Liste der aktiven Aufträge ist
Unterstützung von String-Variablen in Unicode und Funktion des Einfügens - string CharUTF(string Font, string 'u+0021') wobei u+ der Unicode-Header und 0021 der Code des Symbols in der Symboltabelle ist
oder string CharUTF(string Font, string U'0021'), fügen Sie dem Interpreter besser eine Zeichendarstellung hinzu, z. B. Datum oder Farbe mit der Überschrift U'xxxxx'.
auch Funktionen zur Übersetzung von Strings durch string CharToUtf(string Text) und string UtfToChar(string UtfText).
Und im Allgemeinen wäre es der Einfachheit halber besser, die Avatare nach Typ zu beschreiben:
Aktivieren des Expert Advisors OnInit()
Ausschalten des Expert Advisors OnDeinit()
Wechsel des Zeitrahmens OnChangeTimeFrame(int TimePeriod=Period())
Zoom ändern OnChangeZoom( int CountBarPerWindow=WindowBarsPerChart())
Neuer Preis OnNewPrice()
Erstellen eines neuen Fensters OnCreateNewWindow(string NameWindow, int IndexWindow=WindowFind(NameWindow), bool TypeWindow=false)
Eingang einer Anlegeranfrage int OnInvestor (int IndexInvestor - Anleger-ID(Kontonummer),string NameInvestor - Anlegerbeschreibung, ..... - durch Komma getrennte Parameter für den Befehl OrderSend( return(Id Create Order) ))
Auftrag erstellen - OnCreateOrder (int IndexOrder=OrderNumberHistoryList)
Auftrag bearbeiten - OnModifyOrder (int IndexOrder=OrderNumberHistoryList)
Ereignis zum Schließen der Order per TP, SL, Datum oder manuell OnOrderClose (int TypeCloseOrder= CLOSEMODE_ [TP, SL, Date, Manual], int IndexOrder=OrderNumberHistoryList, bool PriceType=true)
wobei PriceType ein Kennzeichen für den Auftragsabschluss ist true - Handel mit positivem Auftragssaldo false - Handel mit negativem Auftragssaldo
Und Sie können am unteren Ende der Mt, wo der Name des Profils gemeldet wird, den Namen der ausgeschossenen Vorlage hinzufügen?
Profilname und so kann man in der Liste der Profile sehen (es gibt immer ein Häkchen, um zu wissen, wo man sich befindet), aber welche Vorlage nun eingeblendet ist, nicht.