Moving Average Dashboard Mq4
MetaTrader 4 - Beispiele MQL4 Sprache für Neulinge. Custom Indicators (Teil 1) Einleitung Dies ist der vierte Artikel aus der Serie MQL4 Languages for Newbies. Heute werden wir lernen, benutzerdefinierte Indikatoren zu schreiben. Wir werden uns mit der Klassifizierung von Indikatormerkmalen vertraut machen, sehen, wie diese Funktionen den Indikator beeinflussen, über neue Funktionen und Optimierungen lernen und schließlich unsere eigenen Indikatoren schreiben werden. Darüber hinaus finden Sie am Ende des Artikels Ratschläge zum Programmierstil. Wenn dies der erste Artikel für Anfänger ist, den du liest, wäre es vielleicht besser für dich, die vorherigen zu lesen. Außerdem, stellen Sie sicher, dass Sie richtig verstanden haben das vorherige Material, weil der gegebene Artikel nicht erklären, die Grundlagen. Arten von Indikatoren Jetzt werde ich Ihnen zeigen, welche Arten von Indikatoren existieren. Natürlich haben Sie eine Menge von ihnen gesehen, aber jetzt möchte ich Ihre Aufmerksamkeit auf Features und Parameter von Indikatoren zu lenken, so werden wir eine kleine Klassifizierung von Features und Parameter zu machen. Es wird Ihnen dann helfen, benutzerdefinierte Indikatoren zu schreiben. Also, die erste einfache Indikator: Dies ist Moving Average, MA. Ein weit verbreiteter technischer Indikator. Achten Sie auf die folgenden wichtigen Fakten: Der Indikator wird im Diagrammfenster gezeichnet, der Indikator zeigt nur einen Wert an, der Bereich der Indikatorwerte ist unbegrenzt und hängt von den aktuellen Preisen ab, die die Linie mit einer bestimmten Farbe gezeichnet wird. Breite und Stil (durchgezogene Linie) Nun sehen wir uns einen anderen Indikator: Es ist Williams Percent Range, R. Achten Sie auf die folgenden wichtigen Fakten: Die Indikator wird in einem separaten Unterfenster wie im vorherigen Fall gezeichnet, die Anzeige zeigt nur einen Wert der Bereich der Indikatorwerte ist streng begrenzt die gezogene Linie hat einen anderen Stil. Farbe und Breite So liegen die folgenden Indikatoreigenschaften vor: Der Indikator wird gezeichnet: in einem Diagrammfenster oder in einem separaten Unterfenster. Nun wollen wir versuchen zu verstehen, warum Moving Average auf dem Chart gezeichnet wird, und Williams Percent Range, R ist in einem separaten Fenster gezeichnet. Der Unterschied liegt im Bereich der dargestellten Werte. Beachten Sie, dass der zweite Indikator Werte im Bereich von 0 bis -100 anzeigt. Stellen Sie sich jetzt vor, dass wir diese Werte in einem Diagrammfenster zeigen. Und was würde passieren Sie würden diese Linie nicht sehen, denn der Preis hat eine viel schmalere Reichweite. In unserem Fall ist es von 0.6805 bis 0.7495. Aber es ist nicht alles. Tatsächlich sind die Preise positive Zahlen, und unser Wert ist negativ. Indikatoren werden in einem separaten Unterfenster gezeichnet, wenn ihre Werte außerhalb des Preisbereichs des aktiven Diagramms liegen. Und wenn die Reichweite fast gleich ist (z. B. verschiedene Arten von gleitenden Durchschnitten), wird ein Indikator in einem Diagrammfenster gezeichnet. In Zukunft setzen Sie diesen Indikatorparameter nach dieser einfachen Logik. Hier ist ein Bild: Ein Indikator, der in einem separaten Unterfenster gezeichnet wird, kann auf einen strengen Bereich beschränkt sein. Es bedeutet, dass das Terminal eine feste Skala für die Anzeige von Indikatorwerten setzt und selbst wenn Werte den Bereich überschreiten, werden Sie sie nicht sehen. Wenn Sie diesen Parameter deaktivieren, ändert das Terminal automatisch die Skala, so dass es alle Werte eines Indikators enthält. Siehe das Bild: Ein Indikator kann seine Werte mit verschiedenen Farben anzeigen. Stile und Breite. Sie haben es oft bei der Einrichtung der Indikatoren im Terminal gesehen. Hier ist eine Einschränkung: Wenn du eine Linienbreite von mehr als 1 benutzt, kannst du nur einen Stil - durchgezogene Linie verwenden. Hier ist noch ein Indikator: Wie Sie sehen, wird die Anzeige Volumes in Form eines Histogramms gezeichnet. Es gibt also mehrere Arten von Indikatorwerten. Hier ist ein Beispiel für einen anderen Typ: Der Indikator Fractals wird in Form von Sonderzeichen gezeichnet. Sehen Sie sich die folgende Anzeige an: Das ist Alligator. Beachten Sie, dass die Anzeige gleichzeitig drei Werte (Bilanzlinien) zeichnet. Wie funktioniert es eigentlich, jeder Indikator (es gibt einige Ausnahmen, aber wir werden später darüber reden) verwendet Datenpuffer beim Anzeigen von Werten. Datenpuffer ist fast ein einfaches Array. Seine Besonderheit liegt in der Tatsache, dass dieses Array teilweise vom Terminal verwaltet wird. Das Terminal ändert das Array so, dass beim Empfang jeder neuen Leiste eine Verschiebung stattfindet. Es wird für den Zweck getan, dass jedes Arrayelement einer bestimmten Leiste entspricht. Die maximale Anzahl der gezeigten Datenpuffer in einem Indikator ist 8. Es mag jetzt seltsam erscheinen, aber bald werden Sie verstehen, dass es nicht anders sein könnte. Denken Sie daran, dass es einen separaten Datenpuffer für jede Zeile in Alligator gibt. Jeder Datenpuffer hat seine eigenen Parameter, nach denen das Terminal sie zeichnet. In unserem Fall gibt es 3 Puffer, die auf folgende Weise beschrieben werden können: Der erste Puffer wird durch eine feste grüne Linie in einer Breite 3 gezeichnet. Der zweite Puffer wird durch eine gestrichelte Linie von roter Farbe und Breite 1 gezeichnet. Der dritte Puffer Wird durch eine feste blaue Linie bei einer Breite 2 gezeichnet. Es ist nicht notwendig, dass ein Indikator einen Puffer zeichnet. Es kann für Zwischenberechnungen verwendet werden. Deshalb kann die Anzahl der Puffer größer sein als du siehst. Aber die wichtigste Eigenschaft des Datenpuffers ist, dass jedes Pufferelement einer bestimmten Leiste eines Diagramms entsprechen sollte. Denken Sie daran nur daran. Bald wirst du sehen, wie das in einem Code funktioniert. Nun wollen wir einen Schluß auf unsere kleine Exkursion ziehen. Jeder Indikator hat folgende Parameter: einen oder mehrere Datenpuffer (wenn auch nicht unbedingt) zur Darstellung seiner Werte oder für Zwischenberechnungen. Jeder Puffer hat seinerseits seine eigenen Parameter, die definieren, wie es gezeichnet wird und ob es gezeichnet wird. Zum Beispiel: zeichnen Sie den Wert in Form eines Histogramms, Symbols oder Zeilen, welche Farbe und Art, wo der Indikator gezeichnet werden soll (in einem Diagrammfenster oder in einem Unterfenster), wenn das Kennzeichen in einem Unterfenster gezeichnet wird, sollten wir den Bereich begrenzen Oder sollte die Skalierung automatisch erfolgen. Stellen Sie sicher, dass Sie alle diese Parameter klar verstehen. Jetzt werden wir einen Wizard verwenden, um einen benutzerdefinierten Indikator zu erstellen. Erstellen eines benutzerdefinierten Indikators Starten Sie MetaEditor. Select File-gtNew: Dann sehen wir ein Fenster Expert Advisor Wizard. Wählen Sie Custom Indicator. Klicken Sie auf Weiter: Füllen Sie die Felder aus. Autor und Link. Alles ist wie üblich hier, aber jetzt können Sie Parameter hinzufügen. Was sind diese Parameter sind gemeinsame Variablen, die von einem Benutzer eingestellt werden können. Und was ist wichtig, diese Variablen können in einem Indikator-Code verwendet werden. Die Anwendung von Parametern ist offensichtlich - Sie ermöglichen es Benutzern, einige Aspekte der Indikatoroperation einzurichten. Das kann alles sein, was man sich wünscht. Zum Beispiel, Zeitrahmen zu verwenden, Betriebsart, Anzahl der Balken für die Mittelung etc. Als Beispiel wollen wir versuchen, einen Parameter hinzuzufügen, der die Anzahl der für die Berechnung der Indikatorwerte verarbeiteten Balken anzeigt. Wo kann es verwendet werden Stellen Sie sich vor, dass Ihr Indikator Ihren Prozessor wegen zu vieler Berechnungen ernsthaft belastet. Und Sie ändern oft den Zeitrahmen des Charts und sehen nur die letzten 100-200 Bars an. Dann brauchst du keine anderen Berechnungen, die Zeit verschwenden. Dieser Parameter hilft Ihnen in einer solchen Situation. Natürlich wird es in unserem Indikator nichts schwieriges geben, das die Computerressourcen verschwenden kann. Dies ist nur eine Variante der Verwendung von Indikatorparametern. Also, zum Hinzufügen eines Parameters klicken Sie auf Hinzufügen (1). Danach können Sie einen Variablennamen (2) ändern. In unserem Fall ersetzen wir es für barsToProcess. Sie können auch den Anfangswert (3) ändern, d. h. den Standardwert. Ändere es in 100. Außerdem können Sie den Variablentyp ändern. Aber in unserem Fall müssen wir nichts ändern, denn Typ int passt perfekt zu unseren Zwecken. Nachdem alle notwendigen Änderungen vorgenommen wurden, klicken Sie auf Weiter: Es ist fast fertig. Geben Sie nun an, wie der Indikator gezeichnet werden soll. In einem separaten Fenster oder in einem Diagrammfenster. Sie können auch die Reichweite einschränken. Check Indicator im separaten Fenster. Unten ist ein leeres Feld Indizes (Datenpuffer). Hier können Sie die notwendige Anzahl von Datenpuffern hinzufügen (maximal 8). Außerdem können Sie immer einen Puffer später hinzufügen oder löschen, indem Sie den Code ändern. Klicken Sie auf Hinzufügen, um einen Puffer hinzuzufügen. Jetzt kannst du die Art und Weise ändern, wie der Puffer gezogen wird: Zeile. Histogramm Abschnitt . Pfeil . Wir werden nichts ändern, also ist unsere Art Linie. Richten Sie die Farbe ein und klicken Sie auf OK. Schließlich ist dein erster Indikator bereit Nun, es zieht nichts, aber es ist ein Code Die Datei mit dem Quellcode ist im Ordner mit Indikatoren: MetaTrader4expertsindicators. Lassen Sie uns jede Zeile analysieren Jetzt lassen Sie uns sehen, was Meta Editor erstellt hat: Wie üblich enthält der Kopf, der aus Einzeilen-Kommentaren besteht, die Informationen, die Sie früher geschrieben haben. Weiter: Erinnern Sie sich noch an die Präprozessor-Direktive, die Sie aus dem zweiten Artikel definieren. Wir haben es für die Konstantenerklärung verwendet. Also, hier ist eine weitere Richtlinie für die Bezeichnung der spezifischen Eigenschaften eines Indikators verwendet. In unserem Fall wird es für die Anzeige der Urheberschaft verwendet. Bitte beachten Sie, dass mit dem Sonderzeichen beginnt. Dann geht die Schlüsselwort-Eigenschaft (ohne Leerzeichen). Dann kommt eine konkrete Eigenschaft, die wir setzen wollen, in unserem Fall ist es urheberrechtlich geschützt. Und dann den Wert dieser Eigenschaft. In unserem Fall ist es eine Zeile mit deinem Namen. Mit der Richtlinie können Sie viele spezifische Aspekte des Indikators einrichten. Sie werden es jetzt sehen. Alle diese Eigenschaften werden standardmäßig eingerichtet. Lass uns weiter gehen: Diese Richtlinie zeigt, wie man den Autor kontaktiert. Sie können fragen, wo diese Informationen (die Autoren Namen und Kontaktinformationen) ist, weil es nicht überall angezeigt wird. Aber es ist in der ausführbaren Datei enthalten. Und wenn Sie die ausführbare Datei als einen gemeinsamen Text sehen, sehen Sie diese Informationen: Diese Anweisung zeigt an, dass der Indikator in einem separaten Unterfenster gezeichnet werden muss. Wie Sie sehen, gibt es keine zusätzlichen Parameter, im Unterschied zu der vorherigen Richtlinie. Diese Richtlinie gibt an, wie viele Datenpuffer vom Indikator verwendet werden. Sie haben vielleicht bemerkt, dass Richtlinien in irgendeiner Weise ähnlich den gemeinsamen Funktionen sind: Sie akzeptieren auch einige Parameter und tun etwas als Antwort. Aber es gibt einen wichtigen Unterschied: Sie werden in erster Instanz (vor der Kompilierung) ausgeführt. Geben Sie die Standardfarbe für den ersten Puffer an. Beachten Sie, dass die Puffer-Numerierung von einem beginnt. Nicht von null Versuchen Sie, sich daran zu erinnern, damit Sie in Zukunft keine Verwirrung haben. Die Farbe wird mit einem von vielen vorgegebenen Namen angezeigt. Sie können Schlüsselwörter für alle verfügbaren Farben in der Hilfe sehen: MQL4 Referenz - gt Standard Konstanten - gt Web-Farben. Ähnlich können Sie die Farbe für andere Puffer angeben, ändern Sie einfach die Pufferzahl. Dies ist unser Parameter des Indikators. Wir haben es in den Zauberer gesetzt. Beachten Sie, dass der einzige Unterschied zu einer gemeinsamen Variablen das Schlüsselwort extern vor dem Variablentyp ist. So sieht der Parameter für einen Benutzer beim Indikatorstart aus: Dies ist ein übliches Array. Aber die Dimensionalität ist nicht angegeben und die Initialisierung wird nicht durchgeführt. Dieses Array wird später als Datenpuffer eingerichtet. Dann erklären und beschreiben wir Funktionen. Im Unterschied zu einem üblichen Skript hat jeder Indikator 3 Funktionen, nicht 1: init () - diese Funktion wird vom Terminal nur einmal aufgerufen, wenn wir das Indikator starten. Sein Ziel ist es, den Indikator für den Betrieb vorzubereiten, Datenpuffer einzurichten, Parameter zu überprüfen (was ein Benutzer geschrieben hat) und andere vorbereitende Handlungen. Diese Funktion ist nicht obligatorisch. Wenn Sie keinen Code in ihm ausführen, können Sie ihn löschen. Deinit () - diese Funktion wird auch nur einmal genannt, wenn du einen Indikator aus einem Diagramm löscht. Sie sollten den Indikator für die Beendigung seines Betriebs vorbereiten. Zum Beispiel schließen Sie geöffnete Dateien, löschen Sie grafische Objekte aus der Datei (keine Sorge, Sie werden lernen, wie man es macht). Diese Funktion ist auch nicht obligatorisch. Start () - im Unterschied zu den Skripten, in Indikatoren wird diese Funktion bei jedem Tick aufgerufen. I. e. Wenn neue Zitate aus dem Währungspaar erscheinen, in das Diagramm, in dem Sie das Kennzeichen beigefügt haben, wird diese Funktion aufgerufen. Außerdem wird diese Funktion beim Indikatorstart, d. h. nach der Funktion init () aufgerufen. Lassen Sie uns sehen, was in jeder Funktion passiert: Hier sehen wir den Aufruf von zwei wichtigen Funktionen zum Setzen eines Datenpuffers: Diese Funktion legt fest, wie man den Datenpuffer zeichnet Der erste Parameter gibt an, auf welchen Puffer die Änderung angewendet werden soll. Bitte beachten Sie, dass in dieser Funktion (und ähnlichen Funktionen) die Puffer-Numerierung von Null beginnt, nicht von einem wie in Richtlinien. Es ist ein wichtiger Moment, also sei vorsichtig. Der zweite Parameter gibt an, wie man den ausgewählten Puffer zeichnet In unserem Fall verwenden wir die konstante DRAWLINE. Was zeigt, dass der Puffer als Zeile gezeichnet wird. Natürlich gibt es noch andere Konstanten, aber wir werden später darüber sprechen. Diese Funktion bindet ein Array an eine Puffernummer. I. e. Es zeigt an, dass der Puffer mit der angegebenen Nummer das angegebene Array zum Speichern von Daten verwendet. Wenn Sie also die Elemente dieses Arrays ändern, werden Sie den Wert des Puffers ändern. Eigentlich ist ein Array ein Datenpuffer. Das erste Argument ist der Name des Arrays, das gebunden werden soll. Ende der Funktion, Null zurückgeben - die Initialisierung war erfolgreich. Die Funktion der Deinitialisierung ist standardmäßig leer. Jetzt kommt die wichtigste Funktion - der Hauptcode befindet sich hier. Achtung: Die variablen Zählleisten werden vorher deklariert, sie wird durch die Funktion IndicatorCounted () initialisiert. Diese Variable wird in der Regel für die Optimierung und Beschleunigung der Indikatoroperation verwendet, dies wird später analysiert. Und nun lasst uns etwas im Indikatorfenster zeichnen. Beenden des Indikators Lassen Sie uns entscheiden, was angezeigt werden soll. Was wird der Indikator zeigen uns etwas einfaches. Zuerst können wir zufällige Zahlen zeichnen. Warum nicht Das garantiert 50 Gewinnsignale. Lasst uns in unsere Funktion init () einen Code für die Initialisierung des Generators von Zufallszahlen schreiben: Die Initialisierung ist fertig, nun kommt die Funktion start (): Compile - F7. Starten Sie das Terminal, finden Sie das Panel Navigator. Wählen Sie den Abschnitt Benutzerdefinierte Indikatoren und doppelklicken Sie auf den Namen unserer Indikator: Die Anzeige wird dem aktiven Diagramm beigefügt: Sie sehen, alles funktioniert. Jetzt sehen wir, was der Code tut: Wir verwenden den Zyklus, um alle Elemente des Datenpuffers zu durchlaufen. Da ein bestimmter Balken jedem Element des Puffers entspricht. Wir benutzen den Zyklus, ausgehend von der Null-Bar (die letzte verfügbare) und endet mit dem ersten verfügbaren, die nacheinander ein kleiner ist als die variablen Stäbe (weil wir Stäbe von Null zählen). Bei jeder Iteration wird ein Zähler um eins erhöht, und wir bewegen uns von dem letzten verfügbaren Balken zum ersten, wobei gleichzeitig jedem Pufferelement (das einer bestimmten Leiste entspricht) eine Zufallszahl von 0 bis 1000 zugewiesen wird. Wenn dies der Fall ist Schwierig für Sie zu verstehen, wie ein bestimmtes Pufferelement einer bestimmten Leiste entspricht, versuchen, den Zyklus auf folgende Weise zu ändern und das Ergebnis im Terminal zu sehen: Nun zeigt die Anzeige die Anzahl der einzelnen Balken an. Schau: Du siehst, die Stabnummer steigt vom letzten Stab zum ersten (von 0 zu Stäben). Hoffe jetzt verstehst du die Korrespondenz von Puffer-Elementen zu Bars auf dem Diagramm. Lasst uns nun wieder in den Code des zufälligen Indikators zurückkehren. Wenn du es mindestens ein paar Minuten benutzt hast, würdest du sehen, dass jeder Indikator Tick absolut anders zeichnet. I. e. Jeder Tick macht Rekalkulationen von dem, was die vorherige Zeit berechnet wurde. Das ist für uns unpraktisch, weil wir nicht einmal sehen können, was passiert ist. Aber das spielt keine Rolle, denn niemand wird einen solchen Indikator verwenden - wir lernen einfach, es zu schreiben. Es gibt noch eine Sache Stellen Sie sich vor, Ihr Indikator macht viele komplexe Berechnungen und die Berechnung eines Stabes erfordert große Prozessorressourcen. In einem solchen Fall, wenn ein neuer Preis erscheint, berechnet Ihr Kennzeichen den Wert für jede verfügbare Leiste, auch wenn es früher getan wurde. Ist es klar, anstatt nur einmal zu berechnen, wird es immer wieder berechnen. Die Beseitigung solcher Probleme im Zusammenhang mit unangemessenen Ressourcenverschwendung wird als Optimierung bezeichnet. Wie können wir dieses Problem lösen? Normalerweise geschieht es auf folgende Weise. Zuerst wird ein Indikator auf alle verfügbaren Leuchter berechnet, und erst dann, wenn Anführungszeichen empfangen werden, wird der Wert nur für den letzten Leuchter neu berechnet. Das ist vernünftig - keine unnötigen Handlungen. Nun wollen wir den Funktionsstart () optimieren. So dass es auf folgende Weise funktioniert: Lassen Sie uns jede Zeile analysieren: Wir deklarieren die variablen Zählbänke, die die Anzahl der vom Indikator berechneten Balken speichern. Eigentlich gibt die Funktion IndicatorCounted () die Anzahl der unveränderten Balken nach dem vorherigen Aufruf der Funktion start () zurück. Also, wenn es der erste Start () Aufruf ist, gibt IndicatorBars () 0 zurück. Denn alle Bars sind für uns neu. Wenn es nicht der erste Anruf ist, ist nur der letzte Takt gewechselt, also IndicatorBars () gibt eine Zahl gleich zu Bars-1 zurück. Hier ist eine weitere Variable, die als Limiter verwendet wird. D. h. wird dem Zyklus helfen, früher fertig zu sein, wobei bereits berechnete Leuchter auslassen. Wie bereits erwähnt, wenn IndicatorCounted () 0 zurückgibt, wird der Funktionsstart () zum ersten Mal aufgerufen und alle Takte sind neu für uns (der Indikator wurde nicht für sie berechnet). Aber wenn es nicht der erste Aufruf von start () ist, wird der Wert gleich Bars-1 zurückgegeben. Also, diese Bedingung verfolgt eine solche Situation. Danach vermindern wir die variablen Zählbögen um 1. Nur die letzte Leiste kann geändert werden, also warum machen wir das. Die Tatsache ist, es gibt einige Situationen, wenn das letzte Tick der vorherigen Bar unverarbeitet bleibt, denn wenn das letzte Tick kam, wurde das letzte Tick verarbeitet. Und der benutzerdefinierte Indikator wurde nicht angerufen und wurde nicht berechnet. Deshalb verringern wir die variablen Zählbänke um 1, um diese Situation zu beseitigen. Hierzu weisen wir dem Variablenlimit (der Limiter) die Anzahl der letzten Balken zu, die neu berechnet werden müssen Während die variablen Zählbänke die Anzahl der bereits berechneten Leuchter speichert, finden wir einfach den Unterschied zwischen Bars (die Gesamtzahl der verfügbaren Takte) und die Zählbänke für die Definition, wie viele Leuchter berechnet werden müssen. Der Zyklus selbst hat sich fast nicht verändert. Wir haben nur den Zustand der Umsetzung geändert. Nun wird der Zyklus durchgeführt, während der Zähler i kleiner als Limit ist. Jetzt ist die Optimierung vorbei. Wenn Sie die aktualisierte Version des Indikators beachten, sehen Sie, dass, wenn ein neues Häkchen empfangen wird, der Wert nur des letzten Taktes sich ändert. Versuchen Sie, eine solche Optimierung ständig zu verwenden, auch wenn Ihr Indikator nichts schwieriges berechnet. Das ist haut ton. Erinnern Sie sich an einen Indikatorparameter barsToProcess, den wir im Assistenten hinzugefügt haben. Jetzt ist es höchste Zeit, es zu benutzen. Wir müssen einfach ein paar Zeilen vor dem Zyklus hinzufügen: Sie sehen, alles ist ganz einfach. Wir prüfen, ob Limit mehr ist als barToProcess. Wenn ja, verringere den Limiter durch Zuweisung. Als Ergebnis, wenn wir barToProcess100 setzen, sehen Sie ein Bild wie: Wie Sie sehen, wird nur die Anzahl der von uns gesetzten Balken berechnet. Unser Indikator ist fast fertig. Aber wir haben keine klaren Signale für den Eintritt in den Markt. Also müssen wir mehr Sicherheit hinzufügen. Zu diesem Zweck verwenden wir Ebenen. Ebenen sind horizontale Linien, die durch den Indikator mit einem bestimmten Stil, Farbe und Breite gezeichnet werden. Es ist anzumerken, dass die maximale Anzahl von Ebenen auf einer Bar 8 ist. Außerdem kannst du Levels mit Hilfe von Direktiven oder Funktionen einstellen. Es ist besser, die erste Variante zu verwenden, wenn Sie standardmäßig Level einstellen möchten. Für die dynamische Änderung der Ebenen während der Indikatoren Betrieb verwenden Funktionen. Also lassen Sie uns zwei Ebenen setzen: die erste auf den Punkt 800, die zweite - 200. Zu diesem Zweck wollen wir mehrere Richtlinien zu Beginn des Indikator-Codes hinzufügen: Lassen Sie uns neue Richtlinien analysieren: Diese Anweisung zeigt, dass die Stufe 1 Sollte Orte an der Stelle 800.0 sein. Achten Sie darauf, dass die Pufferzählung mit 1 beginnt. Wie in den Richtlinien für Puffereinstellung. Für die Einrichtung einer anderen Ebene, einfach ändern Sie die Level-Nummer am Ende einer Richtlinie: Es gibt eine wichtige Einschränkung bei der Einstellung der externen Form der Ebenen. Sie können diese Ebene nicht einzeln einrichten. Alle Einstellungen werden absolut auf alle Ebenen angewendet. Wenn Sie jede Ebene einzeln einrichten müssen, sollten Sie Objekte verwenden (und überhaupt keine Level verwenden), die im nächsten Artikel beschrieben werden. Diese Richtlinie setzt Farbe. Die zum Zeichnen aller Ebenen verwendet werden. Diese Anweisung setzt die Breite für das Zeichnen von Zeilen aller Ebenen. Sie können die Breite von 1 bis 5 einstellen. Vergiss nicht, dass, wenn eine Breite mehr als 1 ist, die Ebenen in einer durchgezogenen Linie gezeichnet werden. Wenn Sie einen anderen Stil der Zeichnungsebenen benötigen, verwenden Sie nur die Breite 1. Diese Anweisung setzt Stil für das Zeichnen von Linien. Es gibt folgende voreingestellte Konstanten: STYLESOLID - durchgezogene Linie STYLEDASH - gestrichelte Linie STYLEDOT - gepunktete Linie STYLEDASHDOT - strichpunktierte Linie STYLEDASHDOTDOT - strichpunktierte Linie mit doppelten Punkten Wir haben die Entwicklung unserer zufälligen Indikatoren beendet. Jetzt können wir die Quelldatei mit einem passenden Namen speichern - randomIndicator. mq4. Kompilieren Sie die Quelldatei erneut. Diese Anzeige wird auch im folgenden Teil verwendet. Die endgültige Version sollte so aussehen: Funktion iCustom Jetzt lassen wir uns auf eine sehr nützliche Funktion - iCustom. Es wird verwendet, um Werte eines benutzerdefinierten Indikators zu erhalten. Denken Sie daran, für eingebaute Indikatoren verwenden wir Funktionen für die Arbeit mit technischen Indikatoren, die im vorherigen Artikel beschrieben wurden (zB: iADX (), iMACD etc.). Für alle anderen Indikatoren (benutzerdefinierte Indikatoren) die Funktion iCustom verwenden. Diese Funktion ist universell einsetzbar und kann auf jeden benutzerdefinierten Indikator angewendet werden, der die folgenden Anforderungen erfüllt: Der Indikator ist kompiliert und in Form einer ausführbaren Datei (.ex4) befindet sich das Indikator im Ordner MetaTrader 4expertsindicators Der Funktionsprototyp hat die Folgendes Formular: Symbol definiert, welche finanzielle Sicherheit (Währungspaar) für die Berechnung eines benutzerdefinierten Indikatorwerts verwendet werden soll. Verwenden Sie NULL (oder 0), wenn Sie die aktuelle (aktive) Sicherheit (Chart) benötigen. Zeitrahmen definiert, auf welchem Zeitrahmen (Periode) der Indikator verwendet werden soll. Verwenden Sie 0 für die aktuelle Periode oder eine der Konstanten (PERIODM1, PERIODM5, PERIODM15, PERIODM30, PERIODH1, PERIODH4, PERIODD1, PERIODW1, PERIODMN1). Benennen Sie den Namen der ausführbaren Datei des benutzerdefinierten Indikators. Nur der Name sollte angegeben werden: Schreiben Sie nicht die Erweiterung (.ex4) oder den Pfad zur Datei (Expertenindikatoren). Wenn zum Beispiel der Name der ausführbaren Datei des benutzerdefinierten Indikators RandomIndicator. ex4 ist, sollten Sie RandomIndicator schreiben. Das Register hier ist nicht relevant. Es bedeutet, dass du RANDOMindicator schreiben kannst und es wird funktionieren. . Hier sollten Sie alle Werte der benutzerdefinierten Indikatorparameter angeben. Zum Beispiel gibt es in unserem Indikator RandomIndicator nur einen Parameter - barsToProcess. I. e. In unserem Fall schreiben wir hier 100 (oder jede andere für Sie wert). Wenn die Anzahl der Parameter mehr als eins ist, werden die in der gleichen Reihenfolge angezeigt, wie sie in der benutzerdefinierten Anzeige deklariert sind, Komma getrennt. Jetzt werden wir versuchen, einen Indikator zu schreiben, der auf dieser Funktion basiert und du wirst es besser verstehen. Modus der Betriebsart der benutzerdefinierten Anzeige. Eigentlich ist es die Nummer des Datenpuffers, dessen Wert Sie erhalten möchten. Die numerierung beginnt von null (nicht wie in richtlinien). Wenn der benutzerdefinierte Indikator nur einen Datenpuffer hat, sollte dieser Parameter gleich 0 sein. Verschiebung definiert, in welcher Leiste die benutzerdefinierte Anzeige verwendet werden soll. Anwendungsbeispiele: Signalindikator Jetzt werden wir noch einen einfachen Indikator schreiben. Also stell dir die folgende Situation vor. Sie haben einen ziemlich komplexen Indikator mit vielen Datenpuffern geschrieben. Viele von ihnen werden in einem separaten Fenster angezeigt, andere werden für Zwischenberechnungen verwendet. Sie kennen genau Signale zu kaufen und zu verkaufen. Aber die Schwierigkeit ist, es ist sehr schwer, die Signale zu verfolgen. Sie müssen ständig in Ihren Monitor schauen und versuchen, Kreuzungslinien zu finden, die über Ebenen oder darunter liegen. Deshalb entscheiden Sie, einen weiteren Indikator zu schreiben, der es für Sie tun könnte und würde Ihnen nur die Eintrittssignale zeigen. Zum Beispiel könnten diese Pfeile zeigen, in welche Richtung Sie Positionen öffnen sollten. Dies ist nur eine Phantasie, bei der ein Signalindikator geeignet sein könnte. Unsere Situation ist viel einfacher, aber immer noch ähnlich wie die erste. Wir schreiben eine Signalanzeige auf der Grundlage des vorherigen Indikators RandomIndicator. Zuerst müssen wir die Einreisebedingungen definieren - hier benötigen wir unsere Level. So werden die Bedingungen folgendes sein: Wenn sich eine Linie über die obere Ebene (800.0) bewegt, kauft man, wenn sich eine Linie unter die untere Ebene (200.0) bewegt, verkaufe Jetzt ist es höchste Zeit, einen neuen Indikator zu schreiben. Verwenden Sie Expert Advisor Wizard, um ein neues benutzerdefiniertes Kennzeichen zu erstellen. Fügen Sie einen weiteren Parameter wie im vorherigen Fall hinzu: Und der letzte Schritt (Zeichnungseigenschaften des Custom-Indikator-Programms) sollte folgendes sein: Zuerst fügen Sie zwei Datenpuffer hinzu, die zum Zeichnen von Signalen zum Kauf und Verkauf in Form von Pfeilen verwendet werden . Ändern Sie die Art der Datenpuffer in Pfeil. Ändern Sie Farben und Symbolcodes. Unten sind alle verfügbaren Symbolcodes: Wir müssen den Indikator nicht in einem separaten Fenster zeichnen, denn wir werden im Chartfenster Signale zeichnen. Wir verwenden zwei Datenpuffer, weil wir mit nur einem Puffer keine anderen Pfeile (Symbole) zeichnen können. Jeder Datenpuffer, der in Form von Symbolen angezeigt wird, kann nur durch ein Symbol gezeichnet werden. Nun wollen wir sehr aufmerksam den Indikator-Initialisierungscode analysieren: Achten Sie darauf, dass nun eine weitere Konstante für die Art der Datenpufferzeichnung verwendet wird - DRAWARROW: Wir sehen auch zwei neue Funktionen, die zur Einstellung der Symbolzeichnung verwendet werden. SetIndexArrow wird verwendet, um festzulegen, welches Symbol einen Puffer darstellt. Das erste Argument ist die Pufferzahl. Der zweite ist der Symbolcode, der den Indikator repräsentiert: SetIndexEmptyValue wird für die Anzeige eines leeren Wertes verwendet. Es bedeutet, dass wir den Wert angeben, an dem wir nichts zeichnen müssen. Es ist sehr praktisch in unserem Fall, da Signale nicht auf jeder Bar erzeugt werden. Es funktioniert folgendermaßen: Wenn wir kein Array auf die aktuelle Leiste zeichnen müssen, ordnen Sie dem entsprechenden Datenpuffer ein leerer Wert zu, in unserem Fall ist es 0. Das erste Argument der Funktion ist die Nummer des Datenpuffer Der zweite ist der leere Wert: Der verbleibende Initialisierungscode setzt Puffer analog dem zufälligen Indikator, den wir früher analysiert haben. Jetzt beenden wir den Code in der Funktion start (): Der ganze Code, bis der Zyklus aus dem zufälligen Indikator wiederholt wird. Tatsächlich ist dieser Code in jedem Indikator Standard und wird mit kleinen Änderungen wiederholt. Nun wollen wir den Zyklus in Details analysieren: Zuerst deklarieren wir den Variablen randomValue (zufälliger Wert) und weisen ihm den Wert unseres zufälligen Indikators auf dem aktuellen Balken zu. Zu diesem Zweck verwenden wir die Funktion iCustom: Wenn der Wert der zufälligen Anzeige mehr als die obere Ebene (800) ist, ist dies ein Signal zu kaufen: Andernfalls, wenn es kein Buy-Signal gibt: Wenn der Wert des zufälligen Indikators ist Unterhalb der unteren Ebene (200), ist dies ein Sell-Signal: Ansonsten, wenn es kein Sell-Signal: Dies war der Zyklus. Kompilieren Sie den Indikator und starten Sie ihn im Terminal: Über den Style No, das ist nicht die Regeln der Wahl einer Krawatte, um einen Mantel und ein Hemd anzupassen, obwohl es immer rechtzeitig ist. Der Programmierstil ist sehr wichtig, wenn du deinen Code nicht nur für dich selbst schreibst. Eigentlich hat jeder Entwickler seinen eigenen Programmierstil. Jeder entwirft Zyklen auf seine eigene Weise, macht verschiedene Einkerbungen (oder gar keine Einkerbungen), deklariert Variablen etc. Sie sollten Ihren eigenen Programmierstil finden, den Sie immer später verwenden werden. Ich möchte Ihnen einige Empfehlungen geben, die Ihnen helfen, Ihren Code einfach zu lesen und zu verstehen: Schreiben Sie nicht viele Operationen in einer Zeile Semikolon getrennt () schreiben Namen von Variablen und Funktionen in Englisch in Variablennamen verwenden Großbuchstaben Da Trennzeichen den übermäßigen Gebrauch von Abkürzungen und Verkleinerungen in den Namen von Variablen und Funktionen vermeiden, machen Einschnitte einer bestimmten Länge, um sogar Codeblöcke in jedem neuen Körper (eines Zyklus oder einer Bedingung) zu haben, machen zusätzliche Einschnitte machen die Gruppierung von Ein-Typ Variablen machen richtige Kommentare für große und schwierige Codeblöcke machen richtige Kommentare für die von Ihnen geschriebenen Funktionen (ihre Zuordnung, Parameter) Fazit Sie haben heute etwas Neues gelernt. Sie haben zwei einfache Indikatoren geschrieben. Nun, sie sind nutzlos, aber ich lehre dich nicht erfolgreich zu handeln Du hast gesehen, wie Indikatoren funktionieren, welche Parameter und Eigenschaften sie haben. Sie haben gelernt, Puffer zu setzen und mit ihnen zu arbeiten. Sie haben einige neue Funktionen kennengelernt. Die Funktion iCustom ist sehr wichtig und wird auch in Expert Advisors weiter genutzt. Wenn Sie irgendwelche Schwierigkeiten treffen, lesen Sie den Artikel noch einmal und versuchen zu verstehen. Wenn Sie noch einige Fragen haben, zögern Sie bitte nicht, Foren zu benutzen oder Kommentare an den Artikel zu schreiben. Moving Averages (MAs) gehören zu den am häufigsten verwendeten Indikatoren in Forex. Sie sind einfach einzustellen und leicht zu interpretieren. Sprechen einfache, gleitende Durchschnitte messen einfach die durchschnittliche Verschiebung des Preises während eines bestimmten Zeitraums. Es glättet die Preisdaten, um Markttrends und Tendenzen zu sehen. So verwenden Sie Moving Averages Moving Average ist ein Trendindikator. Neben seiner offensichtlichen einfachen Funktion hat ein Moving Average viel mehr zu erzählen: Im Forex gleitenden Durchschnitt wird verwendet, um zu bestimmen: 1. Preisrichtung - up, down oder seitwärts. 2. Preisstandort - Handelsvorurteil: über Gleitender Durchschnitt - Kauf, unter Umzugsdurchschnitt - Verkauf. 3. Preisdynamik - der Winkel des beweglichen Mittels: steigender Winkel - Impuls hält, fallender Winkel - Impuls pausiert oder stoppt. 4. Preisunterstützungsniveaus. Arten von Moving Averages SMA - Simple Moving Average - zeigt den durchschnittlichen Preis für einen bestimmten Zeitraum. EMA - Exponential Moving Average - gibt den aktuellsten Daten Vorrang und reagiert so schneller auf Preisänderungen als Simple Moving Average. WMA - Weighted Moving Average - legt den Schwerpunkt auf die aktuellsten Daten auf weniger - auf ältere Daten. Die meisten gängigen Einstellungen für Moving Averages in Forex 200 EMA und 200 SMA 100 SMA 50 SMA 34 SMA 20 EMA und 20 SMA 10 EMA und 10 SMA Versuchen Sie und testen Sie und wählen Sie dann Ihre Lieblings-Moving Averages. Moving Average Video Presentation Andere Versionen von Moving Averages Neben traditionellen EMA-, SMA - und WMA-Indikatoren gibt es für alle Forex-Händler mehrere andere Arten von MAs: Copyright-Kopie Forex-Indikatoren Displaced Moving Average (DMA) ist Ihr regulärer Moving-Durchschnitt mit nur dem Unterschied Es wurde in der Zeit verschoben (entweder rückwärts oder vorwärts). Um DMA zu machen, addieren wir den Shift-Wert: Ein negativer Wert würde eine Verschiebung rückwärts bedeuten - damit dein Moving-Durchschnitt hinter dem Preis N Anzahl der Intervalle bleibt. Solche Displaced Moving Durchschnitt ist in der Lage, den Preis in einem Trend besser zu halten. Ein positiver Wert würde eine Verschiebung nach vorn verursachen - ein solcher Displaced Moving Durchschnitt wird zu einem führenden Indikator, der in gewissem Maße dazu beiträgt, die nächsten Moves zu antizipieren. Ich habe 5ema, 10ema und 20ema benutzt. Und wenn die 5ema über beide 10und20ema kreuzen. Ich gehe lange und umgekehrt. Bitte sag mir, es ist okay Cos ist neu im Forexhandel. Awooooooooooooo Es ist sicher Ok. Es ist eine bekannte Technik im Handel. Kann mir jemand sagen, was der beste bewährte gleitende Durchschnitt auf deiner Erfahrung basiert Hängt davon ab, was du willst. Schnellere Trends - 20 SMA, mittlere Trends - 50 SMA, längere Trends - 100 oder 200 SMA. Wenn du den Moving-Durchschnitt nicht nur für die Suche nach Trends nutzen willst, sondern dir auch schnell Schnellsignale geben wirst, dann brauchst du eine kleinere MA - 10 EMA, die am meisten benutzt wird. Hallo, Im jeffryloo deine Erklärung ist sehr einfach zu verstehen. Ich gebe dir 5 Start. Wie ich benutze ich die 50.100, amp 200 MAs aber mach die 100 exponentiell. Die 50 bietet tolle Trend-Info und alle drei bieten hervorragende dynamische Unterstützung Widerstand. Ich weiß, das mag verrückt klingen, aber für mich ist der beste kurzfristige Durchschnitt ein Kanal aus dem 8 geglätteten MA hoch und der 8 geglättete MA niedrig. Dies bietet eine ausgezeichnete Trendrichtung und hilft, Sie auf die seitliche Bewegung aufmerksam zu machen und bei der Ermittlung des Ausbruchs zu helfen. Dies bietet auch eine überlegene dynamische Unterstützung. Offensichtlich ist dies nicht auf ein Kreuz verlassen, sondern mehr auf Preis-Aktion in Bezug auf den Kanal, der sehr mächtig ist, wenn mit ein paar Indikatoren wie RSI amp ATR kombiniert. Ich mache ihnen jede andere Farbe, nur um es einfach zu machen, die hohe und niedrige des Kanals zu erkennen. Vielen Dank für die Bereitstellung von Indikatoren und Erklärungen schwer zu finden irgendwo anders. Du hast mir mehr geholfen, als du dir vorstellen kannst. Kann das Management sagen, m oder jemand mit kompetenten Forex Trading Erfahrung. Was sind die besten entweder EMA oder SMA und Zahlen für den Handel der 15 Minuten Charts mit einer langfristigen 68 Stunden bis zu 12 Stunden Aussicht Markt Richtung. Plus, wenn Sie auch besser erklären könnte genau das, was gemeint ist durch die oben genannten Blog-Post in Bezug auf die Screenshot der Verschiebung Moving Average (DMS) Einstellungen bedeuten. Dh: Ist es für die Zeitrahmen-Chart, die man handelt, und die jeweilige Anzahl von Kerzenstöcken 3 auf dem Markt (vor dem aktuellen Marktpreis) und bzw. der entsprechenden negativen -3 Anzahl der Kerzenstäbe hinter dem aktuellen Marktpreis relevant. Vielen Dank John, wenn du eine glattere MA - SMA wünschst, wäre besser. Wenn Sie schneller benötigen MA - nehmen Sie EMA. Smoothing out hilft, einige falsche Spikes zu vermeiden, aber es verzögert auch Ein - und Ausgangssignale. Während mit EMA youll viel schneller Reaktion auf Preisänderungen haben, aber es wird mit einer erhöhten Rate von falschen Signalen kommen. Das ist der Unterschied. Alles hängt von einem Handelssystem ab, bei dem sowohl EMA als auch SMA effektiv für den Handel auf 15 min TF eingesetzt werden können. -10 Shift für den Moving-Durchschnitt verschiebt einfach die Indikator X Anzahl der Balken auf dem Chart für den aktuellen Zeitrahmen: minus zehn würde bedeuten, dass die Verschiebung 10 bar hinter ist, plus 10 würde es 10 Balken nach vorne verschieben. Danke für deinen tollen Job Hi. Ich habe gerade eine schnelle frage Ist es möglich, einen gegebenen Moving Average negativ zu verschieben und immer noch die Linie (MA) auf der aktuellen Kerze zu zeigen, anstatt hinter der Anzahl der vertriebenen Kerzenwert zu liegen. Ich glaube nicht, dass dies auf MT4 möglich ist, wenn ja, gibt es einen separaten Indikator, der genau das tun kann Danke und ich hoffe, meine Frage ist klar genugMTF Dashboard Thread Joined Feb 2007 Status: Member 938 Beiträge Da gab es mehrere Anfragen, um Änderungen vorzunehmen Verschiedene Versionen dieser Art von Display Ich dachte es am besten, um seine eigenen Thread zu starten, so wäre es einfacher, sie zu finden. Ich weiß, dass ich Anfragen bekommen werde, um dies hinzuzufügen und das anzupassen. Alles, was ich frage, ist, dass die Anfragen gut durchdacht sind und nicht nur auf einem schnellen Impuls basieren und dass die Anfragen genaue prägnante Details haben. Ich bin kein Verstand. Das bedeutet nicht, dass ich auf jeden Wunsch antworten werde. Ich werde tun, was ich kann, wenn ich die freie Zeit habe, es zu tun. HINWEIS. Ich habe mehrere Anfragen gehabt, die Möglichkeit zu haben, die Anzahl der Zeitrahmen auszuwählen und welche Indikatoren zu zeigen oder zu verbergen, der grundlegende Code-Typ in diesen Indikatoren würde nur etwa eine Gesamtumschreibung benötigen, um dies zu tun und als solche bin ich nicht bereit zu tun Es ist zu diesem Zeitpunkt. Das MTF Preis Dashboard ist die Ausnahme von diesem und hat diese Eigenschaften. Bitte beachten Sie, es ist nicht genug, um zu fragen, ich möchte ein Armaturenbrett von Indikator X-Indikator X kann viele Möglichkeiten, ein Signal zu produzieren, könnte es sein - Steigung der Linie Kreuz der Ebenen Extreme Indikator X Kreuz Indikator X Indikator X Kreuz Preis Indikator X Cross-Indikator Y und so weiter so in Zukunft, wenn es keine Informationen gegeben oder nichts, um die Anfrage zu sichern, werde ich diese Anfrage ignorieren. Ich habe die ursprüngliche Version von SakibFX (forexfactoryshowthre 66758amppage341 Post 6,807) aktualisiert und haben die Stochastischen Zahlen auf den Bars hinzugefügt. Angehängtes Bild (zum Vergrößern anklicken) Die neue Version hat einen zusätzlichen MA-Satz von Bars hinzugefügt und die Stochastischen Zahlen. Diese Version hat ziemlich viele Unterschiede mit der Farbdarstellung, die standardmäßig auf Option 2 eingestellt ist, die verschiedenen Setups sind 1 Wenn die "Use Chart Colors False" und "Use Chart Candle Colours False" verwenden. Alle Farbeinträge sind vom Benutzer 2 Verwenden Sie Diagrammfarben zutreffend und verwenden Sie Diagramm-Kerze-Farben falsches. Der Anzeige-Rand, der Hintergrund und die Zeitrahmen - und Indikatornamen werden automatisch auf verschiedene Diagrammfarben eingestellt und nur die Stabfarben und die stochastischen Zahlen können Benutzer eingestellt werden 3 Wenn das Diagramm Diagramm Farben zutreffend ist und Use Chart Candle Colors True quot The Display Border, Background and the timeframe and indicator names are automatically set to various Chart colours plus the Bar colours are set to the Bar Up and Bar Down colours, only use this setting if you are using different candle colours than the default colours, this matches the display to your custom coloured chart. HINWEIS. I have removed the MTF Dashboard v1 indicator as it had a small fault in the code and MTF Dashboard v1a is the fixed version. MTF DashBoard v1a. ex4 64 KB 1,478 download Uploaded Jan 11, 2015 8:12pm The above Dashboard versions 1a is basically the same as the Symbol version but without the Symbol code, MA Shift and Heiken Ashi candles option. To load the Dashboard into a separate window as in the screenshot you will need to open an indicator window or use the supplied MT Window indicator. IMPORTANT. To use the Dashboard indicators with the Heiken Ashi Candles option you must have the standard Heiken Ashi indicator in your indicator folder. MT Window. ex4 1 KB 1,188 download Uploaded Jan 11, 2015 9:06pm NOTE. 22012015 altered the shift code on both Dashboard Symbol indicators as there was a minor graphic alignment issue when using the Corner shift input to put the Dashboard into the lower two corners of a chart. MTF DashBoard v Symbol. ex4 76 KB 1,119 download Uploaded Jan 22, 2015 5:05am Note. The MTF Dashboard Symbol v1 indicator has Alerts added to the code, please take the time to check the Alerts out before asking questions. The Alerts can be set to Alert one indicator or all the indicators and have adjustable sound Alert numbers and frequency. I have deliberately left out email Alerts as MT4 has been having issues with sending them of late. MTF DashBoard v Symbol v1.ex4 161 KB 1,842 download Uploaded Jan 22, 2015 5:05am The only difference visually between the two MTF Dashboard Symbol indicators is the Alert symbols at the end of the bars as shown in the screenshot below. Attached Image (click to enlarge) This Dashboard using indicators as requested by moursi in the top right of the screenshot below. HINWEIS. I have updated the MTF Dashboard Indicator to be Multi Currency as originally moursi did not need it to be multi Currency but I added it at the last minute and somehow omitted to put a critical piece of currency symbol code into the indicator and I am some what surprised that after 39 downloads at least someone had not noticed MTF DashBoard Indicators. ex4 66 KB 1,775 download Uploaded Jan 16, 2015 3:43am This MTF Price Dashboard as requested by kofix11. This indicator uses a different code setup to the other Dashboard indicators and the user can select the currency pairs and time frames to suit their trading as shown on the screenshot below. HINWEIS. I have removed the original MTF Price Dashboard indicator and up dated it with the MTF Price Dashboard v1 which now has the Heiken Ashi bars or standard price bars option in the inputs. This indicator requires the standard Heiken Ashi indicator to be in your indicator folder. MTF Price Dashboard v1.ex4 58 KB 1,974 download Uploaded Jan 20, 2015 7:25am Attached Image (click to enlarge) 23012015. MTF MA Multi Pair Dashboard posted on Post 49 as there is no room left for any more attachments on this Post. Forexfactoryshowthre 03post8017603 26012015. MTF Dashboard v3 posted on Post 52 this is similar to the quotMTF Dashboard Symbol quot except for no display box border and the time frames and indicators are now selectable. Forexfactoryshowthre 42post8022642 04022015. MTF RSI Multi Pair Dashboard and MTF STOCH Multi Pair Dashboard posted on Post 65. forexfactoryshowthre. 98post8044298 05022015. MTF Multi Signal Multi Pair Dashboard posted on Post 73. This Dashboard uses MACD STOCH amp PRICE to generate signals if all three signals match then the Dashboard gives an UP or DOWN colour bar if no signal then a third colour is generated for the bar. Forexfactoryshowthre 42post8047342 17022015. MTF Multi Signal Multi Pair Dashboard Lite is posted on Post 128. The code has had the Timer() update code removed to make it less of a load on cpu when multi instances are loaded however the display will only update when the price on the chart the displays are loaded on updates. Forexfactoryshowthre 10post8072410 Trade what you see not what you hope As there have been several requests to make alterations for different versions of this type of display I thought it best to start its own thread so it would be easier to find them. I have updated the original version and it now has the Stochastic numbers on the bars as originally requested. The new version has an extra MA set of bars added and the Stochastic numbers. This version has quite a few differences with the colour display which by default is set to Option 2, the different setups are 1 If the quotUse Chart Colors False and. Hello cja thank you for sharing your ability with us very kind of you. Please could you add shift mode in the moving average and RSI 8 and 14 (2RSI8217s) if are overboughtoversold at 7030 or with flexible input option Regards, Moti As there have been several requests to make alterations for different versions of this type of display I thought it best to start its own thread so it would be easier to find them. I have updated the original version requested by SakibFX ( forexfactoryshowthre. 66758amppage341 Post 6,807 ) and have added the Stochastic numbers on the bars. The new version has an extra MA set of bars added and the Stochastic numbers. This version has quite a few differences with the colour display which by default. Thanks for such a fast fix, great job This will be a very useful indicator. Just try to make it more practically for use, can the color of the stochastic row to match the color of Heiken Ashi indicator. Also when the tf reaches to OSOB area, color changes to dark greendark red as below thx Attached Image (click to enlarge) Hi cja if it can custom the setting of stoch if it can monitor multiple currency pairs simultaneously, 28 pairs. These days quotDashBoardquot indicator. thx. Happy Newyear if it can custom the setting of stoch If you mean can you adjust the Stochastics the answer is yes you only have to look in the inputs to see that all the built in indicators are adjustable. These days quotDashBoardquot The term Dashboard is open to interpretation it can be Multi currency, multi indicator or a combo of both or for that matter any multi faceted display. Good idea though will have a look when I get some time. Motriam Please could you add shift mode in the moving average and RSI 8 and 14 (2RSI8217s) if are overboughtoversold at 7030 or with flexible input option Do you mean two separate RSIs or two RSIs together Just try to make it more practically for use, can the color of the stochastic row to match the color of Heiken Ashi indicator. Also when the tf reaches to OSOB area, color changes to dark greendark red as below It could be done however it is not a setup that really fits with the rest of the display, the standard Stochastics in the display give signals off the angle not the position of the line. Possibly the two RSIs idea from Motriam and the Stochastics could be combined into a different MTF Display The Heiken Ashi candles could possibly be an option for the candles row of bars Trade what you see not what you hope Joined Mar 2013 Status: Member 109 Posts This is really a useful dash - very nice unselfish new year gift. I see you are already getting various requests to change it. I just hope that it does not get too cumbersome from the various requests that usage may get limited for some. I actually(Demo till nxt week sometime) use it on my minimized charts(4 to 8) to get a quick continuous overview by utilizing the 10,20,50(10,20,50 system) and 200. (Traders - make sure you understand what I am doing before you do it too) I also have a request or two if you can fit it in: Candles: Support the idea of showing HA colours or Candle colour by choice Stoch: Would like a choice to showdisable this or any other indicator that is added that is not MACandle MA: Keep to 4 or give choice to disable those not needed. Timeframes: Would like a choice of which ones to display. Lower displayed timeframes tend to distract while on a specific timeframe - the next few higher timeframes are more relevant Thanks for your consideration. PS Also use your MACD Candles V4 on one of my templates - work wonderfully - Thanks for this too. Valid Signal - Trade it Cja thank you for the reply, I mean two separate RSIs, but I am not cleared how can I specify colours in dashboard if it is turning up from 30 to 70 area, or going down from 70 to 30 area Regards, Moti May be each RSI in to set divided in three lines showing it is moving in areas (greeter than 69) (in between 69-29) or (less then 29) areas it is just a thought but not sure. On this dashboard, stochastic green means the slow stochastic is going upward and stochastic red means it is moving downward direction. Thanks Success - Its not always what you see Thank you SakibFX, I understood it is correct and the same method can be applied in RSI also. Below I have attached 2 images EURUSD And NZDJPY which is on M15 Applied SMA 5 white Applied SMA 10 blue Applied SMA 20 Red And SMA 200 Yellow And Stoch 5,3,3 Please could you explain my question that in what parameters does Stoch has to agree with MA to place Sell order and in which condition is to be met to place Buy order and which time frame to be chosen to place orders. And also I want to know if STOCH and RSI work in the relatively same way If yes then no need to have RSI on dashboard and it is useless having stoch already. Attached Images (click to enlarge) Thank you SakibFX, I understood it is correct and the same method can be applied in RSI also. Below I have attached 2 images EURUSD And NZDJPY which is on M15 Applied SMA 5 white Applied SMA 10 blue Applied SMA 20 Red And SMA 200 Yellow And Stoch 5,3,3 Please could you explain my question that in what parameters does Stoch has to agree with MA to place Sell order and in which condition is to be met to place Buy order and which time frame to be chosen to place orders. And also I want to know if STOCH and RSI work in the relatively. Hello Motiram, thank you for asking. Id like to write my own opinions and hope pro traders will evaluate it EURUSD: So far I didnt notice any news or hope of euros gain against dollar. So, Id look for selling opportunities only, although keeping in mind eu is in oversold as well as in big support area, hence remaining cautious and not risking as much as usual. Technically, I go for short when I see all (or most) MA boxes quotturnquot red. On your chart, stochastic on most of the bigger TF are in oversold area but M15 is looking to go up. So, Id sell again when the M15 stochastic quotreturnsquot from its overbought area and also all (or maybe one if you risk much) MA boxes under M15 turn red one by one. In this case I wouldnt look at 200 sma personally. Ill cautiously buy this pair only when price will cross 20 sma and aggressively buy when price will retrace amp pullback at least once on quotmonthlyquot chart. I hope you can relate the scenario with the dashboard. NZDJPY: I never followed this pair but yet trying to explain according to dashboard. it will benefit myself as well. I wish I could trade all the pairs Well, this looks so confusing Let me check one by one. All monthly SMAs are green, MN stochastic is also green and in OB area. So this is obviously an uptrend But MN candle is red, plus most of the lower TF boxes are red, which means either its retracing or its the start of a downtrend, who knows Now lets look at W1 column. Colors tell me it is in the middle of somewhere which is later confirmed by stochastic reading 74. Stochastic is heading south (red color), probably looking to reach OS area so Id buy this pair only after W1 stochastic quotturnsquot green again and gets out of oversold area as well, no trade until then. If for any excuse I still want to trade this pair now, Id just look at H1 stochastic and place order (short term) when H1 stochastic and its 4 times (at least) bigger stochastic, H4, are in the same direction. I really dont know much about the difference between RSI amp stochastic but they look similar to me. I prefer H1 for placing orders, sometimes M15 or M5 for quick few pips. I hope I didnt make it too clumsy to explain. Please share your opinions too. Thanks amp regards. Success - Its not always what you see Hello Motiram, thank you for asking. Id like to write my own opinions and hope pro traders will evaluate it EURUSD: So far I didnt notice any news or hope of euros gain against dollar. So, Id look for selling opportunities only, although keeping in mind eu is in oversold as well as in big support area, hence remaining cautious and not risking as much as usual. Technically, I go for short when I see all (or most) MA boxes quotturnquot red. On your chart, stochastic on most of the bigger TF are in oversold area but M15 is looking to go up. Thank you SakibFX, for explaining how could the dashboard strategy can be used, has to be study I think for each pair independently which I do not have any idea it is very new but a CLEAVER TOOL I am loving it , in the case when market is volatile it is changing colours quickly (red to green, green to red) dancing may be have to select stable pairs and session for that to trade them, if I will comp up with any conclusion definitely I will share here. Thanks and Regards Moti Hello cja, hope youre doing absolutely fine there. I need another help from you which is adding a ringeralert in the MTF DashBoard when: 1. Candles in all TF turn the same color (bullishbearish), in other words Candle row turns full greenred. 2. Price in all TF are above or below SMA 5, in other words SMA 5 row turns full greenred. It would also be very helpful if you could code a MTF amp MTP dashboardtemplate with ringer that looks like in the file attached. I want to thank you again for helping us with your precious time amp effort. The job you and other programmers have been doing for this community is absolutely remarkable. Wish you all the very best in life.
Comments
Post a Comment