Abb. 1. Offene Preisanordnung Jedes andere Array wird aus diesen 6 Arrays unter Verwendung von Formeln berechnet, die in AFL eingebaut sind. Diese Arrays werden nicht in der Datenbank gespeichert, sondern nach Bedarf berechnet. Jedem einzelnen Wert in einem Array ist ein Datum zugeordnet. Wenn Sie die Tooltip-Option eingeschaltet haben (Preferences - gt Miscellaneous Tab - gt Price data tool tips), erscheint ein kleines gelbes Rechteck, wenn Sie den Cursor über die Kerze bewegen. AFL sucht dann die offenen, niedrigen, hohen, engen, Volumenwerte im entsprechenden Array und zeigt sie innerhalb der Werkzeugspitze an. Prozessorarrays - warum ist AFL so schnell Lässt sich sehen, wie die folgende Anweisung verarbeitet wird: MyVariable (High Low) 2 Wenn AFL eine Anweisung wie diese (High Low) 2 auswertet, muss dieser Code nicht für jede Leiste neu interpretiert werden. Stattdessen nimmt es die High ARRAY und Low ARRAY und fügt entsprechende Array-Elemente in einem einzigen Schritt. Mit anderen Worten, Operator (und andere Operatoren auch) arbeiten auf Arrays auf einmal und es wird bei voller kompiliert-Code-Geschwindigkeit ausgeführt, dann wird die resultierende Array (jedes Element von ihm) durch 2 auch in einem einzigen Schritt geteilt. Schauen wir uns die Details an (siehe Abb. 2). Wenn der AFL-Motor die (High Low) 2 ansieht, nimmt er zuerst die Arrays High (1) und Low (2) und erzeugt (in einem kompilierten Schritt) das temporäre Array (3). Dann erzeugt es das letzte Array (4), indem jedes Element des temporären Arrays durch zwei geteilt wird. Dieses Ergebnis wird myVariable zugewiesen. 2. AFL-Schritte bei der Verarbeitung (High Low) 2 Verschieben von Durchschnitten, bedingte Anweisungen Betrachten wir nun den folgenden Code: Cond1 Close gt MA (Close, 3) Cond2 Volume gt Ref (Volume, -1) Kaufen Cond1 AND Cond2 Verkaufen High gt 1,30 Dieser Code generiert ein Kaufsignal, wenn heute nahe ist höher als 3 Tage gleitenden Durchschnitt der Nähe und heute ist das Volumen höher als das gestern Volumen. Es erzeugt auch ein Verkaufssignal, wenn der heutige hohe Wert höher als 1,30 ist. Wenn in Ihrem AFL-Code, um zu sehen, wenn der Schlusskurs größer ist als sagen, dass ein 3 Tage einfache gleitende durchschnittliche AFL wird zuerst durch die enge Array erstellen ein neues Array namens MA (schließen, 3) für das Symbol analysiert werden. Jede Zelle in dem neuen Array kann dann eine für eine im nahen Array verglichen werden. Im Beispiel wird auf diese Weise ein Array namens Cond1 erzeugt. Für jede Zelle, bei der der Schlusskurs größer ist als der entsprechende Zellenwert in MA (close, 3), wird der Zellenwert für das neue Array Cond1 auf 1 gesetzt. Ist der Schlusskurs nicht größer als der entsprechende Preis im Close-Array der Wert In Cond1 wird auf 0 gesetzt. AFL kann auch eine Reihe von Zellen in einem Array mit der Ref-Funktion nach vorne oder hinten schauen (siehe Zeile 6, in der temporäres Array mit vorherigem Tagvolumen erstellt wird) In Zeile 9 wurde ein neues Array namens Cond2 erstellt Indem der Wert jeder Zelle in dem Volume-Array mit seiner vorherigen Zellen-Einstellung den Cond2-Zellenwert auf 1 bei wahr und 0 bei false vergleicht. Zeile 10 zeigt ein Array namens "Kaufen", indem die Zellenwerte in Cond1 mit den Zellenwerten in Cond2 verglichen werden. Wenn die Zelle in Cond1 eine 1 UND die entsprechende Zelle in Cond2 hat, dann wird eine 1 in die Array-Zelle gelegt. Zeile 11 zeigt ein Array namens Sell, das immer dann erzeugt wird, wenn der Zellenwert im Close-Array größer als 1.30 ist. Offensichtlich kaufen und verkaufen sind spezielle Arrays, deren Ergebnisse im Analyzer-Fenster oder auf dem Bildschirm mit einem roten oder grünen Wert angezeigt werden können, wie gebraucht. Ein bisschen komplexer Die Beispiele oben waren sehr einfach. Nun werde ich nur erklären, 3 Dinge, die scheinen, um einige Verwirrung unter den Benutzern zu generieren: Verweis auf ausgewählte Werte (SelectedValue, BeginValue, EndValue, LastValue) IIF-Funktion AMA-Funktion Wie in der Tutorial: Basic Charting Guide können Sie ein Angebot aus dem Diagramm zu wählen Und Sie können From-To Bereich markieren. Der durch verticall-Zeile ausgewählte Balken wird als selektierte quot-Leiste bezeichnet, während Anfangs - und End-Balken des Bereichs als Beginquot - und Quotendquot-Balken bezeichnet werden. AFL hat spezielle Funktionen, die es erlauben, den Wert des Arrays auf der ausgewählten, Anfangs - und Endleiste zu referenzieren. Diese Funktionen heißen SelectedValue, BeginValue und EndValue. Es gibt noch eine Funktion namens LastValue, die erlaubt, den Wert des Arrays in der letzten Leiste zu erhalten. Diese vier Funktionen nehmen das Array-Element an einer gegebenen Leiste und return SINGLE NUMBER, die den Wert des Arrays an einem gegebenen Punkt darstellt. Dadurch können einige Statistiken zu ausgewählten Punkten berechnet werden. Zum Beispiel: EndValue (Close) - BeginValue (Close) Gibt Ihnen einen Dollarkurs zwischen den engen Preisen in der ausgewählten Auswahl. Wenn die Nummer, die durch irgendeine dieser Funktionen abgerufen wird, mit einem Array oder einer anderen Arithmetikoperation verglichen wird, die eine Zahl beinhaltet und das Array ausgeführt wird, arbeitet es wie die Zahl, die alle Arrayelemente überspannt. Dies ist in der nachfolgenden Tabelle (Zeile 2, 6, 7) dargestellt. Grüne Farbmarkierungen quotbeginquot bar und rote Farbmarkierungen quotendquot bar. Die ausgewählte Leiste ist blau markiert. Nun funktioniert die Funktion IIF (condition, truepart, falsepart). Es funktioniert, dass es den Wert des zweiten (truepart) oder dritten (falsepart) Argument abhängig von der Bedingung zurückgibt. Wie Sie in der obigen Tabelle in Zeile 8 sehen können, kommen die Werte aus Close-Array (truepart) für Bars, wenn die Bedingung wahr ist (1), und kommen aus Open array (falsepart) für die restlichen Balken. In diesem Fall besteht das von der IIF-Funktion zurückgegebene Array aus einigen Werten aus Close und einigen Werten aus dem Open-Array. Beachten Sie, dass sowohl truepart als auch falsepart Arrays sind und unabhängig von der Bedingung ausgewertet werden (so ist dies keine reguläre IF-THEN-ELSE-Anweisung, sondern eine Funktion, die Array zurückgibt) Die AMA-Funktion (array, factor) scheint die meisten Probleme mit zu verursachen Verstehen. Aber in der Tat ist es sehr einfach. Es funktioniert rekursiv. Es bedeutet, dass es seinen vorherigen Wert für die Berechnung des aktuellen Wertes verwendet. Es verarbeitet Array-Balken, wobei jeder Schritt eine gegebene Zelle des ersten Arguments (Array) mit einer gegebenen Zelle des zweiten Arguments (Faktor) multipliziert und sie dem vorherigen Wert von AMA multipliziert mit (1-Faktor) addiert. Wir betrachten Spalte 3. Der Wert von AMA in der Spalte 3 ergibt sich aus dem Multiplizieren des engen Preises aus Spalte 3 (1,23) mit Faktor (0,4). Dann addieren wir den vorherigen Wert von AMA (1.0363) multipliziert mit (1-Faktor 0,6). Das Ergebnis (gerundet auf 4 Stellen) beträgt 1,23 0,4 1,0363 0,6 1,1138. Wenn man sich die Zahlen in der Zeile 12 anschaut, kann man feststellen, dass diese Werte wie ein gleitender Durchschnitt aussehen. Und das ist wahr. Wir haben tatsächlich präsentiert, wie man variablen Zeitraum exponentiellen gleitenden Durchschnitt mit AMA-Funktion zu berechnen. Mit Version 4.40 bietet AmiBroker die Möglichkeit, durch Anführungszeichen mit und während der Schleifen iterieren zu können, und fügt eine if-else flow control-Anweisung hinzu. Diese Erweiterungen machen es möglich, BOTH Möglichkeiten: entweder ARRAY Verarbeitung (wie oben beschrieben) für Geschwindigkeit und Einfachheit oder verwenden Sie LOOPS für komplexe Dinge. Als Beispiel, wie zu implementieren variabel Perioden exponentielle Mittelung (oben beschrieben) mit Looping finden Sie unter den folgenden Code: Period. Einige Berechnung vaexp 0 Schließen 0 initialisieren ersten Wert für (i 1 i lt BarCount i) Berechnen Sie den Wert des Glättungsfaktors Faktor 2 (Periode i 1) Berechnen Sie den Wert des i-ten Elements des Arrays mit diesem Balken schließen (schließen i) und (Vaexp i - 1) vaexp i Faktor Schließen i (1 - Faktor) vaexp i - 1 Wie Sie sehen können, ist der Code länger, aber auf der anderen Seite ist er sehr ähnlich zu jeder anderen Programmiersprache wie CPascalBasic. So Menschen mit etwas Erfahrung mit der Programmierung kann es leichter zu begreifen. Wenn Sie Anfänger sind, empfehle ich, Array-Verarbeitung zuerst lernen, bevor Sie in komplexere Looping Zeug graben. Wenn youre, das Mühekodierung AFL hat, schlage ich vor, dass Sie die Arrays im Beispiel in Excel für selbst erzeugen. Wenn das ein Problem ist, erhalten Sie etwas Hilfe von einem Freund - besonders wenn dieser Freund ein Buchhalter ist. Sobald Sie haben den Hang davon können Sie jedes System aus einem Buch über den Handel - oder bauen Sie ein. --- Besonderer Dank an Geoff Mulhall für ursprünglichen Artikel im Rundschreiben, das die Grundlage dieses Tutoriums war --- Amibroker AFL Volumenstrom Indikator Amibroker AFL Volumenstrom Indicator Amibroker AFL Volumenstrom Indikator 8211 Dieses ist ein Indikator, der von Markos Katsanos als entwickelt wird Variante von On Balance Volume (OBV), aber es ist viel besser als das. Ich war auf diesen Indikator gestoßen und fand ihn bei der Volumenanalyse als äußerst nützlich. Als Verbesserungen gegenüber OBV hat Volumenstromindikator versucht, alle Mängel des OBV zu überwinden. Erstens, VFI verwendet stock8217s typischen Preis in seinen Berechnungen (High Low Close) 3. Dies entspricht dem wahren Durchschnitt der Handelsaktivität in Bezug auf Preis und Volumen. Zweitens gibt es eine minimale Cutoff-Änderung im Preis, nach dem die Berechnung durchgeführt wird. Anders als im OBV, wo sogar eine geringfügige Änderung des Preisniveaus zu verzerrten Berechnungen führen würde. Und schließlich, VFI nullifiziert die Auswirkungen der extremen Lautstärke Balken, die in der Regel verzerren alle Lautstärke-Indikator, wenn auf der Karte. VFI tut dies, indem es überschüssiges Volumen oberhalb einer bestimmten Grenze abschneidet, die als ein Vielfaches des Volumenbewegungsmittels ausgedrückt wird. So verwenden Sie die Volumenstromanzeige Dies ist, wie Markos Katsanos empfohlen hat, diesen Indikator zu verwenden. Der Nullpegel und die Richtung des VFI 8211 Wenn der Wert des VFI über Null liegt, gilt er als bullisch und zeigt Akkumulation an. Wenn der Wert von VFI unter Null liegt, wird die Verteilung angezeigt. Wenn die VFI die Nulllinie überquert, zeigt sie an, dass sich die Zwischenbilanz der Macht von den Stieren zu den Bären ändert und umgekehrt. Richtung der VFI ist auch wichtig. Wenn VFI steigt, bewegt sich der Preis höher. Wenn VFI fallen wird, wird der Preis schließlich fallen. Die Divergenz 8211 Divergenz ist eine klassische Methode, um potenzielle Umkehrung zu erkennen, wenn der Preis eine höhere oder niedrigere niedrig macht, die nicht durch den Indikator bestätigt wird. Im Zusammenhang mit diesem Indikator, wenn Volumen-Flow-Indikator nicht höhere Höhen oder niedrigeren Tiefs mit dem Preis zu bestätigen, dann Divergenz auftritt. Dies ist möglicherweise ein Umkehrsignal. Amibroker AFL Volumendurchflussanzeige 8211 VFI amp Trend Amibroker AFL Volumendurchflussanzeige 8211 Divergenz Amibroker AFL Volumendurchflussanzeige Klicken Sie hier zum Ansehen oder Klicken Sie mit der rechten Maustaste auf den Link und dann auf Speichern unter Herunterladen
No comments:
Post a Comment