Wünsche für MQL5 - Seite 100

 
YuraZ >> :

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.


 
Rosh писал(а) >>

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.

 
Rosh >> :

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

 
Roffild писал(а) >>

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.

 
stringo >> :

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.

 
Roffild писал(а) >>

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

 
Erlauben Sie Experten, ihre Daten im "Datenfenster" anzuzeigen, da viele Indikatoren auf "Experten" umgeschrieben werden müssen.
 

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

 
Vielleicht ist dies bereits in einem EA implementiert, aber ich möchte es in der Basisversion des Programms sehen, nämlich dass die Beschriftungen der Charts, auf denen offene oder schwebende Positionen vorhanden sind, mit einer bestimmten Farbe hervorgehoben werden. So wird beispielsweise das Chart-Label, auf dem sich eine offene Position befindet, gelb hervorgehoben, wenn sich der Kurs T/P nähert, grün, bzw. S/L rot. Es wäre auch sehr praktisch, die erforderliche Verknüpfung mit einer Farbe zu markieren. Dies ist sehr nützlich, wenn Sie mit mehreren (vielen oder allen) Instrumenten arbeiten. Am Samstag und Sonntag machen Sie Ihre Analysen, wählen Paare aus, um auf ein Signal zu warten, markieren sie in einer schönen Farbe und beobachten sie.
 

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.