TradeXray TrendAutoLines
- Indikatoren
- Version: 2.22
- Aktivierungen: 10
TradeXray TrendAutoLines
Was es tut: Es zeichnet Trendlinien nach einer festen geometrischen Regel und verschiebt eine Linie niemals, nachdem sie einmal gezeichnet wurde.
Was es nicht tut: Es sagt Ihnen nicht, wann Sie kaufen oder verkaufen sollen, und es behauptet nicht, dass diese Linien einen statistischen Vorteil bieten. Wir haben keinen solchen Vorteil gemessen, daher behaupten wir auch nicht, dass es einen gibt.
Was überprüft wurde. Das „No-Repaint“-Verhalten ist nicht nur eine Aussage in dieser Beschreibung. Es wird durch ein automatisiertes Verifizierungs-Tool überprüft, und das Tool meldet null Abweichungen. Die zentrale Überprüfung besteht darin, dass die Platzierung der „As-of“-Achse zu einem vergangenen Zeitpunkt T genau dasselbe Bild ergibt wie das physische Abschneiden der Daten bei T.
Warum diese Beschreibung keine Zahlen enthält
Diese Beschreibung enthält keine Gewinnquote, keine Gewinnzahlen und keine Backtest-Ergebnisse. Das ist keine Formalität. Wir haben nicht getestet, ob diese Linien einen Vorhersagewert haben, daher gibt es nichts zu berichten. Was hier angeboten wird, ist eine vollständig niedergeschriebene Zeichnungsregel und eine maschinelle Überprüfung, ob das Tool dieser Regel folgt.
Die Zeichnungsregel
Pivots sind 5-Bar-Fraktale: Die mittlere Bar ist höher als die beiden Bars auf jeder Seite oder niedriger als die beiden Bars auf jeder Seite. Die halbe Breite ist eine Eingabegröße, daher sind 5 Balken der Standardwert und keine feste Konstante.
Innerhalb eines Scan-Fensters berücksichtigt der Indikator das Hoch des Intervalls und das Tief des Intervalls. Kommt das Hoch zuerst, handelt es sich um eine Abwärtsbewegung von diesem Hoch A bis zu diesem Tief B. Kommt das Tief zuerst, handelt es sich um eine Aufwärtsbewegung.
Bei einem Abwärtsabschnitt sind die drei Linien die ersten drei Kanten der oberen konvexen Hülle, ausgehend von A. Einfach ausgedrückt: Beginne horizontal bei A, drehe nach unten und zeichne bis zum ersten Hoch, auf das du triffst. Von diesem Punkt aus drehst du erneut. Dann noch einmal. Das sind die äußere, mittlere und innere Linie. Bei einem Aufwärtsabschnitt wird das gleiche Verfahren am unteren Hüllkurvenabschnitt spiegelbildlich angewendet.
Drei Linien pro Abschnitt, nicht mehr. Wenn Sie eine feinere Struktur wünschen, wechseln Sie zu einem niedrigeren Zeitrahmen. Die äußere Linie hat immer eine geringere Steigung als die mittlere Linie, und die mittlere Linie eine geringere Steigung als die innere Linie. Diese Reihenfolge ist eine Eigenschaft der Hülle, keine Einstellung.
Ankerpunkte können aus den Dochten oder aus den Körpern entnommen werden. Standardmäßig sind dies die „Wicks“, also Hochs und Tiefs. Wenn der Ankerpreis auf „Bodies“ gesetzt wird, werden stattdessen Eröffnungs- und Schlusskurse verwendet – sowohl für Pivots als auch für die Hull-Linie und die Zustandsprüfungen. Welche der beiden Interpretationen der Methode die richtige ist, haben wir noch nicht endgültig geklärt; daher werden beide angeboten, ohne dass eine davon als die einzig richtige dargestellt wird.
Was „kein Repaint“ hier bedeutet und wie dies überprüft wird:
Eine Linie wird im Moment der Erstellung des Sets an zwei Balken verankert, und diese beiden Ankerpunkte werden fixiert. Der Indikator schreibt sie niemals neu. Neue Markt-Hochs und -Tiefs fügen neue Sets hinzu; sie ändern keine alten.
Drei Dinge machen dies möglich. Die sich bildende Kerze wird niemals verwendet. Ein Pivot existiert erst, wenn die Kerzen rechts davon geschlossen sind. Und standardmäßig wartet der Indikator auf einen bestätigten entgegengesetzten Pivot nach B, bevor er überhaupt etwas zeichnet.
Das Verifizierungs-Harness führt dieselbe Zeichnungslogik außerhalb des Terminals an synthetischen Reihen und Zufallsbewegungen aus und überprüft bei jedem Balken jeder Reihe:
- Trunkierungsinvarianz: Das Ergebnis eines physisch auf t Balken gekürzten Arrays entspricht dem Ergebnis des vollständigen Arrays, das bei t reproduziert wird. Keine Abweichungen.
- Monotone Addition: Bereits aufgezeichnete Sätze werden niemals überschrieben, sondern nur angehängt. Keine Verstöße.
- Randinvarianz: Die drei Ränder eines aufgezeichneten Satzes ändern sich danach nie. Keine Abweichungen.
- „As-of“-Invarianz: Das Setzen der Achse auf einen vergangenen Zeitpunkt T entspricht dem Abschneiden der Daten bei T. Keine Abweichungen, über beide Hull-Modi, beide Anker-Modi, beide Ankerpreise sowie bei ein- und ausgeschalteter „Freeze“-Option hinweg.
Bitte interpretieren Sie diese Aussage eng, da wir sie eng formulieren. Das „Harness“ ist eine Portierung derselben Zeichnungslogik in eine andere Sprache. Es handelt sich nicht um eine zweite, unabhängig entwickelte Implementierung, und wir stellen es auch nicht als solche dar. Was die Überprüfung lohnenswert macht, ist die Art dessen, was sie testet: Es handelt sich um mathematische Eigenschaften der Ausgabe, wie beispielsweise die Invarianz bei Abschneidung, die eine vorausschauende Logik nicht erfüllen kann. Eine Portierung einer Regel, die einen Blick auf zukünftige Balken wirft, würde diese Prüfungen nicht bestehen, sondern aufgrund von Familienähnlichkeit durchfallen.
Es handelt sich um eine Prüfung der Zeichnungslogik, die außerhalb von MetaTrader ausgeführt wird. Es ist keine Aussage über das Marktverhalten und es ist keine Aussage darüber, dass die Linien nützlich sind.
Eine logische Konsequenz: Linien bewegen sich nicht, aber das bedeutet nicht, dass sich der Bildschirm nie verändert. Wenn der Kurs ein neues Hoch oder Tief erreicht, wird ein neuer Satz hinzugefügt, und alte Sätze verschwinden aus dem Chart, sobald die Anzeigegrenzen erreicht sind. Die alten Linien wurden nicht verschoben; sie wurden entfernt.
Die „As-of“-Achse und die beiden Griffpunkte
Eine vertikale Linie im Diagramm ist die „As-of“-Achse. Zieht man sie nach links, wird das gesamte Diagramm so neu gezeichnet, wie es zu diesem Zeitpunkt aussah: dieselben Datensätze, dieselben Zustände, dieselben Beschriftungen, ohne Berücksichtigung späterer Ereignisse. Eine zweite vertikale Linie legt den linken Rand des Scanbereichs fest.
Jede der beiden Linien verfügt über einen Griff, und der Griff zeigt den Wert an, den diese Linie steuert:
LINES :: AXIS 08.11 21:45 LINES :: RANGE 214
Das Wort davor ist eine Kurzbezeichnung für den Indikator, zu dem die Registerkarte gehört. Wenn ein zweiter Indikator im selben Chart ebenfalls eine „Stand-bei“-Registerkarte anzeigt, dient diese Bezeichnung dazu, die beiden auf einen Blick voneinander zu unterscheiden.
Der Handle ist eine kleine Registerkarte, kein Zusammenschluss mehrerer Teile. Er wird in Bildschirmpixeln und nicht auf dem Kursraster angelegt, sodass er bei jeder Zoomstufe dieselbe Größe und Form beibehält. Er ist in derselben Farbe wie das Bedienfeld ausgefüllt, und die Anzeige wird auf dieser Füllung gezeichnet. Ein zwei Pixel breiter Streifen an seinem linken Rand hat die Farbe der Linie, zu der die Registerkarte gehört, und anhand dieses Streifens lassen sich die beiden Registerkarten auf einen Blick unterscheiden.
Drücken Sie die linke Maustaste an einer beliebigen Stelle auf der Registerkarte und ziehen Sie. Die Linie folgt sofort. Davor gibt es keinen weiteren Schritt: Man wählt die Registerkarte nicht zuerst aus, man doppelklickt nicht darauf und man muss kein kleineres Ziel darin suchen. Der Indikator führt seine eigene Trefferprüfung anhand des von ihm gezeichneten Rechtecks durch, sodass der Bereich, der reagiert, aus der sichtbaren Registerkarte sowie einem drei Pixel breiten Rand um sie herum besteht.
Aus dieser Vorgehensweise ergeben sich drei Dinge, und sie sind der Grund, warum es so gehandhabt wird.
- Die Registerkarte ist kein auswählbares Diagrammobjekt, daher fügt MetaTrader niemals Auswahlmarkierungen darauf ein.
- Die Registerkarte hat keine Ziehpunkte. Sie kann nicht durch Ergreifen nahe einer Kante gestreckt, geneigt oder in der Größe verändert werden, sodass kein verzerrter Zustand entsteht, der wiederhergestellt werden müsste.
- Solange Sie die Registerkarte gedrückt halten, wird das horizontale Scrollen des Charts unterbrochen, sodass der Chart während des Ziehens nicht unter dem Cursor hervorschiebt. Der Indikator liest Ihre aktuelle Einstellung aus, bevor er sie ändert, und schreibt denselben Wert wieder zurück, wenn Sie loslassen. Der Wert wird auch dann zurückgeschrieben, wenn das Loslassen verpasst wird, beim nächsten Klick an einer beliebigen Stelle, beim nächsten Ziehen eines Objekts und wenn der Indikator entfernt wird.
Um die Registerkarte anzuheben, muss die Maustaste gedrückt werden, während sich der Zeiger bereits darauf befindet. Wenn man mit bereits gedrückter Taste auf die Registerkarte kommt, während ein anderer Ziehvorgang noch läuft, wird dieser Ziehvorgang nicht übernommen.
Wenn eine Registerkarte auf dem Panel zum Stillstand kommen würde, wechselt sie unter das Panel – und zwar erst dann. Wenn die beiden voneinander frei sind, bewegt sich die Registerkarte überhaupt nicht.
Registerkarten werden in Spuren platziert. Eine Spur ist eine Zeile in Bildschirmhöhe, und die Spurnummer ist eine Eingabe. Zwei Indikatoren, die beide eine „As-of“-Registerkarte zeichnen, werden in unterschiedliche Spuren platziert, sodass die Registerkarten übereinander liegen, anstatt sich gegenseitig zu überdecken. Bei einem Indikator auf dem Diagramm belässt die Standardspur die Registerkarte genau dort, wo sie sich sonst befinden würde.
Ein Tab kann auch nach oben und unten gezogen werden. Dort, wo Sie ihn ablegen, bleibt er auch: Der Spurversatz und der Panel-Dodge werden ab diesem Zeitpunkt ignoriert, da es sich bei beiden um Schätzungen handelt, die vorgenommen wurden, bevor Sie sich das Diagramm angesehen haben. Ein Tab kann nicht über den Rand hinaus abgelegt werden, sodass er jederzeit wieder aufgenommen werden kann. Das Verschieben einer Registerkarte nach oben oder unten ändert nichts außer der Position, an der die Registerkarte gezeichnet wird. Die Höhe bleibt nicht erhalten, wenn sich der Zeitrahmen ändert oder der Indikator neu geladen wird; sie beginnt wieder bei „InpHandleYPct“.
Standardmäßig können die vertikalen Linien nicht mit der Maus ausgewählt werden. Ein Klick darauf hat keine Wirkung, sodass eine Linie nicht versehentlich erfasst werden kann, während Sie auf dem Chart zeichnen, und ein versehentliches Verschieben der Achse verändert jede Linie, die das Tool zeichnet. Die Achse wird über die Registerkarte und das Bedienfeld verschoben. Wenn Sie „InpAsOfLineSelectable“ auf „true“ setzen, wird die übliche Art des Verschiebens eines Chart-Objekts wiederhergestellt: Wählen Sie die Linie aus und ziehen Sie sie dann. MetaTrader zeichnet kleine Auswahlmarkierungen auf einem ausgewählten Objekt, und „InpAsOfKeepSelected“ hält die Linien ausgewählt, sodass kein erster Klick erforderlich ist. Diese Einstellung wirkt sich nur aus, solange die Linien überhaupt ausgewählt werden können. Auf den Registerkarten erscheinen niemals Markierungen. „
“ Die beiden vertikalen Linien können auf vier verschiedene Arten gezeichnet werden, und diese Einstellung gibt es, weil wir nicht wissen, welche Sie in Ihrem eigenen Chart bevorzugen werden. „THIN“ ist die Standardeinstellung: Jede Linie wird als ein Pixel breite Linie gezeichnet, die sich in den Chart-Hintergrund einfügt, sodass sie zwar noch vorhanden sind, aber nicht mehr mit den Kerzen konkurrieren. „FULL“ entspricht den oben beschriebenen Linien – so, wie dieser Indikator sie vor der Einführung der Modi gezeichnet hat. „BOTH“ behält diese blassen Linien bei und fügt jeder von ihnen drei kurze Markierungen hinzu: am oberen Rand, in der Mitte und am unteren Rand des Fensters. „TICKS“ blendet die Linien vollständig in den Hintergrund ein und lässt nur die Markierungen sichtbar. MetaTrader bietet keine Transparenz für vertikale Linien, daher wird die Schwäche dadurch erzielt, dass die Linienfarbe in die Hintergrundfarbe des Charts gemischt wird; der Grad der Vermischung ist ein Eingabewert. Die Markierungen werden nicht verblasst, sodass jede die Farbe ihrer eigenen Linie behält und die Achse weiterhin vom Bereich unterschieden werden kann. Es gibt immer genau drei Markierungen pro Linie, unabhängig vom Inhalt des Charts: Die Anzahl ist im Code fest vorgegeben und wächst nicht mit der Anzahl der Balken. In jedem Modus, einschließlich TICKS, sind beide Linienobjekte weiterhin vorhanden und tragen ihre Zeitangaben bei sich; ein Modus ist also eine Änderung dessen, was Sie sehen, und nicht dessen, wie die Achse verschoben wird oder was daraus gezeichnet wird.
Das Verschieben der Achse zieht die Bereichslinie mit sich, sodass sich die Anzahl der Balken zwischen den beiden Linien nicht ändert. Die Achse gibt an, von welchem Zeitpunkt aus man betrachtet; der Bereich gibt an, wie weit man zurückblickt, und er wird eigenständig verschoben, wenn man dies ändern möchte. Wenn die Bereichslinie den ältesten Balken im Diagramm erreicht, bleibt sie dort stehen; die Achse bewegt sich weiter, und die Anzeige im Bedienfeld folgt der tatsächlich verbleibenden Entfernung, sodass die Änderung sichtbar und nicht unbemerkt bleibt. Das Verschieben der Achse zurück nach rechts erweitert den Bereich wieder auf den von Ihnen gewünschten Wert.
Dies ist derselbe Mechanismus wie die oben beschriebene Trunkierungsprüfung, die hier als Steuerelement bereitgestellt wird. Es dient dazu, das Tool überprüfbar zu machen, nicht um irgendwelche Aussagen über den Markt zu treffen.
Das Bedienfeld
Ein kleines, flaches Bedienfeld befindet sich in einer Ecke des Charts. Es besteht aus einfachen Rechtecken und Beschriftungen statt aus Plattform-Schaltflächen, hat also keine Abschrägungen und kein 3D-Design.
Es hat drei Zeilen:
– Den Stichtidszeitpunkt und eine Markierung mit der Aufschrift „LIVE“ oder „PAST“.
– Die Achsenzeile: eine Schaltfläche zum Zurückkehren zum Live-Modus.
– Die Bereichszeile: der aktuell gültige Bereich und eine Schaltfläche, die den Bereich auf den Wert in den Eingabefeldern zurücksetzt.
Die Schritte „minus fünfzig“, „minus zehn“, „plus zehn“ und „plus fünfzig Takte“ sind standardmäßig deaktiviert. Sind sie deaktiviert, werden die beiden Zeilen zu einer zusammengefasst, und das Bedienfeld ist zwei statt drei Zeilen hoch. Wenn man „InpShowAsOfSteps“ aktiviert, werden die acht Schaltflächen wieder eingeblendet und das Bedienfeld nimmt seine ursprüngliche Form an. Die Schaltfläche, die den Bereich zurücksetzt, bleibt in beiden Fällen erhalten: Wenn die Schrittweiten deaktiviert sind, wird der Bereich durch Ziehen der Bereichslinie geändert, die auf Werten wie 214 landet, und diese Schaltfläche dient als Rückweg zu einer runden Zahl. Ihre Beschriftung entspricht dem Wert in den Eingabefeldern, sodass sie gleichzeitig als Anzeige des konfigurierten Bereichs dient.
Die Zeit auf dem Bedienfeld und die Zeit auf dem Achsen-Handle beziehen sich immer auf denselben Balken, und dies ist der Balken, auf dessen Grundlage das Tool die Berechnung tatsächlich durchgeführt hat. Solange die Achse aktiv ist, ist dies der zuletzt geschlossene Balken, nicht der sich noch bildende Balken, auch wenn die vertikale Linie selbst auf dem sich bildenden Balken positioniert ist. Alles, was Zahlen angibt, bezieht sich auf den Balken, aus dem diese Zahlen stammen.
Das Panel misst seinen eigenen Text, bevor es sich anordnet, und wird breiter, wenn ein Wert nicht passt, sodass sich bei keiner Anzeigeskalierung etwas überlappt. Es kann in jeder der vier Ecken platziert werden und behält den von Ihnen festgelegten Rand zu der von Ihnen gewählten Ecke bei. Die Ecke, die Ränder und die beiden Schriftarten sind Eingabeparameter. Es kann vollständig deaktiviert werden; in diesem Fall ist der Indikator immer live und zeichnet überhaupt keine Steuerelemente.
Was es in das Protokoll schreibt
Zwei Zeilen beim Start. Die erste besagt, dass der statistische Vorteil dieser Linien nicht verifiziert wurde. Die zweite ist eine einzeilige Zusammenfassung der tatsächlich geltenden Einstellungen: Symbol, Zeitrahmen, Fraktalbreite, Fenster, Anker-Modus, Hull-Ende, Linienanzahl, festgelegte Quoten, Ankerpreis, Einfrieren, ob die Steuerelemente aktiviert sind und welcher der vier Linienmodi verwendet wird, gefolgt von einem einzeiligen Hinweis, dass „THIN“ und „BOTH“ die beiden vertikalen Linien unauffälliger machen.
Das ist standardmäßig alles. Die ausführliche Erklärung jeder Einstellung, die mehrere Absätze umfasst, ist nach wie vor vorhanden, wird jedoch nur angezeigt, wenn „InpDebugEvents“ aktiviert ist. Es wurde nichts gelöscht; es wurde lediglich hinter einen Schalter verschoben, denn ein Protokoll, das sich mit Erklärungen zum Indikator füllt, ist ein Protokoll, das man nicht mehr liest. Die erste Zeile befindet sich nicht hinter dem Schalter und wird es auch nie sein.
Linienzustände und wie man die Farben deutet
Jede Linie trägt eine kurze Bezeichnung, zum Beispiel D OUT T2 (Abwärtsbewegung, äußere Linie, zweimal berührt) oder D MID BRK T0 (Abwärtsbewegung, mittlere Linie, durchbrochen).
Berührungen und Durchbrüche werden anhand des Schlusskurses im Vergleich zu einer ATR-skalierten Toleranz bewertet; ein Docht, der eine Linie durchbricht, ohne dass der Schlusskurs jenseits dieser Linie liegt, wird daher nicht gezählt. Beide Schwellenwerte sind Eingaben. Es handelt sich um Arbeitsstandardwerte, nicht um kalibrierte Werte.
Vier Merkmale werden kodiert, und jedes hat seinen eigenen Kanal, sodass kein Kanal zwei Bedeutungen trägt:
– Um welche der drei Linien es sich handelt: Farbe. Die äußere Linie ist ein gedämpftes Gelb, die mittlere ein gedämpftes Rot, die innere ein gedämpftes Blau.
– Ob die Linie durchbrochen wurde: Linienstil. Durchgehend bedeutet intakt, gestrichelt bedeutet durchbrochen. Unterbrochene Linien erhalten keine eigene Farbe.
– Ob es sich um den neuesten Datensatz handelt: Helligkeit. Ältere Datensätze werden in einer dunkleren Variante derselben drei Farben dargestellt.
– Aus welchem Zeitrahmen der Datensatz stammt: Strichstärke. Höhere Zeitrahmen werden dicker dargestellt.
Alle sechs Farben sind Eingabeparameter, und das Ausblenden älterer Datensätze kann deaktiviert werden.
Zeitrahmen
Auf einem Chart können bis zu drei Zeitrahmen dargestellt werden. Standardmäßig wird nur der Chart-Zeitrahmen verwendet. Balken höherer Zeitrahmen werden erst nach ihrem Schlusskurs verwendet, wobei der Schlusskurs anhand des letzten geschlossenen Balkens des Charts selbst und nicht anhand der Terminal-Uhr ermittelt wird, sodass das Verhalten im Strategietester dem im Live-Betrieb entspricht. Linien höherer Zeitrahmen werden dicker dargestellt und ihre Beschriftungen geben den Zeitrahmen an.
Das Scan-Fenster wird in Balken des gerade verarbeiteten Zeitrahmens gezählt und nicht umgerechnet. Auf H4 entsprechen 120 Balken 20 Tagen. Die Bestätigungsverzögerung wird ebenfalls in Balken dieses Zeitrahmens gezählt.
Eingaben
Es gibt 62 Eingaben, die im Eigenschaftsdialog in sieben Gruppen unterteilt sind. Sie sind im Folgenden in acht statt sieben kurzen Listen aufgeführt, da die Panel-Einstellungen so für sich genommen leichter zu lesen sind; im Dialog befinden sie sich innerhalb der „As-of“-Gruppe. Jeder hier aufgeführte Standardwert entspricht der werkseitigen Voreinstellung.
Zeichenregel:
- InpDirMode: Abwärtsbewegungen, Aufwärtsbewegungen zeichnen oder automatisch entscheiden, welcher Extremwert zuerst kommt.
- InpFractalN: Halbbreite des Pivots in Bars. 2 bedeutet ein 5-Bar-Fraktal.
- InpScanBars: Länge des Scan-Fensters in Bars des gerade verarbeiteten Zeitrahmens. Standardwert 120.
- InpAnchorMode: Wo das Intervall beginnt. Fester Fensterrand oder Endpunkt des vorherigen Legs.
- InpMaxSpanBars: Obergrenze für die Intervalllänge im „Previous-Leg“-Modus, bevor auf ein festes Fenster zurückgegriffen wird.
- InpLineCount: Wie viele der drei Linien gezeichnet werden sollen, von 1 bis 3.
- InpRequireTurnPivot: Vor dem Zeichnen auf einen bestätigten Pivot in entgegengesetzter Richtung nach B warten.
- InpHullEnd: rechter Rand des Intervalls, das zur Erstellung der Hull-Linie verwendet wird. Bis zum aktuellen geschlossenen Balken oder bis zu B.
- InpFreezeOnBreak: Sobald die äußere Linie eines Abschnitts durch einen Schlusskurs durchbrochen wird, wird die Neuzeichnung dieses Abschnitts beendet.
- InpAnchorPrice: Dochte (Höchst- und Tiefstkurse) oder Körper (Eröffnungs- und Schlusskurse).
„As-of“-Achse und -Bereich:
- InpShowAsOfControls: Zeigt die beiden vertikalen Linien, deren Griffpunkte und das Bedienfeld an. „Aus“ bedeutet „immer live“.
- InpAsOfLineColor, InpFromLineColor: Farben der Achsenlinie und der Bereichslinie.
- InpAsOfLineWidth: Breite der beiden vertikalen Linien in Pixeln. Dickere Linien lassen sich leichter greifen.
- InpAsOfLineFront: Zeichnet die vertikalen Linien vor den Kerzen statt hinter ihnen.
- InpAsOfLineMode: Wie die beiden vertikalen Linien gezeichnet werden. „THIN“ ist die Standardeinstellung: jeweils eine dünne Linie, die sich in den Chart-Hintergrund einfügt. „FULL“ entspricht den Linien, wie sie vor der Einführung der Modi gezeichnet wurden. „BOTH“ umfasst diese blasse Linie plus drei Markierungen. „TICKS“ zeigt nur die Markierungen an. Die Achse und der Bereich funktionieren in allen vier Modi auf dieselbe Weise.
- InpAsOfLineFadePct: Wie stark THIN und BOTH eine Linie in den Chart-Hintergrund einblenden, von 0 bis 100. Standardwert ist 65. Werte außerhalb dieses Bereichs werden wieder in den Bereich zurückgeführt, was im Protokoll vermerkt wird.
- InpAsOfTickPx: Die Länge einer Tick-Markierung in Pixeln, die von BOTH und TICKS verwendet wird. Standardwert ist 18, der Wert wird auf einen Bereich zwischen 2 und 400 angepasst. Unabhängig von dieser Einstellung gibt es immer drei Markierungen pro Linie.
- InpAsOfLineSelectable: Ermöglicht das Auswählen und Verschieben der vertikalen Linien selbst. Standardmäßig deaktiviert, damit eine Linie nicht versehentlich ausgewählt werden kann. Die Registerkarten und das Bedienfeld verschieben die Achse weiterhin.
- InpAsOfKeepSelected: Die beiden vertikalen Linien bleiben ausgewählt. Standardmäßig deaktiviert; diese Option wirkt sich nur aus, wenn „InpAsOfLineSelectable“ aktiviert ist, da Markierungen nur auf auswählbaren Objekten gezeichnet werden.
- InpHandleLane: In welcher Spur werden die Registerkarten platziert (von oben gezählt)? Wenn Sie einem zweiten Indikator eine eigene Spur zuweisen, in der er seine eigene „As-of“-Registerkarte zeichnet, überlappen sich die Registerkarten nicht mehr. Das Hoch- oder Herunterziehen einer Registerkarte überschreibt sowohl die Spurzuordnung als auch die Ausweichfunktion des Panels, bis das Diagramm neu geladen wird.
- InpShowAsOfSteps: Zeigt die Tasten „minus fünfzig“, „minus zehn“, „plus zehn“ und „plus fünfzig“ auf dem Bedienfeld an. Standardmäßig deaktiviert, wodurch das Bedienfeld auf zwei Zeilen reduziert wird. „NOW“ und die Taste zum Zurücksetzen des Bereichs werden immer angezeigt.
- InpShowAsOfHandles, InpHandleFontSize, InpHandleYPct: Zeigt die Ziehpunkte, deren Textgröße und ihre Position im Diagramm an. Die Schriftgröße legt auch die minimale Breite eines Reiters fest; erhöhen Sie diese Einstellung also, wenn Sie einen größeren Bereich zum Ziehen wünschen.
- InpAsOfHandleFill: Zeichnet die Registerkarte ausgefüllt. Bei „Aus“ bleibt die Anzeige als reiner Text erhalten, und der Text dient dann nicht als Ziehziel, sodass die Achse stattdessen durch die Linien und die Tasten des Bedienfelds verschoben wird.
- InpDebugEvents: Die ausführliche Beschreibung der Einstellung und jedes Diagrammereignis werden im Protokoll ausgegeben. Standardmäßig deaktiviert. Dies ist ein Diagnoseschalter, über den Sie uns Informationen senden können, wenn ein Diagramm fehlerhaft angezeigt wird.
Panel:
- InpUiCorner: In welcher Ecke das Panel platziert wird.
- InpUiX, InpUiY: Ränder des Panels ab dieser Ecke, in Pixeln.
- InpUiSafeBottom: Platz, der am unteren Rand stets frei gehalten wird, für die Zeitskala.
- InpHudFontStamp, InpHudFontNum: die Schriftart für Beschriftungen und die Schriftart für Zahlen des Panels.
- InpKeyAffordance: Legt fest, welche Teile des Panels gedrückt werden können und welche nur zum Lesen dienen. RAISED ist die Standardeinstellung: Nur die Tasten verfügen über eine Fläche und einen Rahmen, und die Oberseite einer Taste ist einen Schritt heller hervorgehoben, sodass eine Anzeige wie „LIVE“ oder „PAST“ als einfacher Text erscheint. MARK markiert die Tasten ausschließlich mit einem Rahmen. OFF entspricht dem älteren Bedienfeld, bei dem eine Taste und eine Beschriftung gleich aussahen.
Zeitrahmen:
- InpTF1, InpTFEnable2, InpTF2, InpTFEnable3, InpTF3: bis zu drei Zeitrahmen in einem Diagramm.
- InpTFWidthStep: zusätzliche Linienbreite in Pixeln pro Schritt nach oben im Zeitrahmen. Bei Null bleiben die Breiten gleich.
- InpMaxSetsHTF: Anzahl der beibehaltenen Sets pro höherem Zeitrahmen in der aktuellen Richtung.
- InpMaxSetsOppHTF: Anzahl der Sets, die pro höherem Zeitrahmen in der entgegengesetzten Richtung beibehalten werden. Bei Null werden keine beibehalten.
Wie viel auf dem Bildschirm angezeigt wird:
- InpReplayBars: Anzahl der Balken, die die sequenzielle Wiedergabe zurückreicht, damit auch ältere Sets angezeigt werden.
- InpMaxSets: Anzahl der Sets, die im Chart-Zeitrahmen in der aktuellen Richtung beibehalten werden.
- InpMaxSetsOpp: Anzahl der Sets, die im Chart-Zeitrahmen in der entgegengesetzten Richtung beibehalten werden. Der Wert Null bedeutet, dass keine Sets beibehalten werden.
- InpMaxHistoryBars: Obergrenze für die Anzahl der gescannten Balken. Der Wert Null bedeutet, dass alle berücksichtigt werden.
Zustandsschwellenwerte:
- InpTouchTolATR: Abstand in ATR, innerhalb dessen ein Schlusskurs als Berührung der Linie gilt.
- InpBreakTolATR: Abstand in ATR jenseits der Linie, ab dem ein Schlusskurs als Durchbruch gilt.
- InpATRPeriod: ATR-Periode, die für die Berührungs- und Durchbruchstests verwendet wird.
Darstellung der Linien:
- InpOuterColor, InpMiddleColor, InpInnerColor: die drei Linien des neuesten Satzes.
- InpOuterColorOld, InpMiddleColorOld, InpInnerColorOld: dieselben drei Linien für ältere Sets.
- InpLineWidth: Linienbreite in Pixeln, bevor der Zeitrahmen-Schritt hinzugefügt wird.
- InpLineStyle: Stil für Linien, die noch nicht unterbrochen wurden.
- InpBrokenStyle: Stil für unterbrochene Linien. Muss sich von InpLineStyle unterscheiden.
- InpFadeOldSets: Ältere Sätze in dunkleren Farben zeichnen.
Beschriftungen:
- InpShowLabels: Die Zustandsbeschriftung am rechten Ende jeder Linie anzeigen.
- InpShowAB: Markiert den Anfang A und das Ende B des Intervalls.
- InpLabelFontSize: Schriftgröße der Zustandsbeschriftungen.
Jede numerische Eingabe, die einen Bereich hat, wird beim Start überprüft, und der Indikator verweigert die Ausführung, anstatt etwas Irreführendes darzustellen. Ein einziger Wert außerhalb seines Bereichs reicht aus: Der Startvorgang wird abgebrochen und das Protokoll nennt den Eingabewert, seinen Bereich und den von Ihnen eingegebenen Wert. Ein widersprüchliches Paar hat denselben Effekt, zum Beispiel eine Bruch-Toleranz, die kleiner ist als die Berührungstoleranz, oder ein unterbrochener Linienstil, der mit dem normalen Linienstil identisch ist. „InpAsOfLineFadePct“ und „InpAsOfTickPx“ sind die einzigen beiden Eingaben, die sich anders verhalten, und es handelt sich um die beiden oben beschriebenen: Ein Wert außerhalb ihres Bereichs wird in diesen gebracht, und das Protokoll vermerkt dies, anstatt den Startvorgang abzubrechen.
Was Sie installieren
Eine kompilierte Indikator-Datei. Es muss nichts weiter kopiert werden, keine Include-Dateien müssen manuell eingefügt werden, keine Bibliothek muss installiert werden, es erfolgt kein DLL-Aufruf und es besteht keinerlei externe Verbindung. Ziehen Sie die Datei einfach auf ein Chart und sie läuft.
Einschränkungen
– Keine Ein- oder Ausstiegssignale, keine Pfeile, keine Benachrichtigungen, kein Handel. Der Indikator zeichnet Linien und beschriftet sie.
- Kein Anspruch auf statistischen Vorteil. Ob diese Linien einen Vorhersagewert haben, wurde von uns nicht getestet.
- Die Linien erscheinen absichtlich mit Verzögerung. Ein Pivot benötigt den Schlusskurs der rechtsseitigen Kerzen, und standardmäßig wartet das Tool auf einen entgegengesetzten Pivot nach B. Bis dahin wird nichts gezeichnet. Diese Verzögerung ist der Preis dafür, dass die Linien nicht neu gezeichnet werden, und sie kann nicht beseitigt werden, ohne in die Zukunft zu blicken.
- Es werden nur Schlusskurse berücksichtigt. Eine Berührung oder ein Durchbruch des Dochtes wird nicht gezählt.
- Gleichstände werden nicht berücksichtigt. Wenn das Intervall-Hoch oder -Tief über mehrere Kerzen hinweg gleich ist, ist die Pivot-Bedingung nicht erfüllt und es werden zu diesem Zeitpunkt keine Linien gezeichnet. Dies ist die sichere Vorgehensweise, kein Workaround.
– Höhere Zeitrahmen benötigen historische Daten. Wenn Ihr Broker nicht genügend historische Daten für einen ausgewählten Zeitrahmen bereitstellt, wird für diesen Zeitrahmen nichts gezeichnet und eine Meldung in das Protokoll geschrieben.
- Der erste Zeichnungsdurchlauf wächst mit der Länge des Charts und wurde noch nicht auf einem echten Terminal zeitlich gemessen. Bei diesem ersten Durchlauf liest der Indikator jeden Balken aus, den der Chart enthält. InpMaxHistoryBars und InpReplayBars begrenzen die Erkennung und die Wiedergabe; sie begrenzen diesen ersten Lesevorgang jedoch nicht.
- Nach dem ersten Abruf durchgeführte Arbeit. Ein Tick, der keinen neuen Balken eröffnet, erzeugt überhaupt keine Zeichnung. Wenn ein Balken eröffnet wird, wird der Arbeitsaufwand durch „InpMaxHistoryBars“ begrenzt und nicht durch die Länge des Charts; dieselbe Begrenzung gilt auch, wenn Sie die Achse über mehrere Balken ziehen. Nichts davon wurde auf einem echten Terminal zeitlich gemessen; es handelt sich um eine Zählung des erforderlichen Arbeitsaufwands, nicht um eine Messung der benötigten Zeit, und es sagt nichts über die oben erwähnte erste Zeichnung aus. Die Pfade höherer Zeitrahmen unterliegen dieser Begrenzung nicht und lesen weiterhin ihre gesamte Reihe ein.
- Die vier Möglichkeiten zum Zeichnen der vertikalen Linien werden angeboten, da wir nicht wissen, welche zu Ihrem Chart passt, und wir keine für Sie festgelegt haben. Die „Faint“-Einstellung wird durch das Einmischen der Linienfarbe in die Hintergrundfarbe des Charts erzielt; wie blass eine bestimmte Einstellung wirkt, hängt daher von Ihrem Hintergrund ab.
- Der Speicherbedarf wächst mit der Anzahl der Balken im Chart und wird durch keine Einstellung begrenzt. Der Indikator speichert eine eigene Kopie der Chart-Reihe, sodass beim Verschieben der Achse diese nie neu eingelesen werden muss: acht Arrays mit jeweils acht Bytes pro Balken plus zwei mit je einem Byte, was 66 Bytes pro Balken ergibt, den das Terminal übergibt. Das ist eine Berechnung anhand der Quelldaten, keine Messung: Bei einem Chart mit drei Millionen Balken ergibt sich ein Wert von etwa einem Viertel Gigabyte, und wir haben diesen Wert auf einem laufenden Terminal noch nicht beobachtet. Falls Ihnen das wichtig ist, verringern Sie die Einstellung „Max. Balken im Chart“ in den Terminaleinstellungen; die eigenen Verlaufseinstellungen des Indikators ändern daran nichts.
- Für XAUUSD wurden Standardwerte gewählt. Der Indikator läuft auch auf anderen Symbolen, doch die Standardwerte wurden für diese nicht angepasst, und beim Start wird ein Hinweis in das Protokoll geschrieben.
- Die Schwellenwerte und die Fensterlänge sind funktionierende Standardwerte. Es handelt sich nicht um kalibrierte Werte, und diese Beschreibung gibt auch nicht vor, dass dies der Fall sei.
- Das Panel verwendet standardmäßig die Schriftarten „Bahnschrift“ und „Consolas“. MetaTrader ersetzt diese stillschweigend durch eine andere Schriftart, wenn sie nicht installiert sind, und bietet keine Möglichkeit, abzufragen, welche Schriftart tatsächlich verwendet wurde. Auf einem Rechner ohne diese Schriftarten funktioniert das Panel zwar weiterhin, sieht aber nicht wie vorgesehen aus. Beide Schriftarten sind Eingaben.
- Das Panel benötigt Platz. In einem Chartfenster, das schmaler als etwa 250 Pixel oder kürzer als etwa 100 Pixel ist, passt es nicht hinein und wird abgeschnitten statt ausgeblendet, da ein ausgeblendetes Panel nicht angeklickt werden kann.
- Die Achsenlinie, die Bereichslinie und die Ziehpunkte sind Chart-Objekte, die zum Indikator gehören. Ein manuelles Löschen deaktiviert die Funktion nicht; sie werden neu erstellt. Verwenden Sie stattdessen den Eingabeparameter, um die Steuerelemente zu deaktivieren.
- Die beiden vertikalen Linien sind gewöhnliche Chart-Objekte. Standardmäßig können sie überhaupt nicht ausgewählt werden, und bei aktivierter Einstellung „InpAsOfLineSelectable“ bleiben sie unmarkiert, sodass MetaTrader keine Auswahlmarkierungen darauf zeichnet und sie auf die übliche Weise verschoben werden: auswählen und dann ziehen. Ob die Auswahl einen oder zwei Klicks erfordert, ist eine Terminaleinstellung, die ein Indikator weder auslesen noch ändern kann. „InpAsOfKeepSelected“ hält sie stattdessen ausgewählt, was diesen Klick erspart und die Markierungen auf dem Bildschirm anzeigt. In beiden Fällen erscheinen die Markierungen niemals auf den Griffen.
– Das Ziehen eines Griffs hängt davon ab, ob das Terminal Mausbewegungsereignisse an den Indikator übermittelt. Der Indikator fragt diese beim Start vom Chart ab und stellt die Abfrage ein, sobald er entfernt wird. Wenn ein anderer Indikator im selben Chart diese Chart-Einstellung deaktiviert, reagieren die Griffe nicht mehr, und die Linien sowie die Schaltflächen des Panels bleiben als Möglichkeiten zum Verschieben der Achse erhalten.
– Das Anhalten des Chart-Scrollens, während ein Griff gehalten wird, ist eine chartweite Einstellung; wenn also zwei Indikatoren geladen werden, die dies beide tun, entscheidet derjenige, der zuletzt wiederhergestellt wird, über den verbleibenden Wert.
- Der Griff wird als ausgefülltes Bedienfeld im Bildschirmbereich gezeichnet, genauso wie das eigene Bedienfeld des Indikators. Inwieweit ein Griff eine Kerze überdeckt, wenn er zufällig über dem Kurs liegt, haben wir in einem Live-Chart nicht gemessen, und wir machen diesbezüglich keine Angaben.
- Wenn „InpAsOfHandleFill“ deaktiviert ist, gibt es keine Registerkarte, und die Anzeige wird zu einfachem Text, der kein Auswahlziel darstellt. Die Achse wird dann mit den Feldtasten oder – nach Aktivierung von „InpAsOfLineSelectable“ – mit den vertikalen Linien verschoben.
- Das Verifizierungs-Harness implementiert die Zeichenlogik außerhalb des Terminals neu und ist eher eine Portierung dieser Logik als ein eigenständiges Design. Es überprüft die Logik, nicht die kompilierte Datei.
Für wen dies wahrscheinlich nicht geeignet ist
- Alle, die nach Einstiegssignalen, Pfeilen, Warnmeldungen oder einem automatisierten System suchen.
- Alle, die ein Chart wünschen, bei dem sich die Linienkonstellation überhaupt nicht ändert, anstatt eines Charts, bei dem sich einzelne Linien nie verschieben.
- Alle, die vor dem Kauf den Nachweis benötigen, dass die Linien einen Vorteil bieten. Wir haben diesen Beweis nicht und werden ihn auch nicht erfinden.
Support
Bitte nutzen Sie den Kommentarbereich zum Produkt oder das Nachrichtensystem auf mql5.com. Fragen zur Funktion einer bestimmten Eingabe oder zu einem Chart, bei dem die Ausgabe falsch erscheint, sind willkommen. Bitte geben Sie dabei das Symbol, den Zeitrahmen und Ihre Eingabeeinstellungen an.
Was es tut: Es zeichnet Trendlinien nach einer festen geometrischen Regel und verschiebt eine Linie niemals, nachdem sie einmal gezeichnet wurde.
Was es nicht tut: Es sagt Ihnen nicht, wann Sie kaufen oder verkaufen sollen, und es behauptet nicht, dass diese Linien einen statistischen Vorteil bieten. Wir haben keinen solchen Vorteil gemessen, daher behaupten wir auch nicht, dass es einen gibt.
Was überprüft wurde. Das „No-Repaint“-Verhalten ist nicht nur eine Aussage in dieser Beschreibung. Es wird durch ein automatisiertes Verifizierungs-Tool überprüft, und das Tool meldet null Abweichungen. Die zentrale Überprüfung besteht darin, dass die Platzierung der „As-of“-Achse zu einem vergangenen Zeitpunkt T genau dasselbe Bild ergibt wie das physische Abschneiden der Daten bei T.
Warum diese Beschreibung keine Zahlen enthält
Diese Beschreibung enthält keine Gewinnquote, keine Gewinnzahlen und keine Backtest-Ergebnisse. Das ist keine Formalität. Wir haben nicht getestet, ob diese Linien einen Vorhersagewert haben, daher gibt es nichts zu berichten. Was hier angeboten wird, ist eine vollständig niedergeschriebene Zeichnungsregel und eine maschinelle Überprüfung, ob das Tool dieser Regel folgt.
Die Zeichnungsregel
Pivots sind 5-Bar-Fraktale: Die mittlere Bar ist höher als die beiden Bars auf jeder Seite oder niedriger als die beiden Bars auf jeder Seite. Die halbe Breite ist eine Eingabegröße, daher sind 5 Balken der Standardwert und keine feste Konstante.
Innerhalb eines Scan-Fensters berücksichtigt der Indikator das Hoch des Intervalls und das Tief des Intervalls. Kommt das Hoch zuerst, handelt es sich um eine Abwärtsbewegung von diesem Hoch A bis zu diesem Tief B. Kommt das Tief zuerst, handelt es sich um eine Aufwärtsbewegung.
Bei einem Abwärtsabschnitt sind die drei Linien die ersten drei Kanten der oberen konvexen Hülle, ausgehend von A. Einfach ausgedrückt: Beginne horizontal bei A, drehe nach unten und zeichne bis zum ersten Hoch, auf das du triffst. Von diesem Punkt aus drehst du erneut. Dann noch einmal. Das sind die äußere, mittlere und innere Linie. Bei einem Aufwärtsabschnitt wird das gleiche Verfahren am unteren Hüllkurvenabschnitt spiegelbildlich angewendet.
Drei Linien pro Abschnitt, nicht mehr. Wenn Sie eine feinere Struktur wünschen, wechseln Sie zu einem niedrigeren Zeitrahmen. Die äußere Linie hat immer eine geringere Steigung als die mittlere Linie, und die mittlere Linie eine geringere Steigung als die innere Linie. Diese Reihenfolge ist eine Eigenschaft der Hülle, keine Einstellung.
Ankerpunkte können aus den Dochten oder aus den Körpern entnommen werden. Standardmäßig sind dies die „Wicks“, also Hochs und Tiefs. Wenn der Ankerpreis auf „Bodies“ gesetzt wird, werden stattdessen Eröffnungs- und Schlusskurse verwendet – sowohl für Pivots als auch für die Hull-Linie und die Zustandsprüfungen. Welche der beiden Interpretationen der Methode die richtige ist, haben wir noch nicht endgültig geklärt; daher werden beide angeboten, ohne dass eine davon als die einzig richtige dargestellt wird.
Was „kein Repaint“ hier bedeutet und wie dies überprüft wird:
Eine Linie wird im Moment der Erstellung des Sets an zwei Balken verankert, und diese beiden Ankerpunkte werden fixiert. Der Indikator schreibt sie niemals neu. Neue Markt-Hochs und -Tiefs fügen neue Sets hinzu; sie ändern keine alten.
Drei Dinge machen dies möglich. Die sich bildende Kerze wird niemals verwendet. Ein Pivot existiert erst, wenn die Kerzen rechts davon geschlossen sind. Und standardmäßig wartet der Indikator auf einen bestätigten entgegengesetzten Pivot nach B, bevor er überhaupt etwas zeichnet.
Das Verifizierungs-Harness führt dieselbe Zeichnungslogik außerhalb des Terminals an synthetischen Reihen und Zufallsbewegungen aus und überprüft bei jedem Balken jeder Reihe:
- Trunkierungsinvarianz: Das Ergebnis eines physisch auf t Balken gekürzten Arrays entspricht dem Ergebnis des vollständigen Arrays, das bei t reproduziert wird. Keine Abweichungen.
- Monotone Addition: Bereits aufgezeichnete Sätze werden niemals überschrieben, sondern nur angehängt. Keine Verstöße.
- Randinvarianz: Die drei Ränder eines aufgezeichneten Satzes ändern sich danach nie. Keine Abweichungen.
- „As-of“-Invarianz: Das Setzen der Achse auf einen vergangenen Zeitpunkt T entspricht dem Abschneiden der Daten bei T. Keine Abweichungen, über beide Hull-Modi, beide Anker-Modi, beide Ankerpreise sowie bei ein- und ausgeschalteter „Freeze“-Option hinweg.
Bitte interpretieren Sie diese Aussage eng, da wir sie eng formulieren. Das „Harness“ ist eine Portierung derselben Zeichnungslogik in eine andere Sprache. Es handelt sich nicht um eine zweite, unabhängig entwickelte Implementierung, und wir stellen es auch nicht als solche dar. Was die Überprüfung lohnenswert macht, ist die Art dessen, was sie testet: Es handelt sich um mathematische Eigenschaften der Ausgabe, wie beispielsweise die Invarianz bei Abschneidung, die eine vorausschauende Logik nicht erfüllen kann. Eine Portierung einer Regel, die einen Blick auf zukünftige Balken wirft, würde diese Prüfungen nicht bestehen, sondern aufgrund von Familienähnlichkeit durchfallen.
Es handelt sich um eine Prüfung der Zeichnungslogik, die außerhalb von MetaTrader ausgeführt wird. Es ist keine Aussage über das Marktverhalten und es ist keine Aussage darüber, dass die Linien nützlich sind.
Eine logische Konsequenz: Linien bewegen sich nicht, aber das bedeutet nicht, dass sich der Bildschirm nie verändert. Wenn der Kurs ein neues Hoch oder Tief erreicht, wird ein neuer Satz hinzugefügt, und alte Sätze verschwinden aus dem Chart, sobald die Anzeigegrenzen erreicht sind. Die alten Linien wurden nicht verschoben; sie wurden entfernt.
Die „As-of“-Achse und die beiden Griffpunkte
Eine vertikale Linie im Diagramm ist die „As-of“-Achse. Zieht man sie nach links, wird das gesamte Diagramm so neu gezeichnet, wie es zu diesem Zeitpunkt aussah: dieselben Datensätze, dieselben Zustände, dieselben Beschriftungen, ohne Berücksichtigung späterer Ereignisse. Eine zweite vertikale Linie legt den linken Rand des Scanbereichs fest.
Jede der beiden Linien verfügt über einen Griff, und der Griff zeigt den Wert an, den diese Linie steuert:
LINES :: AXIS 08.11 21:45 LINES :: RANGE 214
Das Wort davor ist eine Kurzbezeichnung für den Indikator, zu dem die Registerkarte gehört. Wenn ein zweiter Indikator im selben Chart ebenfalls eine „Stand-bei“-Registerkarte anzeigt, dient diese Bezeichnung dazu, die beiden auf einen Blick voneinander zu unterscheiden.
Der Handle ist eine kleine Registerkarte, kein Zusammenschluss mehrerer Teile. Er wird in Bildschirmpixeln und nicht auf dem Kursraster angelegt, sodass er bei jeder Zoomstufe dieselbe Größe und Form beibehält. Er ist in derselben Farbe wie das Bedienfeld ausgefüllt, und die Anzeige wird auf dieser Füllung gezeichnet. Ein zwei Pixel breiter Streifen an seinem linken Rand hat die Farbe der Linie, zu der die Registerkarte gehört, und anhand dieses Streifens lassen sich die beiden Registerkarten auf einen Blick unterscheiden.
Drücken Sie die linke Maustaste an einer beliebigen Stelle auf der Registerkarte und ziehen Sie. Die Linie folgt sofort. Davor gibt es keinen weiteren Schritt: Man wählt die Registerkarte nicht zuerst aus, man doppelklickt nicht darauf und man muss kein kleineres Ziel darin suchen. Der Indikator führt seine eigene Trefferprüfung anhand des von ihm gezeichneten Rechtecks durch, sodass der Bereich, der reagiert, aus der sichtbaren Registerkarte sowie einem drei Pixel breiten Rand um sie herum besteht.
Aus dieser Vorgehensweise ergeben sich drei Dinge, und sie sind der Grund, warum es so gehandhabt wird.
- Die Registerkarte ist kein auswählbares Diagrammobjekt, daher fügt MetaTrader niemals Auswahlmarkierungen darauf ein.
- Die Registerkarte hat keine Ziehpunkte. Sie kann nicht durch Ergreifen nahe einer Kante gestreckt, geneigt oder in der Größe verändert werden, sodass kein verzerrter Zustand entsteht, der wiederhergestellt werden müsste.
- Solange Sie die Registerkarte gedrückt halten, wird das horizontale Scrollen des Charts unterbrochen, sodass der Chart während des Ziehens nicht unter dem Cursor hervorschiebt. Der Indikator liest Ihre aktuelle Einstellung aus, bevor er sie ändert, und schreibt denselben Wert wieder zurück, wenn Sie loslassen. Der Wert wird auch dann zurückgeschrieben, wenn das Loslassen verpasst wird, beim nächsten Klick an einer beliebigen Stelle, beim nächsten Ziehen eines Objekts und wenn der Indikator entfernt wird.
Um die Registerkarte anzuheben, muss die Maustaste gedrückt werden, während sich der Zeiger bereits darauf befindet. Wenn man mit bereits gedrückter Taste auf die Registerkarte kommt, während ein anderer Ziehvorgang noch läuft, wird dieser Ziehvorgang nicht übernommen.
Wenn eine Registerkarte auf dem Panel zum Stillstand kommen würde, wechselt sie unter das Panel – und zwar erst dann. Wenn die beiden voneinander frei sind, bewegt sich die Registerkarte überhaupt nicht.
Registerkarten werden in Spuren platziert. Eine Spur ist eine Zeile in Bildschirmhöhe, und die Spurnummer ist eine Eingabe. Zwei Indikatoren, die beide eine „As-of“-Registerkarte zeichnen, werden in unterschiedliche Spuren platziert, sodass die Registerkarten übereinander liegen, anstatt sich gegenseitig zu überdecken. Bei einem Indikator auf dem Diagramm belässt die Standardspur die Registerkarte genau dort, wo sie sich sonst befinden würde.
Ein Tab kann auch nach oben und unten gezogen werden. Dort, wo Sie ihn ablegen, bleibt er auch: Der Spurversatz und der Panel-Dodge werden ab diesem Zeitpunkt ignoriert, da es sich bei beiden um Schätzungen handelt, die vorgenommen wurden, bevor Sie sich das Diagramm angesehen haben. Ein Tab kann nicht über den Rand hinaus abgelegt werden, sodass er jederzeit wieder aufgenommen werden kann. Das Verschieben einer Registerkarte nach oben oder unten ändert nichts außer der Position, an der die Registerkarte gezeichnet wird. Die Höhe bleibt nicht erhalten, wenn sich der Zeitrahmen ändert oder der Indikator neu geladen wird; sie beginnt wieder bei „InpHandleYPct“.
Standardmäßig können die vertikalen Linien nicht mit der Maus ausgewählt werden. Ein Klick darauf hat keine Wirkung, sodass eine Linie nicht versehentlich erfasst werden kann, während Sie auf dem Chart zeichnen, und ein versehentliches Verschieben der Achse verändert jede Linie, die das Tool zeichnet. Die Achse wird über die Registerkarte und das Bedienfeld verschoben. Wenn Sie „InpAsOfLineSelectable“ auf „true“ setzen, wird die übliche Art des Verschiebens eines Chart-Objekts wiederhergestellt: Wählen Sie die Linie aus und ziehen Sie sie dann. MetaTrader zeichnet kleine Auswahlmarkierungen auf einem ausgewählten Objekt, und „InpAsOfKeepSelected“ hält die Linien ausgewählt, sodass kein erster Klick erforderlich ist. Diese Einstellung wirkt sich nur aus, solange die Linien überhaupt ausgewählt werden können. Auf den Registerkarten erscheinen niemals Markierungen. „
“ Die beiden vertikalen Linien können auf vier verschiedene Arten gezeichnet werden, und diese Einstellung gibt es, weil wir nicht wissen, welche Sie in Ihrem eigenen Chart bevorzugen werden. „THIN“ ist die Standardeinstellung: Jede Linie wird als ein Pixel breite Linie gezeichnet, die sich in den Chart-Hintergrund einfügt, sodass sie zwar noch vorhanden sind, aber nicht mehr mit den Kerzen konkurrieren. „FULL“ entspricht den oben beschriebenen Linien – so, wie dieser Indikator sie vor der Einführung der Modi gezeichnet hat. „BOTH“ behält diese blassen Linien bei und fügt jeder von ihnen drei kurze Markierungen hinzu: am oberen Rand, in der Mitte und am unteren Rand des Fensters. „TICKS“ blendet die Linien vollständig in den Hintergrund ein und lässt nur die Markierungen sichtbar. MetaTrader bietet keine Transparenz für vertikale Linien, daher wird die Schwäche dadurch erzielt, dass die Linienfarbe in die Hintergrundfarbe des Charts gemischt wird; der Grad der Vermischung ist ein Eingabewert. Die Markierungen werden nicht verblasst, sodass jede die Farbe ihrer eigenen Linie behält und die Achse weiterhin vom Bereich unterschieden werden kann. Es gibt immer genau drei Markierungen pro Linie, unabhängig vom Inhalt des Charts: Die Anzahl ist im Code fest vorgegeben und wächst nicht mit der Anzahl der Balken. In jedem Modus, einschließlich TICKS, sind beide Linienobjekte weiterhin vorhanden und tragen ihre Zeitangaben bei sich; ein Modus ist also eine Änderung dessen, was Sie sehen, und nicht dessen, wie die Achse verschoben wird oder was daraus gezeichnet wird.
Das Verschieben der Achse zieht die Bereichslinie mit sich, sodass sich die Anzahl der Balken zwischen den beiden Linien nicht ändert. Die Achse gibt an, von welchem Zeitpunkt aus man betrachtet; der Bereich gibt an, wie weit man zurückblickt, und er wird eigenständig verschoben, wenn man dies ändern möchte. Wenn die Bereichslinie den ältesten Balken im Diagramm erreicht, bleibt sie dort stehen; die Achse bewegt sich weiter, und die Anzeige im Bedienfeld folgt der tatsächlich verbleibenden Entfernung, sodass die Änderung sichtbar und nicht unbemerkt bleibt. Das Verschieben der Achse zurück nach rechts erweitert den Bereich wieder auf den von Ihnen gewünschten Wert.
Dies ist derselbe Mechanismus wie die oben beschriebene Trunkierungsprüfung, die hier als Steuerelement bereitgestellt wird. Es dient dazu, das Tool überprüfbar zu machen, nicht um irgendwelche Aussagen über den Markt zu treffen.
Das Bedienfeld
Ein kleines, flaches Bedienfeld befindet sich in einer Ecke des Charts. Es besteht aus einfachen Rechtecken und Beschriftungen statt aus Plattform-Schaltflächen, hat also keine Abschrägungen und kein 3D-Design.
Es hat drei Zeilen:
– Den Stichtidszeitpunkt und eine Markierung mit der Aufschrift „LIVE“ oder „PAST“.
– Die Achsenzeile: eine Schaltfläche zum Zurückkehren zum Live-Modus.
– Die Bereichszeile: der aktuell gültige Bereich und eine Schaltfläche, die den Bereich auf den Wert in den Eingabefeldern zurücksetzt.
Die Schritte „minus fünfzig“, „minus zehn“, „plus zehn“ und „plus fünfzig Takte“ sind standardmäßig deaktiviert. Sind sie deaktiviert, werden die beiden Zeilen zu einer zusammengefasst, und das Bedienfeld ist zwei statt drei Zeilen hoch. Wenn man „InpShowAsOfSteps“ aktiviert, werden die acht Schaltflächen wieder eingeblendet und das Bedienfeld nimmt seine ursprüngliche Form an. Die Schaltfläche, die den Bereich zurücksetzt, bleibt in beiden Fällen erhalten: Wenn die Schrittweiten deaktiviert sind, wird der Bereich durch Ziehen der Bereichslinie geändert, die auf Werten wie 214 landet, und diese Schaltfläche dient als Rückweg zu einer runden Zahl. Ihre Beschriftung entspricht dem Wert in den Eingabefeldern, sodass sie gleichzeitig als Anzeige des konfigurierten Bereichs dient.
Die Zeit auf dem Bedienfeld und die Zeit auf dem Achsen-Handle beziehen sich immer auf denselben Balken, und dies ist der Balken, auf dessen Grundlage das Tool die Berechnung tatsächlich durchgeführt hat. Solange die Achse aktiv ist, ist dies der zuletzt geschlossene Balken, nicht der sich noch bildende Balken, auch wenn die vertikale Linie selbst auf dem sich bildenden Balken positioniert ist. Alles, was Zahlen angibt, bezieht sich auf den Balken, aus dem diese Zahlen stammen.
Das Panel misst seinen eigenen Text, bevor es sich anordnet, und wird breiter, wenn ein Wert nicht passt, sodass sich bei keiner Anzeigeskalierung etwas überlappt. Es kann in jeder der vier Ecken platziert werden und behält den von Ihnen festgelegten Rand zu der von Ihnen gewählten Ecke bei. Die Ecke, die Ränder und die beiden Schriftarten sind Eingabeparameter. Es kann vollständig deaktiviert werden; in diesem Fall ist der Indikator immer live und zeichnet überhaupt keine Steuerelemente.
Was es in das Protokoll schreibt
Zwei Zeilen beim Start. Die erste besagt, dass der statistische Vorteil dieser Linien nicht verifiziert wurde. Die zweite ist eine einzeilige Zusammenfassung der tatsächlich geltenden Einstellungen: Symbol, Zeitrahmen, Fraktalbreite, Fenster, Anker-Modus, Hull-Ende, Linienanzahl, festgelegte Quoten, Ankerpreis, Einfrieren, ob die Steuerelemente aktiviert sind und welcher der vier Linienmodi verwendet wird, gefolgt von einem einzeiligen Hinweis, dass „THIN“ und „BOTH“ die beiden vertikalen Linien unauffälliger machen.
Das ist standardmäßig alles. Die ausführliche Erklärung jeder Einstellung, die mehrere Absätze umfasst, ist nach wie vor vorhanden, wird jedoch nur angezeigt, wenn „InpDebugEvents“ aktiviert ist. Es wurde nichts gelöscht; es wurde lediglich hinter einen Schalter verschoben, denn ein Protokoll, das sich mit Erklärungen zum Indikator füllt, ist ein Protokoll, das man nicht mehr liest. Die erste Zeile befindet sich nicht hinter dem Schalter und wird es auch nie sein.
Linienzustände und wie man die Farben deutet
Jede Linie trägt eine kurze Bezeichnung, zum Beispiel D OUT T2 (Abwärtsbewegung, äußere Linie, zweimal berührt) oder D MID BRK T0 (Abwärtsbewegung, mittlere Linie, durchbrochen).
Berührungen und Durchbrüche werden anhand des Schlusskurses im Vergleich zu einer ATR-skalierten Toleranz bewertet; ein Docht, der eine Linie durchbricht, ohne dass der Schlusskurs jenseits dieser Linie liegt, wird daher nicht gezählt. Beide Schwellenwerte sind Eingaben. Es handelt sich um Arbeitsstandardwerte, nicht um kalibrierte Werte.
Vier Merkmale werden kodiert, und jedes hat seinen eigenen Kanal, sodass kein Kanal zwei Bedeutungen trägt:
– Um welche der drei Linien es sich handelt: Farbe. Die äußere Linie ist ein gedämpftes Gelb, die mittlere ein gedämpftes Rot, die innere ein gedämpftes Blau.
– Ob die Linie durchbrochen wurde: Linienstil. Durchgehend bedeutet intakt, gestrichelt bedeutet durchbrochen. Unterbrochene Linien erhalten keine eigene Farbe.
– Ob es sich um den neuesten Datensatz handelt: Helligkeit. Ältere Datensätze werden in einer dunkleren Variante derselben drei Farben dargestellt.
– Aus welchem Zeitrahmen der Datensatz stammt: Strichstärke. Höhere Zeitrahmen werden dicker dargestellt.
Alle sechs Farben sind Eingabeparameter, und das Ausblenden älterer Datensätze kann deaktiviert werden.
Zeitrahmen
Auf einem Chart können bis zu drei Zeitrahmen dargestellt werden. Standardmäßig wird nur der Chart-Zeitrahmen verwendet. Balken höherer Zeitrahmen werden erst nach ihrem Schlusskurs verwendet, wobei der Schlusskurs anhand des letzten geschlossenen Balkens des Charts selbst und nicht anhand der Terminal-Uhr ermittelt wird, sodass das Verhalten im Strategietester dem im Live-Betrieb entspricht. Linien höherer Zeitrahmen werden dicker dargestellt und ihre Beschriftungen geben den Zeitrahmen an.
Das Scan-Fenster wird in Balken des gerade verarbeiteten Zeitrahmens gezählt und nicht umgerechnet. Auf H4 entsprechen 120 Balken 20 Tagen. Die Bestätigungsverzögerung wird ebenfalls in Balken dieses Zeitrahmens gezählt.
Eingaben
Es gibt 62 Eingaben, die im Eigenschaftsdialog in sieben Gruppen unterteilt sind. Sie sind im Folgenden in acht statt sieben kurzen Listen aufgeführt, da die Panel-Einstellungen so für sich genommen leichter zu lesen sind; im Dialog befinden sie sich innerhalb der „As-of“-Gruppe. Jeder hier aufgeführte Standardwert entspricht der werkseitigen Voreinstellung.
Zeichenregel:
- InpDirMode: Abwärtsbewegungen, Aufwärtsbewegungen zeichnen oder automatisch entscheiden, welcher Extremwert zuerst kommt.
- InpFractalN: Halbbreite des Pivots in Bars. 2 bedeutet ein 5-Bar-Fraktal.
- InpScanBars: Länge des Scan-Fensters in Bars des gerade verarbeiteten Zeitrahmens. Standardwert 120.
- InpAnchorMode: Wo das Intervall beginnt. Fester Fensterrand oder Endpunkt des vorherigen Legs.
- InpMaxSpanBars: Obergrenze für die Intervalllänge im „Previous-Leg“-Modus, bevor auf ein festes Fenster zurückgegriffen wird.
- InpLineCount: Wie viele der drei Linien gezeichnet werden sollen, von 1 bis 3.
- InpRequireTurnPivot: Vor dem Zeichnen auf einen bestätigten Pivot in entgegengesetzter Richtung nach B warten.
- InpHullEnd: rechter Rand des Intervalls, das zur Erstellung der Hull-Linie verwendet wird. Bis zum aktuellen geschlossenen Balken oder bis zu B.
- InpFreezeOnBreak: Sobald die äußere Linie eines Abschnitts durch einen Schlusskurs durchbrochen wird, wird die Neuzeichnung dieses Abschnitts beendet.
- InpAnchorPrice: Dochte (Höchst- und Tiefstkurse) oder Körper (Eröffnungs- und Schlusskurse).
„As-of“-Achse und -Bereich:
- InpShowAsOfControls: Zeigt die beiden vertikalen Linien, deren Griffpunkte und das Bedienfeld an. „Aus“ bedeutet „immer live“.
- InpAsOfLineColor, InpFromLineColor: Farben der Achsenlinie und der Bereichslinie.
- InpAsOfLineWidth: Breite der beiden vertikalen Linien in Pixeln. Dickere Linien lassen sich leichter greifen.
- InpAsOfLineFront: Zeichnet die vertikalen Linien vor den Kerzen statt hinter ihnen.
- InpAsOfLineMode: Wie die beiden vertikalen Linien gezeichnet werden. „THIN“ ist die Standardeinstellung: jeweils eine dünne Linie, die sich in den Chart-Hintergrund einfügt. „FULL“ entspricht den Linien, wie sie vor der Einführung der Modi gezeichnet wurden. „BOTH“ umfasst diese blasse Linie plus drei Markierungen. „TICKS“ zeigt nur die Markierungen an. Die Achse und der Bereich funktionieren in allen vier Modi auf dieselbe Weise.
- InpAsOfLineFadePct: Wie stark THIN und BOTH eine Linie in den Chart-Hintergrund einblenden, von 0 bis 100. Standardwert ist 65. Werte außerhalb dieses Bereichs werden wieder in den Bereich zurückgeführt, was im Protokoll vermerkt wird.
- InpAsOfTickPx: Die Länge einer Tick-Markierung in Pixeln, die von BOTH und TICKS verwendet wird. Standardwert ist 18, der Wert wird auf einen Bereich zwischen 2 und 400 angepasst. Unabhängig von dieser Einstellung gibt es immer drei Markierungen pro Linie.
- InpAsOfLineSelectable: Ermöglicht das Auswählen und Verschieben der vertikalen Linien selbst. Standardmäßig deaktiviert, damit eine Linie nicht versehentlich ausgewählt werden kann. Die Registerkarten und das Bedienfeld verschieben die Achse weiterhin.
- InpAsOfKeepSelected: Die beiden vertikalen Linien bleiben ausgewählt. Standardmäßig deaktiviert; diese Option wirkt sich nur aus, wenn „InpAsOfLineSelectable“ aktiviert ist, da Markierungen nur auf auswählbaren Objekten gezeichnet werden.
- InpHandleLane: In welcher Spur werden die Registerkarten platziert (von oben gezählt)? Wenn Sie einem zweiten Indikator eine eigene Spur zuweisen, in der er seine eigene „As-of“-Registerkarte zeichnet, überlappen sich die Registerkarten nicht mehr. Das Hoch- oder Herunterziehen einer Registerkarte überschreibt sowohl die Spurzuordnung als auch die Ausweichfunktion des Panels, bis das Diagramm neu geladen wird.
- InpShowAsOfSteps: Zeigt die Tasten „minus fünfzig“, „minus zehn“, „plus zehn“ und „plus fünfzig“ auf dem Bedienfeld an. Standardmäßig deaktiviert, wodurch das Bedienfeld auf zwei Zeilen reduziert wird. „NOW“ und die Taste zum Zurücksetzen des Bereichs werden immer angezeigt.
- InpShowAsOfHandles, InpHandleFontSize, InpHandleYPct: Zeigt die Ziehpunkte, deren Textgröße und ihre Position im Diagramm an. Die Schriftgröße legt auch die minimale Breite eines Reiters fest; erhöhen Sie diese Einstellung also, wenn Sie einen größeren Bereich zum Ziehen wünschen.
- InpAsOfHandleFill: Zeichnet die Registerkarte ausgefüllt. Bei „Aus“ bleibt die Anzeige als reiner Text erhalten, und der Text dient dann nicht als Ziehziel, sodass die Achse stattdessen durch die Linien und die Tasten des Bedienfelds verschoben wird.
- InpDebugEvents: Die ausführliche Beschreibung der Einstellung und jedes Diagrammereignis werden im Protokoll ausgegeben. Standardmäßig deaktiviert. Dies ist ein Diagnoseschalter, über den Sie uns Informationen senden können, wenn ein Diagramm fehlerhaft angezeigt wird.
Panel:
- InpUiCorner: In welcher Ecke das Panel platziert wird.
- InpUiX, InpUiY: Ränder des Panels ab dieser Ecke, in Pixeln.
- InpUiSafeBottom: Platz, der am unteren Rand stets frei gehalten wird, für die Zeitskala.
- InpHudFontStamp, InpHudFontNum: die Schriftart für Beschriftungen und die Schriftart für Zahlen des Panels.
- InpKeyAffordance: Legt fest, welche Teile des Panels gedrückt werden können und welche nur zum Lesen dienen. RAISED ist die Standardeinstellung: Nur die Tasten verfügen über eine Fläche und einen Rahmen, und die Oberseite einer Taste ist einen Schritt heller hervorgehoben, sodass eine Anzeige wie „LIVE“ oder „PAST“ als einfacher Text erscheint. MARK markiert die Tasten ausschließlich mit einem Rahmen. OFF entspricht dem älteren Bedienfeld, bei dem eine Taste und eine Beschriftung gleich aussahen.
Zeitrahmen:
- InpTF1, InpTFEnable2, InpTF2, InpTFEnable3, InpTF3: bis zu drei Zeitrahmen in einem Diagramm.
- InpTFWidthStep: zusätzliche Linienbreite in Pixeln pro Schritt nach oben im Zeitrahmen. Bei Null bleiben die Breiten gleich.
- InpMaxSetsHTF: Anzahl der beibehaltenen Sets pro höherem Zeitrahmen in der aktuellen Richtung.
- InpMaxSetsOppHTF: Anzahl der Sets, die pro höherem Zeitrahmen in der entgegengesetzten Richtung beibehalten werden. Bei Null werden keine beibehalten.
Wie viel auf dem Bildschirm angezeigt wird:
- InpReplayBars: Anzahl der Balken, die die sequenzielle Wiedergabe zurückreicht, damit auch ältere Sets angezeigt werden.
- InpMaxSets: Anzahl der Sets, die im Chart-Zeitrahmen in der aktuellen Richtung beibehalten werden.
- InpMaxSetsOpp: Anzahl der Sets, die im Chart-Zeitrahmen in der entgegengesetzten Richtung beibehalten werden. Der Wert Null bedeutet, dass keine Sets beibehalten werden.
- InpMaxHistoryBars: Obergrenze für die Anzahl der gescannten Balken. Der Wert Null bedeutet, dass alle berücksichtigt werden.
Zustandsschwellenwerte:
- InpTouchTolATR: Abstand in ATR, innerhalb dessen ein Schlusskurs als Berührung der Linie gilt.
- InpBreakTolATR: Abstand in ATR jenseits der Linie, ab dem ein Schlusskurs als Durchbruch gilt.
- InpATRPeriod: ATR-Periode, die für die Berührungs- und Durchbruchstests verwendet wird.
Darstellung der Linien:
- InpOuterColor, InpMiddleColor, InpInnerColor: die drei Linien des neuesten Satzes.
- InpOuterColorOld, InpMiddleColorOld, InpInnerColorOld: dieselben drei Linien für ältere Sets.
- InpLineWidth: Linienbreite in Pixeln, bevor der Zeitrahmen-Schritt hinzugefügt wird.
- InpLineStyle: Stil für Linien, die noch nicht unterbrochen wurden.
- InpBrokenStyle: Stil für unterbrochene Linien. Muss sich von InpLineStyle unterscheiden.
- InpFadeOldSets: Ältere Sätze in dunkleren Farben zeichnen.
Beschriftungen:
- InpShowLabels: Die Zustandsbeschriftung am rechten Ende jeder Linie anzeigen.
- InpShowAB: Markiert den Anfang A und das Ende B des Intervalls.
- InpLabelFontSize: Schriftgröße der Zustandsbeschriftungen.
Jede numerische Eingabe, die einen Bereich hat, wird beim Start überprüft, und der Indikator verweigert die Ausführung, anstatt etwas Irreführendes darzustellen. Ein einziger Wert außerhalb seines Bereichs reicht aus: Der Startvorgang wird abgebrochen und das Protokoll nennt den Eingabewert, seinen Bereich und den von Ihnen eingegebenen Wert. Ein widersprüchliches Paar hat denselben Effekt, zum Beispiel eine Bruch-Toleranz, die kleiner ist als die Berührungstoleranz, oder ein unterbrochener Linienstil, der mit dem normalen Linienstil identisch ist. „InpAsOfLineFadePct“ und „InpAsOfTickPx“ sind die einzigen beiden Eingaben, die sich anders verhalten, und es handelt sich um die beiden oben beschriebenen: Ein Wert außerhalb ihres Bereichs wird in diesen gebracht, und das Protokoll vermerkt dies, anstatt den Startvorgang abzubrechen.
Was Sie installieren
Eine kompilierte Indikator-Datei. Es muss nichts weiter kopiert werden, keine Include-Dateien müssen manuell eingefügt werden, keine Bibliothek muss installiert werden, es erfolgt kein DLL-Aufruf und es besteht keinerlei externe Verbindung. Ziehen Sie die Datei einfach auf ein Chart und sie läuft.
Einschränkungen
– Keine Ein- oder Ausstiegssignale, keine Pfeile, keine Benachrichtigungen, kein Handel. Der Indikator zeichnet Linien und beschriftet sie.
- Kein Anspruch auf statistischen Vorteil. Ob diese Linien einen Vorhersagewert haben, wurde von uns nicht getestet.
- Die Linien erscheinen absichtlich mit Verzögerung. Ein Pivot benötigt den Schlusskurs der rechtsseitigen Kerzen, und standardmäßig wartet das Tool auf einen entgegengesetzten Pivot nach B. Bis dahin wird nichts gezeichnet. Diese Verzögerung ist der Preis dafür, dass die Linien nicht neu gezeichnet werden, und sie kann nicht beseitigt werden, ohne in die Zukunft zu blicken.
- Es werden nur Schlusskurse berücksichtigt. Eine Berührung oder ein Durchbruch des Dochtes wird nicht gezählt.
- Gleichstände werden nicht berücksichtigt. Wenn das Intervall-Hoch oder -Tief über mehrere Kerzen hinweg gleich ist, ist die Pivot-Bedingung nicht erfüllt und es werden zu diesem Zeitpunkt keine Linien gezeichnet. Dies ist die sichere Vorgehensweise, kein Workaround.
– Höhere Zeitrahmen benötigen historische Daten. Wenn Ihr Broker nicht genügend historische Daten für einen ausgewählten Zeitrahmen bereitstellt, wird für diesen Zeitrahmen nichts gezeichnet und eine Meldung in das Protokoll geschrieben.
- Der erste Zeichnungsdurchlauf wächst mit der Länge des Charts und wurde noch nicht auf einem echten Terminal zeitlich gemessen. Bei diesem ersten Durchlauf liest der Indikator jeden Balken aus, den der Chart enthält. InpMaxHistoryBars und InpReplayBars begrenzen die Erkennung und die Wiedergabe; sie begrenzen diesen ersten Lesevorgang jedoch nicht.
- Nach dem ersten Abruf durchgeführte Arbeit. Ein Tick, der keinen neuen Balken eröffnet, erzeugt überhaupt keine Zeichnung. Wenn ein Balken eröffnet wird, wird der Arbeitsaufwand durch „InpMaxHistoryBars“ begrenzt und nicht durch die Länge des Charts; dieselbe Begrenzung gilt auch, wenn Sie die Achse über mehrere Balken ziehen. Nichts davon wurde auf einem echten Terminal zeitlich gemessen; es handelt sich um eine Zählung des erforderlichen Arbeitsaufwands, nicht um eine Messung der benötigten Zeit, und es sagt nichts über die oben erwähnte erste Zeichnung aus. Die Pfade höherer Zeitrahmen unterliegen dieser Begrenzung nicht und lesen weiterhin ihre gesamte Reihe ein.
- Die vier Möglichkeiten zum Zeichnen der vertikalen Linien werden angeboten, da wir nicht wissen, welche zu Ihrem Chart passt, und wir keine für Sie festgelegt haben. Die „Faint“-Einstellung wird durch das Einmischen der Linienfarbe in die Hintergrundfarbe des Charts erzielt; wie blass eine bestimmte Einstellung wirkt, hängt daher von Ihrem Hintergrund ab.
- Der Speicherbedarf wächst mit der Anzahl der Balken im Chart und wird durch keine Einstellung begrenzt. Der Indikator speichert eine eigene Kopie der Chart-Reihe, sodass beim Verschieben der Achse diese nie neu eingelesen werden muss: acht Arrays mit jeweils acht Bytes pro Balken plus zwei mit je einem Byte, was 66 Bytes pro Balken ergibt, den das Terminal übergibt. Das ist eine Berechnung anhand der Quelldaten, keine Messung: Bei einem Chart mit drei Millionen Balken ergibt sich ein Wert von etwa einem Viertel Gigabyte, und wir haben diesen Wert auf einem laufenden Terminal noch nicht beobachtet. Falls Ihnen das wichtig ist, verringern Sie die Einstellung „Max. Balken im Chart“ in den Terminaleinstellungen; die eigenen Verlaufseinstellungen des Indikators ändern daran nichts.
- Für XAUUSD wurden Standardwerte gewählt. Der Indikator läuft auch auf anderen Symbolen, doch die Standardwerte wurden für diese nicht angepasst, und beim Start wird ein Hinweis in das Protokoll geschrieben.
- Die Schwellenwerte und die Fensterlänge sind funktionierende Standardwerte. Es handelt sich nicht um kalibrierte Werte, und diese Beschreibung gibt auch nicht vor, dass dies der Fall sei.
- Das Panel verwendet standardmäßig die Schriftarten „Bahnschrift“ und „Consolas“. MetaTrader ersetzt diese stillschweigend durch eine andere Schriftart, wenn sie nicht installiert sind, und bietet keine Möglichkeit, abzufragen, welche Schriftart tatsächlich verwendet wurde. Auf einem Rechner ohne diese Schriftarten funktioniert das Panel zwar weiterhin, sieht aber nicht wie vorgesehen aus. Beide Schriftarten sind Eingaben.
- Das Panel benötigt Platz. In einem Chartfenster, das schmaler als etwa 250 Pixel oder kürzer als etwa 100 Pixel ist, passt es nicht hinein und wird abgeschnitten statt ausgeblendet, da ein ausgeblendetes Panel nicht angeklickt werden kann.
- Die Achsenlinie, die Bereichslinie und die Ziehpunkte sind Chart-Objekte, die zum Indikator gehören. Ein manuelles Löschen deaktiviert die Funktion nicht; sie werden neu erstellt. Verwenden Sie stattdessen den Eingabeparameter, um die Steuerelemente zu deaktivieren.
- Die beiden vertikalen Linien sind gewöhnliche Chart-Objekte. Standardmäßig können sie überhaupt nicht ausgewählt werden, und bei aktivierter Einstellung „InpAsOfLineSelectable“ bleiben sie unmarkiert, sodass MetaTrader keine Auswahlmarkierungen darauf zeichnet und sie auf die übliche Weise verschoben werden: auswählen und dann ziehen. Ob die Auswahl einen oder zwei Klicks erfordert, ist eine Terminaleinstellung, die ein Indikator weder auslesen noch ändern kann. „InpAsOfKeepSelected“ hält sie stattdessen ausgewählt, was diesen Klick erspart und die Markierungen auf dem Bildschirm anzeigt. In beiden Fällen erscheinen die Markierungen niemals auf den Griffen.
– Das Ziehen eines Griffs hängt davon ab, ob das Terminal Mausbewegungsereignisse an den Indikator übermittelt. Der Indikator fragt diese beim Start vom Chart ab und stellt die Abfrage ein, sobald er entfernt wird. Wenn ein anderer Indikator im selben Chart diese Chart-Einstellung deaktiviert, reagieren die Griffe nicht mehr, und die Linien sowie die Schaltflächen des Panels bleiben als Möglichkeiten zum Verschieben der Achse erhalten.
– Das Anhalten des Chart-Scrollens, während ein Griff gehalten wird, ist eine chartweite Einstellung; wenn also zwei Indikatoren geladen werden, die dies beide tun, entscheidet derjenige, der zuletzt wiederhergestellt wird, über den verbleibenden Wert.
- Der Griff wird als ausgefülltes Bedienfeld im Bildschirmbereich gezeichnet, genauso wie das eigene Bedienfeld des Indikators. Inwieweit ein Griff eine Kerze überdeckt, wenn er zufällig über dem Kurs liegt, haben wir in einem Live-Chart nicht gemessen, und wir machen diesbezüglich keine Angaben.
- Wenn „InpAsOfHandleFill“ deaktiviert ist, gibt es keine Registerkarte, und die Anzeige wird zu einfachem Text, der kein Auswahlziel darstellt. Die Achse wird dann mit den Feldtasten oder – nach Aktivierung von „InpAsOfLineSelectable“ – mit den vertikalen Linien verschoben.
- Das Verifizierungs-Harness implementiert die Zeichenlogik außerhalb des Terminals neu und ist eher eine Portierung dieser Logik als ein eigenständiges Design. Es überprüft die Logik, nicht die kompilierte Datei.
Für wen dies wahrscheinlich nicht geeignet ist
- Alle, die nach Einstiegssignalen, Pfeilen, Warnmeldungen oder einem automatisierten System suchen.
- Alle, die ein Chart wünschen, bei dem sich die Linienkonstellation überhaupt nicht ändert, anstatt eines Charts, bei dem sich einzelne Linien nie verschieben.
- Alle, die vor dem Kauf den Nachweis benötigen, dass die Linien einen Vorteil bieten. Wir haben diesen Beweis nicht und werden ihn auch nicht erfinden.
Support
Bitte nutzen Sie den Kommentarbereich zum Produkt oder das Nachrichtensystem auf mql5.com. Fragen zur Funktion einer bestimmten Eingabe oder zu einem Chart, bei dem die Ausgabe falsch erscheint, sind willkommen. Bitte geben Sie dabei das Symbol, den Zeitrahmen und Ihre Eingabeeinstellungen an.
