POLYNOMIAL Amibroker AFL - POLYNOMIAL Amibroker AFL sagt alles, Formel für Intraday Trader. Aber ich würde sagen, dass dies für all jene Leute, die wieder n wieder n wieder n wieder für kleine Gewinne handeln wollen, das bedeutet, dass diese Formel für Skalierer ist. So sehen Sie den ersten Trend in max Zeitrahmen und Handel auf. 15 TAGE WMA VOLUMENANALYSE AFL - 15 TAGE WMA VOLUME ANALYSE AFL sagt alles, Formel für Intraday Trader. Aber ich würde sagen, dass dies für all jene Leute, die wieder n wieder n wieder n wieder für kleine Gewinne handeln wollen, das bedeutet, dass diese Formel für Skalierer ist. So sehen Sie den ersten Trend in max Zeitrahmen. Preis-Break-Out-Erkennung Afl - Preis-Break-Out-Erkennung Afl sagt alles, Formel für Intraday-Händler. Aber ich würde sagen, dass dies für all jene Leute, die wieder n wieder n wieder n wieder für kleine Gewinne handeln wollen, das bedeutet, dass diese Formel für Skalierer ist. So sehen Sie den ersten Trend in max timeframes, und. KRISHNA HARMONISCHE MUSTER DYNAMISCHE LEVELS AFL - KRISHNA HARMONISCHE MUSTER DYNAMISCHE LEVELS AFL sagt alles, Formel für Intraday Trader. Aber ich würde sagen, dass dies für all jene Leute, die wieder n wieder n wieder n wieder für kleine Gewinne handeln wollen, das bedeutet, dass diese Formel für Skalierer ist. Siehe also Keltner Bands für Amibroker (AFL) - Keltner Bands für Amibroker AFL sagt alles, Formel für Intraday Trader. Aber ich würde sagen, dass dies für all jene Leute, die wieder n wieder n wieder n wieder für kleine Gewinne handeln wollen, das bedeutet, dass diese Formel für Skalierer ist. So sehen Sie den ersten Trend in max Zeitrahmen. MTF NMA 3.5 Amibroker AFL - MTF NMA 3.5 Amibroker AFL sagt alles, Formel für Intraday Trader. Aber ich würde sagen, dass dies für all jene Leute, die wieder n wieder n wieder n wieder für kleine Gewinne handeln wollen, das bedeutet, dass diese Formel für Skalierer ist. So sehen Sie den ersten Trend in max Zeitrahmen und Handel auf. Pivot Punkte für Amibroker AFL - Pivot Punkte für Amibroker AFL sagt alles, Formel für Intraday Trader. Aber ich würde sagen, dass dies für all jene Leute, die wieder n wieder n wieder n wieder für kleine Gewinne handeln wollen, das bedeutet, dass diese Formel für Skalierer ist. So sehen Sie den ersten Trend in max timeframes, und. Top Bottom Long MA AFL - Top Bottom Long MA Afl sagt alles, Formel für Intraday Trader. Aber ich würde sagen, dass dies für all jene Leute, die wieder n wieder n wieder n wieder für kleine Gewinne handeln wollen, das bedeutet, dass diese Formel für Skalierer ist. So sehen Sie den ersten Trend in max Zeitrahmen und Handel auf dem. Parabolic Sar Intraday System AFL - Parabolic Sar Intraday System AFL sagt alles, Formel für Intraday Trader. Aber ich würde sagen, dass dies für all jene Leute, die wieder n wieder n wieder n wieder für kleine Gewinne handeln wollen, das bedeutet, dass diese Formel für Skalierer ist. So sehen Sie den ersten Trend in max. Guppy Multiple Moving Average Afl - Guppy Vielfacher Gleitender Durchschnitt mit dem Volumen gewichteten Durchschnitt afl sagt alles, Formel für Intraday Trader. Aber ich würde sagen, dass diese afl für all jene Leute, die wieder handeln wollen n wieder n wieder täglich für kleine Gewinne, das heißt, diese afl Formel ist für scalpers. Fig 1. Open Preis Array Jede andere Array wird aus diesen 6 Arrays mit berechnet Formeln in AFL eingebaut. Diese Arrays werden nicht in der Datenbank gespeichert, sondern bei Bedarf berechnet. Jeder einzelne Wert in einem Array hat ein damit verbundenes Datum. Wenn du die Tooltip-Option eingeschaltet hast (Preferences - gt Miscellaneous Tab - gt Preisdaten Tool-Tipps), wenn du den Cursor über die Kerze auf einem täglichen Kerzen-Diagramm verschiebst, erscheint ein kleines gelbes Rechteck. AFL schaut dann die offenen, niedrigen, hohen, nahen, Volumenwerte in der entsprechenden Array auf und zeigt sie in der Werkzeugspitze an. Verarbeiten von Arrays - warum ist AFL so schnell Lets sehen, wie die folgende Anweisung verarbeitet wird: MyVariable (High Low) 2 Wenn AFL die Anweisung wie diese (High Low) 2 auswertet, muss dieser Code für jeden Balken nicht neu interpretiert werden. Stattdessen braucht es den High ARRAY und Low ARRAY und fügt entsprechende Arrayelemente in einstufiger Weise hinzu. Mit anderen Worten, Operator (und andere Operatoren auch) arbeiten auf Arrays auf einmal und es wird mit voller kompilierter Code-Geschwindigkeit ausgeführt, dann wird das resultierende Array (jedes Element davon) durch 2 auch in einer Stufe geteilt. Lass uns die Details anschauen - siehe Abb. 2. Wenn die AFL-Engine auf die (High Low) 2 schaut, nimmt sie zuerst High (1) und Low (2) Arrays und produziert (in Single Compiled Step) das temporäre Array (3). Dann schafft es das endgültige Array (4), indem jedes Element der temporären Array durch zwei dividiert wird. Dieses Ergebnis wird myVariable zugewiesen Abb. 2. AFL-Schritte bei der Verarbeitung (High Low) 2 Gleitende Mittelwerte, bedingte Aussagen Betrachten wir nun den folgenden Code: Cond1 Schließen gt MA (Schließen, 3) Cond2 Volume gt Ref (Volume, -1) Kaufen Cond1 AND Cond2 Verkaufen High gt 1.30 Dieser Code generiert ein Kauf-Signal, wenn heutige Schließung ist höher als 3 Tage gleitenden Durchschnitt der engen UND-Tage-Volumen ist höher als gestern Volumen. Es erzeugt auch ein Verkaufssignal, wenn der heutige Hoch höher als 1,30 ist. Wenn Sie in Ihrem AFL-Code sehen müssen, ob der Schlusskurs größer ist als ein 3-tägiger einfacher gleitender Durchschnitt, wird AFL zuerst durch das enge Array gehen, das ein neues Array mit dem Namen MA (close, 3) für das zu analysierende Symbol erstellt. Jede Zelle im neuen Array kann dann im engen Array verglichen werden. Im Beispiel wird ein Array namens Cond1 auf diese Weise erstellt. Für jede Zelle, bei der der Schlusskurs größer ist als der entsprechende Zellwert in MA (nahe, 3), wird der Zellenwert für das neue Array Cond1 auf 1 gesetzt. Ist der Schlusskurs nicht größer als der entsprechende Preis im engen Array der Wert In Cond1 ist auf 0 gesetzt. AFL kann auch eine Anzahl von Zellen in einem Array mit der Ref-Funktion nach vorne oder hinten schauen (siehe Zeile 6, wo temporäres Array erstellt wird, das das vorhergehende Volumen enthält) In Zeile 9 wurde ein neues Array namens Cond2 erstellt Durch Vergleich des Wertes jeder Zelle im Volume-Array mit der vorherigen Zelle, die den Cond2-Zellenwert auf 1 setzt, wenn true und 0, falls false. Zeile 10 zeigt ein Array namens Buy, das durch Vergleich der Zellenwerte in Cond1 mit den Zellenwerten in Cond2 erstellt wurde. Wenn die Zelle in Cond1 eine 1 AND hat, so ist die entsprechende Zelle in Cond2 dann eine 1 in die Buy-Array-Zelle platziert. Zeile 11 zeigt ein Array namens Sell erstellt, wenn der Zellenwert in der Nah-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 nach Bedarf angezeigt werden können. Es wurde ein bisschen komplexer. Die obigen Beispiele waren sehr einfach. Jetzt werde ich nur erklären, 3 Dinge, die scheinen, um einige Verwirrung unter den Benutzern zu generieren: Referenzierung ausgewählter Werte (SelectedValue, BeginValue, EndValue, LastValue) IIF-Funktion AMA-Funktion Wie im Tutorial geschrieben: Grundlegende Charting-Guide können Sie ein beliebiges Zitat aus dem Diagramm auswählen Und Sie können von-To-Bereich markieren. Die von der verticall-Zeile ausgewählte Leiste wird als quittiert als Balken bezeichnet, während Start - und Endstäbe des Bereichs als Quoten - und Quotendquot-Balken bezeichnet werden. AFL hat spezielle Funktionen, die es erlauben, den Wert des Arrays an der ausgewählten, Anfangs - und Endleiste zu referenzieren. Diese Funktionen heißen SelectedValue, BeginValue und EndValue. Es gibt eine weitere Funktion namens LastValue, die es erlaubt, den Wert des Arrays an der letzten Leiste zu erhalten. Diese vier Funktionen nehmen das Array-Element an der gegebenen Leiste und geben SINGLE NUMBER zurück, die den Wert des Arrays an einem gegebenen Punkt darstellt. Dies erlaubt es, einige Statistiken über ausgewählte Punkte zu berechnen. Zum Beispiel: EndValue (Close) - BeginValue (Close) Gib dir einen Dollarbeweg zwischen engen Preisen im ausgewählten Bereich. Wenn die Nummer, die von einer dieser Funktionen abgerufen wird, mit einem Array oder einer anderen arithmetischen Operation verglichen wird, die eine Anzahl umfasst und das Array durchgeführt wird, funktioniert es wie die Zahl, die alle Arrayelemente überspannt hat. Dies ist in der folgenden Tabelle dargestellt (Zeilen 2, 6, 7). Grüne Farbmarken quittierte Bar und rote Farbmarken quotendquot bar. Ausgewählte Bar ist blau markiert. Jetzt ist die IIF (Bedingung, truepart, falsepart) Funktion. Es funktioniert, dass es den Wert des zweiten (truepart) oder dritten (falschteiligen) Arguments abhängig von der Bedingung zurückgibt. Wie Sie in der Tabelle oben in Zeile 8 sehen können, kommen die Werte aus dem Schließen-Array (truepart) für Balken, wenn die Bedingung wahr ist (1) und von Open Array (falsepart) für die restlichen Balken kommen. In diesem Fall besteht das von der IIF-Funktion zurückgegebene Array aus einigen Werten aus Close und einigen Werten aus Open Array. Beachten Sie, dass sowohl truepart als auch falsepart Arrays sind und sie unabhängig von der Bedingung ausgewertet werden (also ist dies keine reguläre IF-THEN-ELSE-Anweisung, aber Funktion, die Array zurückgibt) Die AMA (Array-, Faktor-) Funktion scheint die meisten Probleme zu verursachen Es zu verstehen Aber in Wirklichkeit ist es sehr einfach. Es funktioniert rekursiv. Es bedeutet, dass es seinen vorherigen Wert für die Berechnung des aktuellen Wertes verwendet. Es verarbeitet die Array-Leiste nach Balken, wobei jeder Schritt die gegebene Zelle des ersten Arguments (Array) durch die gegebene Zelle des zweiten Arguments (Faktor) multipliziert und den vorherigen Wert von AMA multipliziert mit (1-Faktor) addiert. Lets betrachten Spalte 3. Der Wert von AMA in Spalte 3 ergibt sich aus dem Multipling-Schlusskurs aus Spalte 3 (1,23) nach Faktor (0,4). Als wir den vorherigen Wert von AMA (1.0363) multipliziert mit (1 Faktor 0,6) addieren. Das Ergebnis (auf 4 Plätze gerundet) beträgt 1,23 0,4 1,0363 0,6 1,1138. Wenn man sich die Figuren in der Reihe 12 ansieht, merkt man vielleicht, dass diese Werte wie ein gleitender Durchschnitt von nah aussehen. Und das ist wahr. Wir haben tatsächlich vorgestellt, wie man einen variablen Perioden-exponentiellen gleitenden Durchschnitt mit Hilfe der AMA-Funktion berechnet. Mit Version 4.40 AmiBroker bringt die Fähigkeit, durch Anführungszeichen zu verwenden, die für und während Schleifen verwenden und fügt if-else flow control Anweisung hinzu. Diese Erweiterungen machen es möglich, BOTH-Wege zu arbeiten: Verwenden Sie entweder ARRAY-Verarbeitung (oben beschrieben) für Geschwindigkeit und Einfachheit oder verwenden Sie LOOPS für komplexe Dinge. Als Beispiel, wie man eine variable Perioden-Exponential-Mittelung (oben beschrieben) mit Looping implementieren kann, sehen Sie den folgenden Code: Periode. Einige Berechnung vaexp 0 Schließen 0 initialisieren erster 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 Elementes des Arrays mit dieser Leiste schließen (schließen Sie 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 es sehr ähnlich zu jeder anderen Programmiersprache wie CPascalBasic. So können Leute mit etwas Erfahrung mit Programmierung es leichter zu begreifen finden. Wenn Sie Anfänger sind, schlage ich vor, Array-Verarbeitung zu erlernen, bevor Sie in komplexere Looping-Sachen graben. Wenn du Schwierigkeiten hast, AFL zu codieren, schlage ich vor, dass du die Arrays im Beispiel in Excel für dich selbst generierst. Wenn das ein Problem ist, bekommen Sie Hilfe von einem Freund - besonders wenn dieser Freund ein Buchhalter ist. Sobald du den Hang davon hast, kannst du jedes System aus einem Buch über den Handel kodieren - oder einen selbst bauen. --- Besonderer Dank an Geoff Mulhall für den Originalartikel im Newsletter, der die Grundlage dieses Tutorials war - AFL ist eine spezielle Programmiersprache, die verwendet wird, um benutzerdefinierte Indikatoren, Scans, Explorationen, Rücktests und Guru-Kommentare zu definieren und zu erstellen. Lexikalische Elemente Dieses Kapitel beschreibt die verschiedenen Kategorien von wortähnlichen Einheiten (Token), die vom AFL-Sprachdolmetscher erkannt werden. Whitespace Whitespace ist der kollektive Name für Leerzeichen (Leerzeichen), Tabs, neue Zeilenzeichen und Kommentare. Whitespace kann dazu dienen, anzugeben, wo Token beginnen und enden, aber jenseits dieser Funktion wird jeder überschüssige Whitespace verworfen. Kommentare sind Textstücke, die verwendet werden, um ein Programm zu kommentieren. Kommentare sind für die Programmierer verwenden nur sie sind aus dem Quellcode vor dem Parsing entfernt. Das sind zwei Möglichkeiten, um Kommentare abzuschreiben: C-like Kommentare und C wie Kommentare. Ein C-ähnlicher Kommentar ist eine beliebige Folge von Zeichen, die nach dem Symbolpaar platziert wurden. Der Kommentar endet beim ersten Auftreten des Paares nach dem Initialen. Die gesamte Sequenz, einschließlich der vier Kommentar-Trennzeichen-Symbole, wird durch einen Raum ersetzt. Ein C wie Kommentare sind einzeilige Kommentare, die mit zwei benachbarten Schrägstrichen () an beliebiger Stelle innerhalb der Linie beginnen und bis zur nächsten neuen Zeile reichen. AFL erlaubt keine verschachtelten Kommentare. AFL erkennt fünf Klassen von Token: Identifikatoren Konstanten String-Literale Operatoren Punctuatoren (auch als Separatoren bezeichnet) Identifikatoren sind beliebige Namen beliebiger Länge, die Funktionen und Variablen gegeben sind. Identifikatoren können die Buchstaben (a-z, A-Z), das Unterstrichzeichen (quotquot) und die Ziffern (0-9) enthalten. Das erste Zeichen muss ein Brief sein. AFL-Identifikatoren sind nicht zwischen Groß - und Kleinschreibung unterschieden. Konstanten sind Token, die feste numerische oder Zeichenwerte darstellen. Numerische Konstanten bestehen aus Dezimalzahl und optional: Dezimalpunkt und Dezimalbruchteil. Negative numerische Konstanten haben unary minus (-) vorangestellt. String-Konstanten, auch als String-Literale bekannt. Bilden eine spezielle Kategorie von Konstanten, die verwendet werden, um feste Sequenzen von Zeichen zu behandeln und werden als eine Sequenz einer beliebigen Anzahl von Zeichen geschrieben, die von doppelten Anführungszeichen umgeben sind: Dies ist buchstäblich ein Stringquot Der null (leere) String ist quittiert. Die Zeichen innerhalb der doppelten Anführungszeichen können Escape-Sequenzen (quotnquot - eine neue line-Escape-Sequenz) enthalten. Ein konstanter Ausdruck ist ein Ausdruck, der immer eine Konstante auswertet. Sie werden ebenso ausgewertet wie reguläre Ausdrücke. Punctuator (auch als Trennzeichen bekannt) in AFL ist eines der folgenden Zeichen: (). . Klammern (öffnen (und schließen)) Gruppenausdrücke, isolieren bedingte Ausdrücke und geben Funktionsaufrufe und Funktionsparameter an: dc (ab) überschreiben normale Vorrang a (b UND c) OR (d UND e) bedingter Ausdruck func () Funktion rufen keine Argumente auf Das Komma (,) trennt die Elemente einer Funktionsargumentliste Das Semikolon () ist ein Anweisungsterminator. Jede rechtliche AFL-Expression, gefolgt von einem Semikolon, wird als eine Anweisung interpretiert, die als Ausdrucksaussage bekannt ist. Der Ausdruck wird ausgewertet und sein Wert wird verworfen (außer Guru-Kommentare, wo String-Werte in das Ausgabefenster geschrieben werden) Der Punkt (.) Ist ein Mitgliedszugriffsoperator. Es wird verwendet, um COM-Objekt-Methoden aufzurufen. Wenn myobj-Variable das Objekt mit dem dot-Operator hält, können wir die Methoden (Funktionen) des myobj-Objekts aufrufen: Das Gleichheitszeichen () trennt Variablendeklarationen aus Initialisierungslisten: x 5 Es gibt auch den Standardwert für einen Parameter an (siehe eingebaut Funktionsbeschreibung): macd (schnell 12 langsam 26) Standardwerte für schnelle und langsame Argumente) Sprachstruktur Jede Formel in AFL enthält eine oder mehrere Ausdrucksaussagen. Jede Aussage muss durch Semikolon () beendet werden. Auf diese Weise können Sie lange Ausdrücke in mehrere physikalische Linien brechen (um Klarheit zu erlangen) und AmiBroker wird es immer noch wie eine einzige Aussage behandeln, bis das Semikolon beendet ist. Beispiele: Identifikatoren Identifikatoren in AFL werden verwendet, um Variablen und Funktionen zu identifizieren. Es gibt einige vordefinierte Bezeichner, die auf eingebaute Arrays und Funktionen verweisen. Die wichtigsten sind Preis-Array-Identifikatoren. Sie identifizieren spezifische Preisfelder, auf die die Formel einwirken soll. Die gültigen Array-Bezeichner sind offen. hoch . niedrig . schließen . Volumen Openint Durchschnittlich Preis-Array-Identifikatoren können wie in der folgenden Tabelle gezeigt abgekürzt werden. Beachten Sie, dass dies nicht case-specific ist. Speichern Sie den Wert des zweiten Operanden in dem vom ersten Operanden angegebenen Objekt (8220simple assignment8221). Der Zuweisungsoperator weist einer Variablen einen Wert zu: wo Ergebnis Variablenkennung ist und Ausdruck ein beliebiger numerischer, Array - oder Textausdruck ist. Da sich der Operator wie andere Operatoren verhält, haben Ausdrücke, die ihn verwenden, zusätzlich zu der Zuordnung dieses Wertes in die Variable einen Wert. Dies bedeutet, dass Sie die Zuweisungsoperatoren wie folgt ketten können: j k l 0 j, k und l gleich Null, nachdem die Beispielanweisung ausgeführt wurde. Achtung: Bitte nicht verweigern Zuweisungsoperator () mit Gleichheitsprüfung () Dies sind zwei verschiedene Betreiber und Sie dürfen keine Zuordnung () verwenden, um die Gleichheit zu überprüfen. If (Name () quotMSFTquot) WRONG. - Variablenzuweisungsoperator anstelle der Gleichheitsüberprüfung verwendet, wenn (Name () quotMSFTquot) CORRECT - Gleichheitsoperator richtig verwendet Dies ist einer der häufigsten Codierungsfehler, die hier aufgeführt sind. Arithmetische Operatoren Formeln können die folgenden mathematischen Operatoren enthalten: Erhalten Sie die bitweise Inklusive ODER der ersten und zweiten Operanden speichern das Ergebnis in dem Objekt, das durch den ersten Operanden typeof () Operator spezifiziert wird Der Typofoperator wird auf folgende Weise verwendet: typeof (Operand) Der Typ des Operators gibt einen String zurück, der den Typ des nicht ausgewerteten Operanden angibt. Operand ist die Zeichenfolge, Variable, Funktionskennung oder Objekt, für die der Typ zurückgegeben werden soll. Bei der Bereitstellung von Bezeichner sollte es alleine ohne arithmetische Operatoren ohne zusätzliche Argumente und ohne Klammern bereitgestellt werden. Wenn Sie den von der Funktion zurückgegebenen Werttyp überprüfen möchten, müssen Sie den Rückgabewert zunächst einer Variablen zuordnen und dann typeof (Variable) verwenden. Mögliche Rückgabewerte sind: quotundefinedquot - identifier ist nicht definiert quotnumberquot - operand steht für eine nummer (skalar) quotarrayquot - operand stellt ein array quotstringquot dar - operand stellt einen string formfaktor dar - operand ist ein eingebauter funktionsbezeichner quotuser functionquot - operand ist ein user - Definierte Funktion quotobjectquot - Operand repräsentiert COM-Objekt quotmemberquot - Operand repräsentiert Member-Funktion oder Eigenschaft von COM-Objekt quothandlequot - Operand steht für Windows-Handle quotunknownquot - Typ des Operanden ist unbekannt (sollte nicht passieren) typeof-Operator erlaubt unter anderem, um undefinierte Variablen im folgenden zu erkennen (Ifvar) undefined) Wenn somevar undefined ist, wird der Code hier ausgeführt. Das folgende Beispiel COMMENTARY Code zeigt die Ausgabe von typeof () in einigen üblichen Situationen: x MACD () y LastValue (x) Funktion testfun () return 1 Printf (typeof (test) n) die undefinierte Variable printf (typeof (1) n) wörtliche Zahl printf (typeof (checking) n) literal string printf (typeof (x) n) array variable printf (typeof (y) n) skalar Variable printf (typeof (MACD) n) Funktionskennung printf (typeof (testfun) n) Benutzerfunktionskennung Operatorvorrang und Klammern AFL unterstützt Klammern in Formeln. Klammern können verwendet werden, um die Operation Vorrang zu kontrollieren (die Reihenfolge, in der die Operatoren berechnet werden). AmiBroker macht immer Operationen in den innersten Klammern. Wenn Klammern nicht verwendet werden, ist der Vorrang wie folgt (höhere Priorität aufgeführt zuerst): (ohne Klammer) würde von AmiBroker als quotL 2quot plus quotHquot berechnet werden, da Division eine höhere Priorität hat. Dies würde zu einem viel anderen Wert führen als ein paar Worte über incrementdecrement Operatoren. Es gibt zwei Arten von ihnen: Postfix und Präfix. Die unären Operatoren (und -) heißen 8220prefix8221 inkrementieren oder dekrementieren Operatoren, wenn die Inkrement - oder Dekrementoperatoren vor dem Operanden erscheinen. Postfix Inkrement und Dekrement hat höhere Priorität als Präfix Inkrement und Dekrement Operatoren. Wenn der Operator vor seinem Operanden erscheint, wird der Operand inkrementiert oder dekrementiert und sein neuer Wert ist das Ergebnis des Ausdrucks. Ich werde zuerst inkrementiert und Ergebnis (Nummer 6) wird zugewiesen. Das Ergebnis des Postfix-Inkrement - oder Dekrement-Vorgangs ist der Wert des Postfix-Ausdrucks, bevor der Inkrement - oder Dekrement-Operator angewendet wird. Die Art des Ergebnisses ist die gleiche wie die des Postfix-Ausdrucks, ist aber nicht mehr ein l-Wert. Nachdem das Ergebnis erhalten wurde, wird der Wert des Operanden inkrementiert (oder dekrementiert). Jij wird der Wert von 5 (vor Inkrementierung) zugewiesen und dann werde ich auf 6 erhöht. Zugriff auf Array-Elemente: - subscript operator Ein Array-Identifier gefolgt von einem Ausdruck in eckigen Klammern () ist eine subscripted Darstellung eines Elements eines Arrays Objekt. Es repräsentiert den Wert des Ausdrucks-ten Elements des Arrays. BarCount-Konstante gibt die Anzahl der Balken in Array (wie Close, High, Low, Open, Volume, etc.). Array-Elemente werden von 0 (Null) bis BarCount-1 nummeriert. BarCount ändert sich nicht, solange Ihre Formel die Ausführung fortsetzt, aber es kann zwischen den Ausführungen wechseln, wenn neue Balken hinzugefügt werden, der Zoomfaktor geändert oder das Symbol geändert wird. Um die erste Leiste zu erhalten, kannst du Array 0 verwenden, um die letzte Leiste des Arrays zu erhalten, die du Array verwenden kannst. BarCount - 1 Schließen 5 Stellt das sechste Element (Balken) des nahen Arrays dar. Schließen 0 Stellt die allererste verfügbare Leiste des nahen Arrays dar. High BarCount - 1 Stellt den letzten Balken von High Array dar. Matrizen und Matrixoperatoren Matrizen sind zweidimensionale Arrays von Zahlen. Um eine Matrix zu verwenden, verwenden Sie: myvarname Matrix (rows, cols, initvalue) Um auf Matrixelemente zuzugreifen, verwenden Sie: myvarname row col wobei row ein Zeilenindex ist (0. Anzahl der Zeilen-1) und col ist ein Spaltenindex (0. number Der Spalten-1) Matrizen und ihre Elemente unterstützen alle skalaren (elementweisen) arithmetischen und logischen Operationen. Alle diese Standardoperatoren werden auf Matrizen elementweise ausgeführt. Aus diesem Grund zum Beispiel zwei Matrizen hinzuzufügen, müssen sie die gleiche Größe haben (die Anzahl der Zeilen und Spalten muss gleich sein). Wenn es nicht dasselbe ist, liegt es an Ihnen, wie Sie die Berechnung auf jedem Element über eine Schleife durchführen können. So können Sie zB addieren, subtrahieren, multiplizieren, zwei Matrizen teilen, wenn sie dieselben Dimensionen mit einem Aufruf haben. X Matrix (5. 6. 9) Matrix 5 Zeilen 6 Spalten, Anfangswert 9 y Matrix (5. 6. 10) Matrix 5 Zeilen 6 Spalten, Initialwert 10 zy - x gibt Dir Matrix 5 Zeilen und 6 Spalten gefüllt mit Elemente mit Wert 1 (Differenz zwischen 10 und 9). Alle diese Operationen werden durchgeführt ELEMENT-WISE. Sie können auch jede arithmetische und logische Operation auf Matrix-UND-Skalarwert anwenden. Dies würde eine elementare Operation auf jedem Element der Quellmatrix und dem skalaren Wert durchführen. M Matrix (10. 10. 0) m wird 10x10 Matrix gefüllt mit Nullen z m z ist nun auch eine Matrix für (i 0 i lt 10 i) z i 4 i füllen z mit einigen anderen Werten, beachten Sie, dass m unberührt bleibt. Für (i 0 i lt 10 i) TRACEF (gg, g, gn. I, mi 1, mi 4, zi 4) skalare Addition (elementweise) z 3 m 5 für (i 0 i lt 10 i) TRACEF (gg , G, gn. I, mi 1, mi 4, zi 4) Es gibt einen speziellen Operator, der nur auf Matrizen arbeitet - es ist Matrixprodukt. Der Operator für Matrixprodukt ist (das Zeichen). Matrixprodukt ist die lineare Algebra-Methode, um Matrizen zu multiplizieren. Wenn Sie CAB schreiben, multipliziert sie die Matrix A (n, k) mit der Matrix B (k, m), um die Matrix C (n, m) zu erzeugen, so dass die Anzahl der Spalten in Matrix A gleich der Anzahl der Zeilen in Matrix B sein muss. Weitere Informationen finden Sie unter: en. wikipedia. orgwikiMatrixmultiplication Der Vorrang des Matrixproduktbetreibers ist der gleiche wie (so hat er höhere Priorität als Addition und Subtraktion). Eine Matrix (1. 3) B Matrix (3. 2) Matrix A 1, 4, 6 Matrix B 2, 3 5, 8 7, 9 A 0 0 1 A 0 1 4 A 0 2 6 B 0 0 2 B 0 1 2 B 1 0 5 B 1 1 8 B 2 0 7 B 2 1 9 TRACEF (g g. X 0 0, X 0 1) zusammengesetzte Anweisungen (Bausteine) Eine zusammengesetzte Anweisung besteht aus null oder mehr in geschweiften Klammern eingeschlossenen Anweisungen ( ). Eine zusammengesetzte Anweisung kann überall dort verwendet werden, wo eine Aussage erwartet wird. Zusammengesetzte Anweisungen werden gemeinhin als 8220blocks.8221 bezeichnet (dies wird von der C-Sprache ausgeliehen, Benutzer anderer Programmiersprachen werden verwendet, um BEGIN für zu verwenden) wenn (Betrag gt 100) TRACE (Betrag über 100) Saldo Betrag sonst Balance Balance - Betrag Built - In Funktionen Zusätzlich zu mathematischen Operatoren enthält AmiBroker über 70 integrierte Funktionen, die mathematische Operationen durchführen. Die folgende Formel besteht aus einer einzigen Funktion, die die Quadratwurzeln der Schlusskurse ergibt: Die folgende Formel besteht aus einer einzigen Funktion, die einen 14-Perioden-RSI-Indikator gibt: Die folgende Formel besteht aus zwei Funktionen. Das Ergebnis ist die Differenz zwischen dem MACD-Indikator und einem 9-Perioden-exponentiellen gleitenden Durchschnitt des MACD: Alle Funktionsaufrufe müssen aus Funktionskennzeichen (Name), gefolgt von einem Paar von Klammern bestehen. Wie in früheren Beispielen entnommen wurde, kann eine Funktion innerhalb einer Funktion quittiert werden. Die verschachtelte Funktion kann als Hauptfunktionsdaten-Array-Parameter dienen. Die folgenden Beispiele zeigen Funktionen, die in Funktionen verschachtelt sind: Das erste Beispiel berechnet einen 10-fach einfachen gleitenden Durchschnitt eines 15-Perioden-Relative Strength Index (RSI). Das zweite Beispiel berechnet einen 20-Perioden-exponentiellen gleitenden Durchschnitt eines 15-Perioden-RSI und berechnet dann einen 10-fach einfachen gleitenden Durchschnitt dieses gleitenden Durchschnitts. Bedingungsfunktion IIF () Mit der Funktion iif () werden bedingte Zuordnungen erstellt. Es enthält drei Parameter wie im folgenden Beispiel gezeigt. Die oben genannte Quittungserklärung lautet (in englischer Sprache) wie folgt: Wenn der heutige Abschluss größer ist als der heutige 10-tägige einfache gleitende Durchschnitt der Schließung, dann ordnen Sie der dynamischen Variablen einen 9-tägigen RSI zu, ansonsten weisen Sie einen 14-tägigen RSI zu. Die nächste Formel ordnet 149positive volume148 der Volresult-Variable zu, wenn das Schließen größer ist als der Medianpreis. Andernfalls wird ein quotnegative volumequot zugeordnet. Wenn Sie einfach wollen, dass ein Ausdruck als wahr oder falsch ausgewertet wird, kann dies ohne die Verwendung der iif () - Funktion erfolgen. Die folgende Formel führt entweder zu einem 1 (true) oder einem 0 (false): Das gleiche getan mit iif () gibt die gleichen Ergebnisse, aber die Formel ist länger. Bitte beachten Sie, dass IIF eine Funktion ist - so wird das Ergebnis der Auswertung von dieser Funktion zurückgegeben und sollte einer Variablen zugeordnet werden. IIf wertet immer sowohl TRUEPART als auch FALSEPART aus, obwohl er nur einen von ihnen zurückgibt. Aus diesem Grund sollten Sie auf unerwünschte Nebenwirkungen achten. IIF-Funktion ist NICHT eine Flusskontrolle. Wenn Sie eine Flusskontrolle benötigen (bedingte Ausführung einiger Codeteile), sollten Sie nach einer anderen Bedingungserklärung suchen, die später in diesem Dokument beschrieben wird. Das folgende Beispiel zeigt einen gemeinsamen Fehler, der mit der IIF-Funktion gemacht wurde: IIf (Bedingung, Ergebnis 7. Ergebnis 9) DIES IST FALSCH Die korrekte Verwendung ist: Ergebnis IIf (Bedingung, 7. 9) 7 oder 9 wird zurückgegeben und der Ergebnisvariable zugeordnet Bedingung Um die Aufrechterhaltung komplexer Formeln zu verkürzen, zu vereinfachen, zu verbessern und zu erleichtern, können Sie Variablen verwenden. In der Tat mit Variablen können Sie deutlich verbessern Formel Berechnung Geschwindigkeit. So wird dringend empfohlen, Variablen zu verwenden und es gibt keine Begrenzung auf die Anzahl der Variablen, die Sie definieren können. Eine Variable ist eine Kennung, die einem Ausdruck oder einer Konstanten zugeordnet ist. Die Anzahl der Variablen, die in einer Formel verwendet werden, ist nicht begrenzt. Variablen müssen zugeordnet werden, bevor die Variable in der Formel verwendet wird. Variablen können nicht innerhalb eines Funktionsaufrufs vergeben werden. Benutzerdefinierte Variablennamen (Bezeichner) können nicht bereits von Funktionen verwendete Namen duplizieren (zB ma, rsi, cci, iif usw.) oder vordefinierte Array-Identifikatoren (zB offen, hoch, niedrig, nah, einfach, o, c, l, H, s, a). Reservierte Variablen AmiBroker verwendet einige reservierte Variablennamen in seinen Formeln, zum Beispiel im Auto-Analyse-Fenster müssen Sie Werte auf 2 Variablen mit dem Namen buy oder sell vergeben, um die Bedingungen anzugeben, unter denen quotbuyquot und quotsellquot Bedingungen auftreten. Zum Beispiel (System, das kauft, wenn MACD über 0 Zeile steigt und verkauft, wenn MACD unter 0 Zeile fällt) verwendet AmiBroker die folgenden reservierten Variablennamen. Bitte beachten Sie, dass Variablen, die als veraltet markiert sind, nicht in neuer Codierung verwendet werden dürfen. Sie sind nur für Rückwärtskompatibilität gelassen und neue Formeln sollten moderne Funktionen wie Plot () verwenden, um Indikatoren und AddColumn () zu definieren, um Explorationsspalten zu definieren. Diagramm N Farbe (veraltet) definiert den Farbindex der N-ten Graphenlinie (Farbindizes beziehen sich auf die aktuelle Palette - siehe PreferencesColor) colorCustom1 0 colorCustom2 1 colorCustom3 2 colorCustom4 3 colorCustom5 4 colorCustom6 5 colorCustom7 6 colorCustom8 7 colorCustom9 8 colorCustom10 9 colorCustom11 10 ColorCustom12 11 colorCustom13 12 colorCustom14 13 colorCustom15 14 colorCustom16 15 colorBlack 16 colorBrown 17 colorDarkOliveGreen 18 colorDarkGreen 19 colorDarkTeal 20 colorDarkBlue 21 colorIndigo 22 colorDarkGrey 23 colorDarkRed 24 colorOrange 25 colorDarkYellow 26 colorGreen 27 colorTeal 28 colorBlue 29 colorBlueGrey 30 colorGrey40 31 colorRed 32 colorLightOrange 33 colorLime 34 colorSeaGreen 35 ColorAqua 35 colorLightBlue 37 colorViolet 38 colorGrey50 39 colorPink 40 colorGold 41 colorYellow 42 colorBrightGreen 43 colorTurquoise 44 colorSkyblue 45 colorPlum 46 colorLightGrey 47 colorRose 48 colorTan 49 colorLightYellow 50 colorPaleGreen 51 colorPaleTurquoise 52 colorPaleBlue 53 colorLavender 54 colorWhite 55 graph N barcolor (veraltet) definiert das Array, das Hält Palettenindizes für jeden gezeichneten Balkendiagramm N-Stil (veraltet) definiert den Stil des N-ten Graphen. Style ist definiert als eine Kombination (Summe) eines oder mehrerer nachfolgender Flags: styleLine 1 - normales (Zeilen-) Diagramm (Standard) styleHistogramm 2 - Histogramm-Diagramm styleThick 4 - Fett (dick) styleDots 8 - include dots styleNoLine 16 - no line styleLog 32 - halb-logarithmische Skala styleCandle 64 - Leuchter-Diagramm styleBar 128 - traditionelles Balkendiagramm styleNoDraw 256 - kein Unentschieden (nur Achsen-Skalierung durchführen) StyleStaircase 512 - Treppenhaus (quadratisch) chart styleSwingDots 1024 - Mittelpunkte für Treppenhaus-ChartNoRescale 2048 - kein Rescale StyleNoLabel 4096 - kein Wert Etikett stylePointAndFigure 8192 - Punkt und Figur (neu in 4.20): styleArea 16384 - Bereichsdiagramm (extra breites Histogramm) styleOwnScale 32768 - Plot verwendet unabhängige Skalierung styleLeftAxisScale 65536 - Plot verwendet linke Achsenskala (unabhängig von der rechten Achse) Nicht alle Flaggenkombinationen machen Sinn, zum Beispiel (641) (Candlestick Line) wird in Candlestick Chart (style64) Hinweis auf Candlestickbar Charts: Diese Stile verwenden indirekt O, H, L Arrays zusätzlich zu Grafik N. So gewöhnliche Leuchter Preis Chart Formel ist graph0close graph0style64. Aber wenn du etwas anderes als den nahen Preis zeichnen willst, musst du den vordefinierten O, H, L Arrays neue Werte zuordnen. Graph N Barcolor (veraltet) definiert das Array von Farbindizes für die Balken und Leuchter im N-ten Graphen (Farbindizes beziehen sich auf die aktuelle Palette - siehe PreferencesColor)
Ausübung nicht qualifizierter Aktienoptionen Was Sie wissen müssen, wenn Sie nicht qualifizierte Aktienoptionen ausüben. Ihre nicht qualifizierte Aktienoption gibt Ihnen das Recht, Aktien zu einem bestimmten Preis zu kaufen. Sie üben dieses Recht aus, wenn Sie Ihren Arbeitgeber über Ihren Kauf gemäß den Bedingungen der Optionsvereinbarung benachrichtigen. Die genauen steuerlichen Konsequenzen der Ausübung einer nicht qualifizierten Aktienoption hängen von der Art der Ausübung der Option ab. Aber im Allgemeinen youll Bericht Ausgleich Einkommen gleich dem Schnäppchen Element zum Zeitpunkt der Übung. Hinweis: Die hier beschriebenen Regeln gelten, wenn die Aktie bei Erhalt der Ware ausgeübt wird. Im Allgemeinen ist Lagerbestand, wenn Sie ein uneingeschränktes Recht haben, es zu verkaufen, oder Sie können Ihren Job beenden, ohne den Wert des Bestandes aufzugeben. Sehen Sie, wenn Vorrat vorhanden ist. Wenn die Aktie nicht ausgeübt wird, wenn Sie die Option ausüben, wenden Sie die Regeln für...
Comments
Post a Comment