int iMA(
string symbol, // symbol name
ENUM_TIMEFRAMES period, // period
int ma_period, // averaging period
int ma_shift, // Indikator horizontale Verschiebung
ENUM_MA_METHOD ma_method, // Glättungsart
ENUM_APPLIED_PRICE applied_price // Preistyp oder Griff
);
womit Sie das gleiche Ergebnis erzielen können. Aber. Wie erhält man applied_price bei Verwendung der Kurzform int OnCalculate(). Mit anderen Worten, wie kommt man bei der Initialisierung des Indikators zu den Werten auf der Registerkarte "Parameter"?
Vielen Dank!
Vielen Dank, es ist sehr klar und nützlich für Anfänger.
- 2010.03.03
- Nikolay Kositsin
- www.mql5.com
Vielen Dank für diesen Artikel! Sehr nützliches Material für einen Anfänger und
für jemanden, der aus einer anderen Sprache umsteigt.
Computer übersetzt? Machen Sie es.
Im Vergleich zu MQL4 werden die Subscripts der Metrikfelder aus der Vergangenheit berechnet und sind fest, nicht dynamisch. Ich frage mich, was passiert, wenn Sie es eine Woche oder einen Monat lang laufen lassen? Befinden sich die Daten alle im Speicher? Wenn alles im Speicher ist, wird es dann nicht immer langsamer?
Wie auch immer, unter https://www.mql5.com/zh/articles/31中又说:
- "Die Einstellung des Index eines Elements als Sequenz ist die gleiche wie in MQL4" - Was bedeutet das? In unserem Beispiel verwenden wir den Elementindex als Zeitreihe. Mit anderen Worten, die aktuelle (noch nicht gebildete) Spalte hat immer den Index [0], die vorhergehende (bereits gebildete) hat den Index [1] und so weiter.
Achten Sie also darauf, welcher Fall tatsächlich verwendet wird. Die meisten MQL4-Beispiele verwenden ein Index-Array mit current als 0, die meisten MQL5-Beispiele verwenden ein Index-Array mit past als 0.
- 2013.09.04
- Sergey Pavlov
- www.mql5.com
Computer übersetzt? Mach was draus.
Im Vergleich zu MQL4 werden die Subscripts der Metrikfelder aus der Vergangenheit berechnet und sind fest, nicht dynamisch. Ich frage mich, was passiert, wenn Sie es eine Woche oder einen Monat lang laufen lassen? Befinden sich die Daten alle im Speicher? Wenn alles im Speicher ist, wird es dann nicht immer langsamer?
Aber unter https://www.mql5.com/zh/articles/31中又说:
- "Die Einstellung des Index eines Elements als Sequenz ist die gleiche wie in MQL4" - was bedeutet das? In unserem Beispiel verwenden wir den Elementindex als Zeitreihe. Mit anderen Worten, die aktuelle (noch nicht gebildete) Spalte hat immer den Index [0], die vorhergehende (bereits gebildete) den Index [1] und so weiter.
Seien Sie also vorsichtig, welcher Fall tatsächlich verwendet wird. Die meisten MQL4-Beispiele verwenden ein Array von Indizes mit dem aktuellen als 0, und die meisten MQL5-Beispiele verwenden ein Array von Index-Subscripts mit der Vergangenheit als 0.
Die Funktion ArraySetAsSeries() ist in MQL5 zu verwenden, um dynamische Arrays (Zuweisung von Speicher zum Speichern der neuesten Werte in Richtung des größeren Index) in eine Zeitreihenform umzuwandeln, d.h. die neuesten Daten werden bei Index 0 gespeichert, die nächstneuesten Daten bei Index 1 usw., wobei die neuesten Daten für immer bei Index 0 gespeichert werden.
Lesen Sie mit der Funktion copybuffer (), von der Position des Index 0, um das Lesen rückwärts Elemente des Arrays, lesen, wie viele ihrer eigenen Definition auf der Linie.
Nicholas!
Können Sie mir sagen, warum, wenn ich versuche, ein Indikator-Array in einer Schleife mit der Formel Masse[ i ]= Masse[ i+1]+A; zu füllen, wobei A eine Variable ist, die Kompilierung ohne Fehler verläuft, aber wenn sie an das Fenster angehängt wird, die Meldung Array out of range (out of array size) erscheint?
Nicholas!
Können Sie mir sagen, warum, wenn ich versuche, ein Indikator-Array in einer Schleife mit der Formel Masse[ i ]= Masse[ i+1]+A; zu füllen, wobei A eine Variable ist, die Kompilierung ohne Fehler verläuft, aber wenn ich dem Fenster beitrete, erhalte ich die Meldung array out of range (Array außerhalb des Bereichs)?
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Benutzerdefinierte Indikatoren in MQL5 für Anfänger :
Als Anfänger erscheint einem jedes neue Thema immer kompliziert und schwer. Bekannte Themen sind uns klar und stellen kein Problem mehr dar. Dabei vergessen wir jedoch oft, dass jeder immer mal wieder komplett bei Null anfangen muss, das gilt selbst für unsere Muttersprache. Und nicht anders ist mit der MQL5 Programmiersprache, die eine große Auswahl bietet, wie man seine ganz persönlichen Handelsstrategien entwickeln kann - man kann sie ausgehend von grundlegenden Konzepten und einfachsten Beispielen erlernen. Dieser Beitrag erklärt die Interaktion eines technischen Indikators mit dem MetaTrader 5 Client-Terminal am Beispiel des einfachen, benutzerdefinierten SMA-Indikators (einfacher gleitender Mittelwert).
Autor: Nikolay Kositsin