Verwenden Von Kagi Charts Forex


Ein Blick auf Kagi Charts Die Aufgabe, die kurzfristige Richtung eines finanziellen Vermögenswertes herauszufinden, kann erschreckend erscheinen, vor allem, wenn Händler versuchen, das Diagramm des Vermögenswerts für die Anleitung zu betrachten. Wenn man die täglichen Preisschwankungen betrachtet, die auf einem Diagramm gesehen werden, kann es schwierig sein, dass es schwierig ist, festzustellen, welche Preisbewegungen wichtig sind und die Richtung der Sicherheit erheblich beeinflussen werden. Zum Glück für Händler wurden mehrere Charting-Techniken entwickelt, die versuchen, zufällige Lärm herauszufiltern und sich auf die wichtigen Bewegungen zu konzentrieren, die als Treiber eines Vermögensverlaufs fungieren. Eine Methode, dieses Lärm herauszufiltern, das auch der Fokus dieses Artikels ist, wird als das Kagi-Diagramm bekannt. (Für mehr Einblick, siehe Trading ohne Lärm und Drachen, Samurai Warriors und Sushi an der Wall Street.) Kagi Chart Bau Kagi Charts bestehen aus einer Reihe von vertikalen Linien, die von Preis-Aktion abhängen, anstatt auf Zeit wie die gemeinsamen Charts wie Linie . Bar oder Leuchter. Wie Sie aus der folgenden Tabelle sehen können, ist die erste Sache, die Händler merken, dass die Linien auf einem Kagi-Diagramm in der Dicke variieren, je nachdem, was der Preis des Vermögenswertes tut. Manchmal sind die Linien dünn, während zu anderen Zeiten die Linien dick und fett werden. Die unterschiedliche Dicke der Linien und ihre Richtung ist der wichtigste Aspekt eines Kagi-Charts, denn das ist es, was die Händler verwenden, um Transaktionssignale zu erzeugen. Kagis und Candlesticks Die verschiedenen Zeilen auf einem Kagi-Diagramm können auf den ersten Blick überwältigend erscheinen, so dass wir durch ein Beispiel von Apple Computer Inc. (AAPL) zwischen dem 8. Mai und dem 1. Dezember 2006 gehen können. Wir glauben, dass dieses Beispiel wird es viel einfacher zu verstehen, wie diese interessante Art von Diagramm erstellt wird. Weve auch eine regelmäßige Candlestick-Diagramm auf mehrere der Kagi-Charts, um zu veranschaulichen, was der Preis des zugrunde liegenden Vermögenswertes getan hat, um eine gewisse Änderung der Kagi-Chart zu verursachen. Wie Sie in Abbildung 2 sehen können, begann der Preis der AAPL-Aktien kurz nach dem Startdatum unseres Charts zu sinken. Als der Preis fiel, wurde eine senkrechte Linie geschaffen, und der Boden dieser senkrechten Linie war gleich dem niedrigsten Schlusskurs. Wenn die nächsten Perioden schließen würden, um niedriger zu sein als der aktuelle Boden auf der Linie, dann würde die Linie auf das neue Tief ausgedehnt werden. Die Linie wird die Richtungen nicht ändern, bis sich der Preis über die Unterseite der Kagi-Linie um mehr als einen voreingestellten Umkehrbetrag bewegt, der in der Regel auf 4 gesetzt ist, obwohl dieser Parameter je nach Sicherheits - oder Händlerpräferenz ändern kann. Die Umkehrung Am 1. Juni 2006 schlossen die AAPL-Aktien über dem Kagi-Tiefpunkt um 4,02 - mehr als die 4 Umkehrmenge, die erforderlich ist, um die Richtung des Diagramms zu ändern (4). Wie Sie aus der folgenden Tabelle sehen können, wird die Umkehrung durch eine kleine horizontale Linie nach rechts gefolgt von einer senkrechten Linie in Richtung der Umkehrung angezeigt. Die aufsteigende Kagi-Linie bleibt in der Aufwärtsrichtung, bis sie unter die Höhe um mehr als 4 fällt. Die Umkehrung wurde von vielen Händlern begrüßt, weil dies das erste bullische Kagi-Signal war, das seit der Erstellung des Diagramms Anfang Mai erzeugt wurde. Doch leider für die Stiere war der Umzug nicht nachhaltig, da die Bären reagierten und den Preis unter dem Hoch der Kagi-Linie um mehr als den Umkehrbetrag von 4 schoben. Die Abwärtsumkehrung wird auf der Karte als eine weitere horizontale Linie nach rechts angezeigt Gefolgt von einer Linie, die sich nach unten bewegt. Wie Sie aus Abbildung 4 unten sehen können, verbrachten die Stiere und Bären die folgenden paar Wochen, um über die Richtung der Apple-Aktien zu kämpfen, was dazu führt, dass das Kagi-Diagramm mehrmals umkehrt. Drei der Züge höher, die zwischen Juni und Juli auftraten, waren größer als 4 über den Charts niedrig, was das Kagi-Diagramm dazu veranlasste, Richtungen umzukehren. Diese Bewegungen repräsentierten eine zunehmend zinsbullige Stimmung, aber sie waren nicht stark genug, um den Trend vollständig umzukehren. (Um mehr zu erfahren, lesen Sie Retracement oder Reversal: Kennen Sie den Unterschied und Unterstützung und Resistance Reversals.) The Thick Line Die Anzahl der falschen Umkehrungen begann zu zeigen, Händler, die bullish Interesse an der Aktie war zu erhöhen, aber dass der wahre Trend blieb in den Bären steuern. Diese Geschichte änderte sich am 20. Juli 2006, wegen einer Lücke, die wesentlich größer war als die 4, die benötigt wurde, um die Charts Richtung umzukehren. In der Tat war der Gewinn groß genug, um den Preis über dem vorherigen hohen gezeichneten auf dem Kagi-Diagramm zu senden, gezeigt durch die jüngste horizontale Linie, die in der Nähe von 59 gezeichnet wurde. Ein Umzug über einem früheren Kagi hoch wie der in der folgenden Abbildung gezeigte Linie des Kagi-Charts, um mutig zu werden. Eine Verschiebung von einer dünnen Linie zu einer fett gedruckten Linie oder umgekehrt wird von den Händlern verwendet, um Transaktionssignale zu erzeugen. Kaufsignale werden erzeugt, wenn die Kagi-Linie über dem vorherigen Hoch aufsteigt und von dünn bis dick dreht. Verkaufssignale werden erzeugt, wenn die Kagi-Linie unter die vorherige Tiefe fällt und die Linie von dick zu dünn wird. Wie Sie in Abbildung 6 sehen können, kehrt das Kagi-Diagramm nach dem scharfen Aufstieg Richtungen um, aber eine einfache Umkehrung ändert nicht die Dicke der Linie oder erzeugt ein Transaktionssignal. In diesem Beispiel waren die Bären nicht in der Lage, den Preis unter dem vorherigen Tief auf dem Kagi-Diagramm zu senden. Als die zinsbullische Dynamik Mitte August fortfuhr, verlagerte sich der Preis in die Aufwärtsrichtung und schuf ein neues Swing-Tief, das verwendet wird, um zukünftige Verkaufssignale zu schaffen. Letztendlich waren die Bullen nicht in der Lage, den Preis der Apple-Aktien wieder unter den Niedrigen zu schieben, was dazu führte, dass das Kagi-Diagramm für den Rest der getesteten Periode in einem bullish Zustand war. Das Fehlen eines Verkaufssignals ermöglichte es den Händlern, von dem starken Aufwärtstrend zu profitieren, ohne durch zufällige Preisschwankungen herausgenommen zu werden. Longer-Term Beispiel Nun, da wir ein Verständnis davon haben, was bei der Verwendung eines Kagi-Charts ein Transaktionssignal generiert, können wir einen längerfristigen Beispiel mit dem Diagramm von Apple Computer (30. April 2005 - 31. Dezember 2006) ansehen. Beachten Sie, wie eine Bewegung über einem vorherigen Hoch die Linie fett wird, während eine Bewegung unterhalb einer niedrigen Ursache die Linie wieder dünn wird. Die sich ändernde Dicke ist der Schlüssel zur Bestimmung von Transaktionssignalen, da diese Schwankung zeigt, ob die Bullen oder Bären die Dynamik beherrschen. Denken Sie daran, dass ein Wechsel von dünn bis dick von Händlern als Kaufzeichen verwendet wird, während ein Wechsel von dick zu dünn zeigt, dass nach unten Impuls herrscht und dass es eine gute Zeit sein kann, den Verkauf zu betrachten. Fazit Tag-zu-Tag Preisschwankungen können es extrem schwierig für Händler auf den Finanzmärkten, um die wahre Tendenz eines Vermögenswertes zu bestimmen. Zum Glück für Händler, Methoden wie Kagi-Charting haben dazu beigetragen, ein Ende zu konzentrieren auf unwichtige Preisbewegungen, die keinen Einfluss auf zukünftige Dynamik. Zuerst kann ein Kagi-Diagramm wie eine Reihe von zufällig platzierten Linien erscheinen, aber in Wirklichkeit hängt die Bewegung jeder Zeile vom Preis ab und kann verwendet werden, um sehr rentable Handelssignale zu erzeugen. Diese Charting-Technik ist relativ unbekannt, um Mainstream-aktive Händler, aber angesichts ihrer Fähigkeit, die wahre Tendenz eines Vermögenswertes zu identifizieren, wäre es nicht überraschend, einen Anstieg in der Zahl der Händler, die auf diese Tabelle, wenn sie ihre Entscheidungen auf dem Markt verlassen zu sehen. MetaTrader 5 - Beispiele Indikator für Kagi Charting Einleitung Der Artikel Indikator für Point und Figure Charting hat eine der Programmierweisen zur Erstellung von Punkt - und Figurendiagrammen beschrieben. Diese Tabelle ist seit dem 19. Jahrhundert bekannt. Allerdings ist dies nicht das einzige Diagramm aus der fernen Vergangenheit. Ein weiterer bemerkenswerter Vertreter der frühen Arten der Finanzmarktvertretung ist Kagi-Diagramm. Diese Tabelle wird im vorliegenden Artikel besprochen. Das Börsen-Finanzinstitut, das dem Japan des 19. Jahrhunderts nicht vertraut ist, wurde im Mai 1878 gegründet. Es ist heute bekannt als Tokyo Stock Exchange. Diese Veranstaltung spielte eine wichtige Rolle bei der Erstellung und späteren Entwicklung von Kagi-Charts. Europa und USA kennen Kagi-Charts nach der Veröffentlichung von Steve Nisons Beyond Candlesticks: Neue japanische Charting-Techniken, die 1994 enthüllt wurden. Die japanischen Wörter Kagi bedeutet einen L-förmigen Schlüssel, der zum Zeitpunkt der Chart-Entwicklung verwendet wurde. Außerdem gibt es eine modifizierte Version des Namensschlüsseltabels. In Steve Nisons Beyond Candlesticks, können Sie auch alternative Namen des Diagramms finden: Preisbereich Diagramm, Hook Chart, Delta oder Kette Chart. Was ist das Besondere an diesem Diagramm Sein Hauptmerkmal ist, dass es ignoriert die Zeitskala verlassen nur den Preis ein (im Gegensatz zu japanischen Leuchtern, Bars und Linien). So verdeckt das Diagramm unerhebliche Preisschwankungen, die nur die bedeutendsten verlassen. Das Diagramm stellt einen Satz von dicken Yang und dünnen Yin-Linien, die einander abhängig von der Marktsituation ersetzen. Falls sich der Markt in die gleiche Richtung bewegt, verlängert sich die Strecke um eine neue Preisspanne. Wenn jedoch der Markt zurückkehrt und einen vordefinierten Betrag erreicht, wird die Kagi-Linie in die entgegengesetzte Richtung in der neuen Spalte gezeichnet. Der vordefinierte Betrag wird entweder in Punkten (in der Regel für Währungspaare verwendet) oder in Prozentwert des aktuellen Preises (in der Regel für Aktien verwendet) gesetzt. Die Linienstärke variiert je nach dem nächstgelegenen hohen oder niedrigen Durchbruch. 1. Diagrammbeispiel Ermöglicht die Verwendung von Verlaufsdaten auf EURUSD, H1 vom 8. bis 11. Oktober. Ein Beispiel für die Standardabbildung mit einer Rückwärtsschwelle von 15 Punkten ist in Abb. Fig. 1. Kagi-Chart, EURUSD H1 Wie wir sehen können, begann der Preis um 17:00 Uhr. Die Abwärtsbewegung dauerte bis 21:00 Uhr. Um 22:00 Uhr verschiebt sich der Preis von 1.3566 nach oben und ist bei 1.3574 geschlossen. Mit anderen Worten, der Preis vergeht 11 Punkte. Das reicht nicht für eine Umkehrung, aber auch das neue Low ist nicht erreicht. Die nächsten zwei Stunden geht der Preis flach und endlich um 01:00 Uhr (9. Oktober) sehen wir eine starke Aufwärtsbewegung, die bei 1.3591 mit 25 Punkten (1.3591-1.3566) geschlossen ist. Das bedeutet, dass der Preis umgekehrt ist. Der Aufwärtstrend setzt die folgende Stunde fort. Der Preis erreicht 1.3599 Verstärkung der dicken Yang Linie. Um 03:00 Uhr fällt der Preis bei 1,3578, was 21 Punkte vom vorherigen Hoch (1.3599-1.3578) ist. Das ist mehr als genug für die Umkehrung. Die Linie fährt nach unten, behält aber ihre Form (dicke Yang-Linie). Bis 16:00 Uhr geht der Preis nach unten und endlich durchbricht er das nächstgelegene Minimum und wechselt von dickem Yang zu dünner Yin-Linie. Der zuvor erwähnte Niedrige Wert von 1.3566 war hier ein Durchbruchspreis. Der Preis fährt fort, sich als Yin-Linie zu bewegen und wird um 10:00 Uhr am 10. Oktober um 14:00 Uhr umgebrochen und durch den nächstgelegenen Hoch von 1.3524, der um 23:00 Uhr (9. Oktober) gebildet wurde, durchbrechen. Dieses kleine Beispiel zeigt, wie Kagi-Diagramm gebildet wird. 2. Kagi-Indikator-Diagrammprinzip Um den Indikator unabhängig vom aktuellen Zeitrahmen zu machen, wurde beschlossen, die Daten des Zeitrahmens, an dem der Indikator gebildet werden soll, separat zu kopieren und dann den Indikator mit den erhaltenen Daten zu erstellen. Dies ermöglicht es, mehrere Zeitrahmen gleichzeitig auf einem einzigen Diagramm zu untersuchen, um die Grenzen der technischen Analyse auf Kagi-Charts zu erweitern. Die Anzeige selbst befindet sich in einem separaten Fenster, aber es ist auch möglich, Daten auf dem Hauptdiagramm anzuzeigen. Mit anderen Worten, Grundbildung (Standard - oder modifiziertes Aussehen) wird im Anzeigefenster durchgeführt. Die Anzeige wird in die Hauptkarte kopiert, auch Preis - und Zeitmarken (abhängig von den Einstellungen) werden gezeichnet. Wie bereits erwähnt, zeichnet der Indikator das Diagramm sowohl in der Standard - als auch in der modifizierten Version. Der Standard wurde oben beschrieben. Nun, betrachten wir die modifizierte Version. Ich weiß nicht, ob es eine neue Idee ist, aber ich habe noch keine solche Version gehört. Die Idee des zusätzlichen Filters ist, dass nicht nur Umkehrpunkte, sondern jede Bewegung des Diagramms jetzt gefiltert wird. Mit anderen Worten, der Preis sollte einen bestimmten Abstand verschieben, damit der neue High oder Low (nicht zu verwechseln mit Schulterwaist) gebildet werden soll. Im Allgemeinen, wo immer der Preis sich bewegt, sollte er zuerst einen bestimmten Abstand abdecken. Danach ist es definiert, wenn es sich um eine Trendfortsetzung oder eine Umkehrung handelt. Feige. 2 zeigt, wie das Prinzip funktioniert. Der modifizierte Chart-Look wird blau dargestellt, während der Standard in Rot ist. Wie wir sehen können, reagiert der modifizierte Look auf Preisbewegungsänderungen, die die meisten der kleineren Signale langsamer filtern. Feige. 2. Modifizierte (blaue Linie) und Standard - (rote Linie) Versionen der Erstellung des Kagi-Charts Abgesehen von der Kagi-Tabelle bietet der Indikator einige zusätzliche Elemente sowohl im Indikatorfenster als auch im Hauptdiagramm. Je nach Einstellung können die Markierungen im Anzeigefenster eingestellt werden. Diese Marken liefern Daten über die Umkehrpreise. Die gleiche Funktion wird unter Verwendung von Preisniveaus implementiert, die (abhängig von den Einstellungen) gleichmäßig entlang des Fensters in der gesamten Preisspanne verteilen können, die für die Erstellung des Indikators oder bei jeder Chartumkehr verwendet wird. Die Farben können in drei Versionen eingestellt werden: je nach Umkehrart (up - down), Linientyp (Yin - Yang) oder kein Farbwechsel. Umkehr-Preismarken, einschließlich temporäre, werden auf der Hauptkarte zur Verfügung gestellt. Diese Markierungen (abhängig von den Einstellungen) können von einer Farbe sein oder die Farbe entsprechend den Yin - oder Yang-Linienfarben ändern. Der gesamte Indikatorcode wird unter Verwendung der Funktionen implementiert, die über globale Variablen miteinander kommunizieren. Der Code kann in drei Hauptfunktionen und elf weitere unterteilt werden. Die Hauptlast der Berechnungen und Pufferfüllungen von grundlegenden graphischen Konstruktionen und zusätzlichen Pufferarrays beruht auf der Funktion der Kagi-Kartenbildung im Indikatorfenster. Die beiden anderen Funktionen sind verantwortlich für die Bereitstellung der Daten: Die erste kopiert die Zeitdaten, während die andere - Daten über die Preise jeder Bar des ausgewählten Zeitrahmens. Die verbleibenden Hilfsfunktionen sind verantwortlich für die Ausführung aller Konstruktionen, das Löschen der Objekte, das Entladen des Indikators, begleitet von dem Löschen aller Indikatorobjekte, die Umkehrparameterberechnung, die Zeichnungsmarken auf dem Hauptdiagramm und das Indikatorfenster, die Erstellung von grafischen Objekten des Trendlinientyps, Zeichnung Kagi auf der Hauptkarte, sowie die Definition der Ankunft der neuen Bar, um die Indikatorbildung zu starten. 3. Indikator-Code und Algorithmus Nun können wir den Indikator-Code und den Algorithmus seiner Formation im Detail untersuchen. Der Code ist ziemlich groß und es kann schwierig genug für Anfänger Programmierer zu verstehen. Die über die globalen Variablen miteinander kommunizierenden Funktionen machen den Code sehr verwirrend. In diesem Teil des Artikels werde ich jede Funktion und einen Teil des Codes separat erklären. Zuerst werde ich die Indikatoreinstellungen beschreiben und es werden dann Klarstellungen bezüglich der Datenkopierung von Anfangsfunktionen, Umkehrparameterberechnung, Hauptfunktion der Kagi-Diagrammbildung und Berechnung und anderer Hilfsfunktionen gegeben. 3.1. Indikator-Eingabeparameter Der Code beginnt mit der Deklaration des Indikators in einem separaten Fenster sowie von 12 Puffern und 8 Indikator-Graphikkonstruktionen. Zuerst definieren wir, warum 8 grafische Konstruktionen, darunter zwei Histogramme und sechs Zeilen. wurden verwendet. Jedes Histogramm baut eine eigene vertikale Linie auf. Eine der Linien ist verantwortlich für Yin Linie, während die andere für Yang Linie ist. Der Fall ist etwas komplizierter mit den Linien, da es drei von ihnen für jede Zeile gibt. Dies geschieht aufgrund der Tatsache, dass die Linie gezeichnet wird, wenn es einen anderen Punkt in der Nähe der ersten gezeichnet wird. Mit anderen Worten, wir brauchen nur zwei lineare graphische Konstruktionen, die gedreht werden sollen, um zwei nebeneinander liegende Linien zu zeichnen. Wenn wir also diese Linien brauchen, um notwendige Punkte zu überspringen, brauchen wir die dritte Konstruktion, die mit anderen zwei gedreht werden soll. Dies ist in Abbildung 3 dargestellt, wo man sehen kann, was passiert, wenn nur zwei grafische Konstruktionen verwendet werden: Abb. 3. Beispiel für die Verwendung von zwei und drei grafischen Linien-Konstruktionen zur Darstellung von Schulter - und Taillenlinien Dann wird das Einstellungsmenü erstellt. Es gibt hier fünf Aufzählungen (lasst sie in den Eingabeparametern untersuchen). Die erste Eingabeparameterperiode ist eine Periode, bei der die Bauweise durchgeführt wird, gefolgt von der Periodenumzugsdiagrammaufbauperiode und der letzte Zeitparameter wird gestartet - der Zeitaufbau beginnt ab. Auf diese Parameter folgt ein Diagrammaufbau und zusätzliche Etikettierung: Kagitype-Diagramm Bauart, definiert durch Benutzer, Standard - oder modifizierter Pricetyp-Typ des Preises, der für den Bau verwendet wird: Schließen, Öffnen, Hoch und Niedrig typedoorstep verwendet Umkehrtyp: Punkt und prozentualer Türschwellenumkehrwert (Angegeben in Punkte oder Prozentwert abhängig von dem oben genannten Parameter) coloryin Yin Linie Farbe im Indikatorfenster Coloryang Yang Linie Farbe im Indikatorfenster widthyin Yin Zeilenbreite im Indikatorfenster widthyang Yang Zeilenbreite im Indikatorfenster levelsonoff ob Preisniveau sollte Im Indikatorfenster im Indikatorfenster gezeichnet werden. Es gibt zwei Werte zur Auswahl: bei jeder Umkehrung oder gleichmäßig über die Preisklasse Ebenen Anzahl Anzahl der Preisniveaus im Indikatorfenster levelschangecolor erlaubt das Ändern der Farbe der Preisniveaulinien die Optionen sind obere und untere Umkehrungen, Yin und Yang Linien oder keine Änderungen Levelfirstcolor die erste Farbe eines Preisniveaus levelseccolcol die zweite Farbe eines Preisniveaus label1 Zeichnungsdiagramm Umkehr Preis Etiketten im Indikatorfenster Etikettnummer Nummer der angezeigten Etiketten im Indikatorfenster Etikett1 Farbe Farbe der Etiketten im Indikatorfenster Etikett2 Zeichnung Preis Etiketten auf der Hauptdiagramm label2color Etikettenfarbe auf dem Hauptdiagramm Zeitleiste Zeichnung Umkehrzeit Zeilen auf dem Hauptdiagramm timeseparatewindows Zeichnung Fortsetzung der Umkehrzeit Zeilen aus dem Hauptdiagramm timelinechangecolor ändern die Farbe der Zeitlinie abhängig von der Umkehrung Etikett bei Yin oder Yang Linie timefirstcolor die erste Farbe der Zeitlinie auf dem Hauptdiagramm timesecondcolor die zweite Farbe der Zeitlinie auf dem Hauptdiagramm kagimainchart ob Kagi auf dem Hauptdiagramm gezeichnet werden sollte coloryinmain Yin Linie Farbe auf dem Hauptdiagramm coloryangmain Yang Linie Farbe auf dem Hauptdiagramm widthyinmain Yin Linie Breite auf dem Hauptdiagramm widthyangmain Yang Linie Breite auf dem Hauptdiagramm magicnumb magische Zahl benutzt für Gebäudeobjekte und ihre Löschung, sowie im Indikatornamen, um einige Indikatoren auf einem einzelnen Diagramm zu starten. Diesen Parametern folgen nachfolgend die Deklarationen der Indikatorpuffer, Hilfspuffer zur Speicherung von Preis - und Zeitwerten, Hilfsvariablen (Stoppdatensätze, Barkopien, Barcopiedzeit, Kopiervorgang, Kopierzeit), Arrays zur Speicherung von Daten, auf welche Yin oder Yang die Änderung in Die Chartbewegung ist aufgetreten, die Zeit und der Preis dieser Änderung, der zentrale Preis (wenn Yin durch Yang auf der Bar ersetzt wird oder umgekehrt). Schließlich wird eine der am häufigsten verwendeten globalen Variablen mit Daten über die Anzahl der Kartenbewegungsänderungen deklariert. 3.2. Indikator Initialisierungsfunktion Die nächste ist die Indikatorinitialisierungsfunktion. Indikatorpuffer und deren Indizierung (vor allem als Zeitreihen als Kagi-Diagramm ist kürzer als die Haupt-, es ist besser, es rückwärts zu ziehen) sind dort angegeben. Außerdem werden die Werte, die nicht auf dem Bildschirm angezeigt werden sollen, gesetzt (EMPTYVALUE-1). Nun weisen wir den Indikatornamen und die Anzeigegenauigkeit zu. Wie bereits erwähnt, wird die Zauberzahl dem Namen hinzugefügt. Dies geschieht, um den korrekten Betrieb der Funktion ChartWindowFind () zu gewährleisten. Andernfalls wird das im Indikatorfenster gezeigte grafische Objekt erst beim ersten Start angezeigt (wenn mehrere Indikatoren auf einem einzigen Diagramm verwendet werden). Als nächstes weisen wir den Konstruktionslinien Namen zu, verbieten die Anzeige der aktuellen Zahlenwerte im Anzeigefenster, legen die Farbe und die Breite der Yin - und Yang-Linien fest und legen die Anzahl der im Anzeigefenster angezeigten Preisniveaus fest. 3.3. Datenkopierfunktion Nun können Sie Datenkopierfunktionen untersuchen. Hier sind zwei von ihnen. Die erste ist für das Kopieren der Preise, während die zweite ist für das Kopieren jeder bar öffnen Zeit. Beide Funktionen behalten ihre Werte in den zuvor deklarierten Indikatoren Berechnungspuffern bei. Zunächst einmal betrachten wir die Preise Kopierfunktion. Funktionseingabeparameter: Array zur Speicherung von Daten, Datenkopierstart und Endzeit (aktuelle Uhrzeit). Der Körper der Funktion enthält die Variablen für die Reaktion auf die Funktion, die Anzahl der Daten (Balken), die in das Zwischenfeld kopiert wurden, das mittlere dynamische Array selbst und die Anzahl der Balken, die in das Zwischenfeld kopiert werden sollen. Die Anzahl der Balken wird auf der Grundlage der Gesamtzahl der Balken in der angegebenen Zeitspanne und der Anzahl der Balken (globale Variable) berechnet, die beim vorherigen Funktionsaufruf kopiert wurden. Wenn es nicht das erste Mal ist, dass die Daten kopiert wurden, sollten die Daten auf dem letzten kopierten Balken aktualisiert werden. Um dies zu tun, reduzieren wir die Anzahl der kopierten Stäbe um eins und erhöhen die Anzahl der neu kopierten Stäbe um eins. Wir ändern auch die Größe der Zwischenmatrix, die sie zum Kopieren der Stäbe vorbereitet. Abhängig von den Einstellungen kopieren wir die Preise in das Zwischenfeld. Wenn das Kopieren erfolgreich ist, werden die Daten vom Zwischenfeld zum Ende des Pufferarrays (Funktionsantwortfeld) kopiert, die positive Antwort der Funktion zugewiesen und die globale Variable, die die Daten über die Anzahl der kopierten Balken speichert, zu aktualisieren. Diese Art des Kopierens erlaubt das Kopieren nur einiger letzter Takte, wodurch die Kopierzeit reduziert wird. Die nächste Funktion ist die zum Kopieren der Zeitdaten. Es unterscheidet sich von dem vorherigen darin, dass es sich um eine andere Variable Typ - datetime (die umgewandelt wird, um zu verdoppeln, wenn kopiert auf Time Puffer Array Funktion Antwort Array). Ein weiterer Unterschied ist, dass switch () - Anweisung nicht verwendet wird, da bei der Auswahl der kopierten Daten keine Notwendigkeit besteht. 3.4. Umkehrparameter Berechnungsfunktion Da der Umkehrparameter ein Punkt oder ein Prozentwert sein kann, benötigen wir die Funktion, die den Umkehrparameter abhängig von den Anzeigeeinstellungen berechnet. Die Funktion hat nur einen Parameterpreis für die Berechnung der prozentualen Umkehrung. Die Variable für die Antwort wird zuerst durch den doppelten Typ initialisiert und nach den Berechnungen wird sie indirekt in den int-Typ für die Antwort umgewandelt. Dies geschieht, weil Gleitkommazahlen in den Berechnungen verwendet werden, während die Antwort als Ganzzahlen dargestellt werden soll. Die Auswahl erfolgt in der Funktion durch if-else bedingte Anweisung. Der Vergleich erfolgt direkt mit externer Eingangsgröße (Indikatorparameter). Die Berechnung der Punkte erfolgt mit einer einfachen Gleichung. Erstens ist die Gesamtzahl der Punkte, die der Preis verstrichen ist, definiert. Dann wird der angegebene Prozentsatz auf der Grundlage dieser Nummer berechnet und der zurückgegebenen Variablen zugeordnet. 3.5. Die Hauptfunktion - Zeichnung Kagi-Diagramm Wir haben bereits alle Funktionen untersucht, die für den Betrieb der Hauptfunktion notwendig sind - Zeichnung Kagi-Diagramm im Indikatorfenster (d. H. Füllen der Indikatorpuffer). Die Funktionseingabeparameter bestehen aus Datenfeldern. Zwei von ihnen sind die oben beschriebenen Berechnungspuffer (vorher kopiert Preis und Zeit), alle übrigen sind die Arrays des Indikators grafische Konstruktionspuffer. Variablen, die zum Speichern der Daten auf dem Kartenaufbau erforderlich sind, werden innerhalb der Funktion deklariert. Da das Diagramm mit der Loop-Anweisung konstruiert wird, sollten wir die Daten auf der Bühne haben, die der vorherige Pass beendet hat. Dies kann durch sechs Variablen erreicht werden: linemove - wo der Preis im vorherigen Pass, Linegauge - Line Kaliber (Linienbreite) - Yin oder Yang, Preis1 und Preis2 - vorheriger und aktueller Preis in Betracht gezogen, Preis und Preis - vorheriger Preis von Eine Schulter und Taille. Wie wir sehen können, ist price1 sofort dem ersten Element des Arrays von kopierten Preisen gleichgesetzt, da diese Variable vor dem Vergleich vom Beginn der Schleife an Berechnungen beteiligt ist. Da Pufferarrays der Indikatorgraphikkonstruktion ASSERIES-Indizierungsflagge haben, sollten sie in umgekehrter Reihenfolge ausgefüllt werden. Um dies zu erreichen, werden Zeitfelder mit der entsprechenden Größe implementiert. Globale Variablen zur Speicherung der Daten über Zeit, Linienarten, Schulter und Taille sowie Umkehrpreise werden dann gleich umgewandelt. Dann sollten alle Arrays mit leeren Werten (-1) gefüllt werden. Dies geschieht mit zwei kleinen Schleifen. Es ist möglich, alles in einer einzigen Schleife zu verbinden. Aber mit zwei macht alle Aktionen viel klarer, während die Ausführungszeit nicht viel verändert wird. Mit anderen Worten, grafische Puffer und Berechnungszeitfelder werden separat ausgefüllt. Nun werden alle Variablen deklariert, konvertiert und gefüllt, so dass die Hauptschleife gestartet werden kann. Es ist ziemlich groß (obwohl die Berechnung schnell genug durchgeführt wird) und das Scannen aller zuvor kopierten Balken beinhaltet. Die Schleife durchläuft alle kopierten Stäbe und füllt notwendige zuvor deklarierte Arrays, um mit ihnen weiter zu arbeiten. Zuerst definieren wir alle Arrays, die in der Schleife verwendet werden: yinint1 - Primärwert des vertikalen Yin-Zeilenpreises (wenn vertikale Yin-Zeile gezeichnet wird und das Diagramm nach unten bewegt wird, ist dies der obere Wert des Preises, wenn sich das Diagramm nach oben bewegt Haben Sie den umgekehrten Fall) yinint2 - sekundärer Wert des vertikalen Yin Zeilenpreises (wenn die Aufwärtslinie gezeichnet wird, ist dies der obere Wert, wenn die Linie nach unten ist, wir haben den umgekehrten Fall) yangint1 - primärer Wert der vertikalen Yang Linie Preis yangint2 - Sekundärwert der vertikalen Yang Linie Preis linyin - horizontale Yin Linie Wert (Preis der Umkehrung bei Yin Linie) linyang - horizontale Yang Linie Wert (Preis der Umkehrung bei Yang Linie) Zeit Änderung - Zeit der Chart Umkehrung (Aufbau einer Schulter oder einer Taille ) Zeitleiste - die Linie während der Umkehrung Yin 0 oder Yang 1 timecentralprice - der Wert des zentralen Preises, der Preis in dem Moment, wenn Yin Linie wird in Yang oder umgekehrt timechangeprice - der Wert der Umkehr (Schulter oder Taille) Preis, die Variable ist eine gemeinsame, die nicht von Yin - oder Yang-Zeilentypen abhängig ist. Der Wert des aktuellen analysierten Preises aus dem Preispuffer wird der Preis2-Variable zugeordnet, bevor jeder Loop-Pass für den weiteren Vergleich in if-else bedingten Aussagen erfolgt. Danach wird das Pufferarray der kopierten Daten Schritt für Schritt analysiert und die oben genannten Arrays werden gefüllt. Jede if-else bedingte Anweisung führt bestimmte Aktionen abhängig von den Bedingungen aus: vorherige Richtung der Diagrammlinien (oben oder unten) und vorheriges Aussehen der Zeilen (Yin oder Yang). Dann werden die Bewegungsbedingungen (ob der Preis eine bestimmte Anzahl von Punkten überschritten hat) je nach Bauart (Standard oder modifiziert) geprüft. Wenn alles gut ist, werden neue Variablen (Arrayelemente) neu zugeordnet oder definiert. Der Zeilentyp (Yin oder Yang) wird von Anfang an definiert. Abhängig von der Bewegung und früheren Aktionen wird die weitere Verteilung durchgeführt. Es gibt zwei mögliche Preisbewegungen: Es gibt auch vier Arten von vorherigen Aktionen in jeder Richtung: Die vorherige Zeile war Yin und es bewegte sich Die vorherige Zeile war Yang und es ging nach oben Die vorherige Zeile war Yin und es ging nach unten Die vorherige Zeile war Yang Und es ging nach unten. So haben wir acht Fälle abgesehen von den ersten beiden Definitionen der Charts Anfangsbewegung (erstes Zeilenaussehen). Danach ist die Hauptschleife vorbei. Neuzuordnung (Umkehrung) und Füllen der Puffer werden durchgeführt, um das Diagramm in einer kleineren Schleife zu bauen, die aus der Anzahl der zuvor in der Hauptschleife definierten und in einer Variablen geschriebenen Kagi-Diagrammumkehrungen besteht. Wie für die Verteilung der oberen und niedrigeren Preiswerte und vertikalen Linien, ist es ganz ganz einfach: eine einfache Umkehrung wird durchgeführt. Mit anderen Worten werden die zuvor erhaltenen Primärwerte (Arrays mit den Indizes 0,1,2,3) den Pufferendwerten zugeordnet (Element mit Index, dh -1, -2, -3 ist als Ende verwendet Wert). Um zu verhindern, dass Umkehr (horizontale) Linien zusammenkleben, wird die Drehung mit der Schalteranweisung wie oben erwähnt durchgeführt. Damit ist die Arbeit der Hauptfunktion des Kagi-Diagrammaufbaus abgeschlossen. 3.6. Funktion zum Erstellen von Trend Line Graphical Object Nun können Sie die Funktion zum Erstellen von Trendlinien-Grafikobjekten untersuchen. Diese Funktion wird benötigt, um Kagi auf dem Hauptdiagramm zu zeichnen. Die Funktion ist sehr einfach. Es enthält die Eingabeparameter, die für die Erstellung von Trendlinien-Grafikobjekten erforderlich sind: Objektname, erster und zweiter Preis und Zeitpunkte sowie Linienbreite und Farbe. Der Funktionskörper enthält die Funktion der grafischen Objekterstellung und sechs Funktionen zum Ändern der Eigenschaften der grafischen Objekte. 3.7. Zeichnung Kagi auf dem Hauptdiagramm Die nächste Funktion, die für die vorherige mehrfache gilt, ist die Funktion der Kagi-Konstruktion auf dem Hauptdiagramm. Die globalen Variablen, die in der zuvor untersuchten Hauptfunktion des Kagi-Diagrammaufbaus ausgefüllt wurden, werden als Eingangsvariablen verwendet: das Array von Umkehrpreisen (Schultern und Taillen), das Array von Wechsel und Zentralpreisen (der Preis, bei dem Yin-Linie in Yang oder Umgekehrt), Umkehrzeit-Array (in Echtzeit, z-1-Array-Index wird verwendet, um den Umkehrstart zu markieren), das Array des Typs der Zeile, bei der die Umkehrung aufgetreten ist (es ist auch ein Element vorwärts, wie Das Zeit-Array). Der Funktionskörper besteht aus einer Schleife. Die Schlaufe ist in zwei Teile unterteilt: Zeichnung vertikaler und horizontaler Linien. Die erste ist auch in zwei geteilt: Zeichnung der vertikalen unter Berücksichtigung der Linie ändern (ändern Sie den zentralen Preis) und das Fehlen von Veränderung. Beachten Sie die übertragenen Parameter der Trennlinienobjekt-Erstellungsfunktion. Das Benennen wird wiederholt durchgeführt. Der Objektname beginnt mit einer Zauberzahl (benötigt zum Löschen von Objekten eines bestimmten Indikators), dann ist sein Typ fixiert und schließlich wird der Index zugeordnet. Der Index wird bei jedem Durchlauf der Schleife aktualisiert. 3.8. Implementieren von Zusatzetiketten Wie bereits oben erwähnt, implementiert der Indikator zusätzliche Etiketten. Lets untersuchen die Funktion, die diese Etiketten auf dem Hauptdiagramm bereitstellt. Es gibt nur zwei Etikettentypen hier: Umkehrpreis - und Umkehrzeit-Etiketten, die über Preisschild und vertikales Etikett angezeigt werden. Die folgenden Parameter werden als Eingabes übergeben: Attribut der Umkehrpreis-Etikettenzeichnung und der Etikettenfarbe, Attribute der Umkehrzeit-Etikettenzeichnung und der Etiketten Farbänderung, die erste und die zweite Farbe der Umkehrzeit. Die gesamte Funktion ist in zwei Teile gegliedert: Der erste Teil ist für Zeitlabels verantwortlich, während der zweite für Preisetiketten. Beide Teile der Funktion bestehen aus den Schleifen, die durch die Anzahl der Charts Umkehrungen (eine Variable) begrenzt sind. If-else bedingte Anweisung wird vor der Schleife gesetzt. Die Anweisung prüft die Notwendigkeit ihrer Zeichnung entsprechend den Indikatoreinstellungen. Die erste Schleife erzeugt Zeitbeschriftungen, die Objektnamendefinition wird am Anfang der Schleife durchgeführt (Namensgenerierungsprinzip wurde oben beschrieben). Then, the color is selected depending on the line from the globally declared line type array (if the parameter is set) and other parameters are applied to the line. The second loop is responsible for creating reversal price labels. First, the object name is generated. Then, time array index selection is set depending on whether Kagi is to be constructed on the main chart or not. if this is not done, the labels will be located in the air and it will not be clear enough from what place the reversal has occurred. Then, the price label type object is created and configured. Now, lets see how we can set the labels in the indicator window. All labels in the indicator window are mostly price ones, and there are only two types of them: reversal price labels and price levels. There are two types of drawing the price levels: on the chart reversals and at an equal distance of the entire chart price range. The first type can change the color of the levels in two ways: depending on the line type (Yin or Yang) and according to reversal (up or down). Thus, the function itself is divided into two loops: the first one is responsible for creating reversal price labels, the second one deals with designation of the price levels. The latter is further divided into two types: label at each reversal or labels all over the price range on an equal level. This function is different from the previous one in that it has limitations on the number of price labels and levels due to the fact that in great numbers they overload the chart complicating its understanding. Because of this feature, both loops are limited by the number of passes specified in the indicator settings (number of price labels and levels). Such an approach is dangerous as the number of reversals may turn out to be much smaller than the number of set price labels in the settings. Due to this reason, reversal presence during each loop pass is checked for drawing a price label or level. The only exception is drawing price levels along the entire price range on an equal distance. Generation of Price label type graphical objects is performed in the coordinates in reverse order, i. e. the labels are placed from the current date to the past. The same applies to price levels: the current price levels are generated first followed by earlier ones. The exceptions are price levels not dependent on the chart reversals. Price level color changes are performed by using if-else conditional statements according to the settings. 3.9. Deleting Previously Created Graphical Objects We know already that this indicator is rich in graphical objects. It is time to think how we can delete them quickly and efficiently. This task is executed by the function for deleting the graphical objects. The initial name and the number of objects are used as the function parameters. Like during creation, the object name should contain the magic number and the name of an object type. The function call in the program is limited by the number of objects exceeding their possible existence. However, this does not affect the indicators functionality. 3.10. Function for Launching the Chart Construction Now, after we have examined all functions for calculation and construction of Kagi chart, as well as for creating and deleting objects, we should consider another small function for checking the new bars arrival. The function is quite simple and has one input parameter - analyzed period. The functions answer is also very simple. It has bool type and contains the answer on whether a new bar is present or not. The basis of the function body is switch statement which passes control to its different statements depending on the period. In the example, the function covers the entire period range, though only one period can also be used. The function algorithm has been taken from IsNewBar code: the time of the last bar opening is compared with the previously defined time value. If the values are different, there is a new bar. The new value is assigned as previously defined one and the functions response is considered positive. If the last bar opening time coincides with the previously determined time value, then the new bar has not appeared yet and the functions response is negative. 3.11. OnCalculate() and OnChartEvent() Functions All the functions described above are consolidated in the function bearing the same name Func Consolidation. This function is launched each time a new bar appears in OnCalculate() function and when R key is pressed from OnChartEvent() function. Before the chart is generated or updated, the function for deleting all graphical objects is called in the consolidation function (Func Consolidation). Since there are quite a lot of objects and they are divided into main chart s and indicator windows price labels, vertical lines indicating reversal time, as well as Yin and Yang vertical and horizontal trend lines, the general number of function calls is 7. Then, the history data is copied by price and time. The main function for building Kagi chart is launched afterwards. After that, the function for placing all price labels on the main chart and the indicator window is called. Finally, Kagi is generated on the main chart and the function for redrawing the objects is launched. 3.12. OnDeinit() Function Deletion of all objects is performed in the indicator deinitialization function. Now, lets pass to using the indicator in practice. 4. Using Kagi Chart in Practice There are many trading strategies based on Kagi chart. We will examine some of them. Lets start with the most popular strategy: sell when Yang changes to Yin and buy in the opposite case. This is shown in Fig. 4: Fig. 4. Selling when Yang changes to Yin and buying in the opposite case As can be seen in Fig. 4 (EURUSD M30, 5 points), this strategy shows good results. The figure displays 8 points for 4 signals, the first one (1) shows that the long position should be opened at 1.3518, which seems to be correct as the price then reaches about 1.3560 comprising 42 points per day. This is a good result. The next point (2) recommends selling at 1.3519. As we can see, the price actually moves down crossing the level of 1.3485 (and covering 34 points) approximately for two hours. Lets move to point (3). The long position is opened at 1.3538 and the price moves up reaching 1.3695. Thus, the profit comprises 157 points already for one day and a half. Of course, these are the highest possible profits but the result is still good enough. The next trading strategy is rolling back from the trend line shown in Fig. 5 (EURUSD M30, 5 points), October 7-18: Fig. 5. Rolling back from the trend line We can move further and trade following the channels. An example of searching for a channel can be examined on Fig. 6 (EURUSD H1, 5 points), roughly the same period: Fig. 6. Trading by channels The less popular strategy based on the fact that after 7-10 successively increasing shoulders or decreasing waists, there will certainly be a reversal (fall ot rise). This is displayed in Figure 7 (GBPUSD H4, 25 points), July 10 - October 18: Fig. 7. 7-10 successively increasing shoulders or decreasing waists As can be seen in the image, seven ascending shoulders are followed by quite a considerable fall roughly equal to the half of the previous rise (about 300 points). Lets examine Trading through a price label strategy to show the necessity of using additional indicator parameters. The idea is to enter the market when the price exceeds (buy) or moves below (sell) the previous price label. The strategy is shown in Fig. 8 (GBPUSD H4, 30 points, modified construction): Fig. 8. Trading through a price label Red arrows on Fig. 8 display when to buy or to sell. The arrows are moving from the previous price label displaying the locations the previous price labels were broken through. Time labels serve mainly as trend direction pointers. Since the color of time labels can be changed relative to the line type, and Yin or Yang line type shows trend direction or reversal, the color may help us define the current market mood. For example, lets take IBM stock chart (H4, 1, standard construction) shown in Fig. 9: Fig. 9. Defining trend direction using time labels The chart shows that blue lines are mainly located on the charts tops, while red ones - at the bottoms. Conclusion The Kagi chart can be successfully used for market trading as a strategy basis or as an auxiliary tool for more precise analysis. In this article, I have examined the code itself and some specificities of constructing the indicator. The main objective has been creation of the multi-functional indicator containing all necessary elements with some extra features that can be disabled. Ich freue mich, neue Ideen und Verbesserungen für den Indikator in Betracht zu ziehen und sie vielleicht auch in Zukunft umzusetzen. Also, please provide me with your feedback. I will be happy to answer your questions concerning the indicator. This article continues the series devoted to developing indicators for constructing the charts from the past. The previous article can be found here. The series is to be continued and I hope to meet you again soon. Thank you for your interest I wish you successful trading, as well as optimized and stable codes.

Comments

Popular Posts