Verwenden von Grafik-Stilen, Farben, Titeln und Parametern in Indikatoren AmiBroker bietet anpassbare Stile und Farben von Graphen in benutzerdefinierten Indikatoren. Diese Funktionen ermöglichen mehr Flexibilität bei der Gestaltung Ihrer Indikatoren. Dieser Artikel erklärt, wie man Stile und Farben verwendet. Es wird auch erklären, wie man Chart-Titel, der am oberen Rand des Diagramms erscheint zu definieren. Plot ist die Funktion, die verwendet wird, um ein Diagramm zu zeichnen. Es dauert 9 Parameter, aus denen die ersten 3 erforderlich sind. Array-Parameter repräsentiert Daten, die geplottet werden sollen, der Name-Parameter definiert den Namen des Graphen (der in der Titelfolge verwendet wird, um die Werte des Indikators anzuzeigen), der Farbparameter definiert die Farbe des Plots, der Stil definiert den Quotthe-Lookquot des Diagramms (dh linehistogramcandlestickbar, etc ). Standard-Stil ist Zeile. Minimalwert und Maximalwert werden selten verwendete Paremeter verwendet, die hartcodierte minimale und maximale Werte definieren, die verwendet werden, wenn Graph eine fehlerhafte Skalierung verwendet, d. h. styleOwnScale wird im Style-Parameter angegeben. Normalerweise müssen Sie sie nicht ganz angeben. XShift erlaubt das Verschieben des Diagramms an der letzten Leiste (z. B. versetzte Bewegungsdurchschnitte oder Projektionen in die Zukunft) ZOrder - definiert die Z-Achsenposition des gegebenen Plots. Die Voreinstellung ist Null. Zorder 0 bedeutet auch dort, wo sich das Quotenfeld befindet. Also, wenn du das Raster markieren willst, musst du den negativen Zorder-Parameter angeben. Plots werden in folgender Reihenfolge gezeichnet: Der Zorder-Parameter hat Vorrang vor der Reihenfolge der Aufruf von Plot () - Funktionen, also wenn z-order gesetzt ist, bestimmt er das Plotten Auftrag. Sehen Sie dieses Bild. Wenn mehrere Plots denselben Z-Order-Parameter verwenden, werden sie in umgekehrter Rufreihenfolge aufgezeichnet (diejenigen, die zuletzt im Code erscheinen, werden zuerst geplottet). Diese Regel kann durch den bereits vorhandenen Switch Graphzorder 1 geändert werden, der, wenn angegeben, dieses Verhalten umkehrt (so werden Plots in Call Order gezeichnet). Bitte beachten Sie, dass das oben genannte gilt für jeden zorder quotlayerquot separat (also innerhalb der gleichen zorder quotlayerquot reverse call rule gilt) width - (neu in 5,60) definiert Pixel oder prozentuale Breite des gegebenen Plots. Die Voreinstellung ist 1 Pixel. Positive Werte geben PIXEL-Breite an, negative Werte geben die Breite in Prozent der aktuellen Balkenbreite an. So zum Beispiel -20 gibt Ihnen dynamische Breite, die 20 von bar Breite ist. Ein Beispiel, der folgende Einzelfunktionsaufruf zeichnet einen RSI-Indikator mit roter Farblinie auf: Plot (RSI (14), My RSI colorRed) Wie Sie sehen können, haben wir nur die ersten drei (erforderlichen) Parameter zur Verfügung gestellt. Der erste Parameter ist das Array, das wir plotten müssen. In unserem Beispiel ist es RSI (14) Indikator. Zweiter Parameter ist nur der Name. Es kann jeder beliebige Name sein. Es wird in der Titelzeile zusammen mit dem Indikatorwert angezeigt, wie im Bild unten gezeigt: Dritter Parameter ist die Farbe. Um die Plot-Farbe anzugeben, können Sie eine der folgenden vordefinierten Konstanten verwenden: Benutzerdefinierte Farben beziehen sich auf die benutzerdefinierte benutzerdefinierte Palette, die mit den Tools-gtPreferences-gtColors editierbar ist. Die numerischen Werte, die nach (Gleichung) markieren, sind nur als Referenz und Sie nicht Müssen sie benutzen. Verwenden Sie nur den Namen wie colorDarkGreen. ColorCustom1 0 colorCustom2 1 colorCustom3 2 colorCustom4 3 colorCustom7 4 colorCustom8 5 colorCustom7 8 colorCustom10 7 colorCustom11 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 Sie können auch neue 24-Bit - (Vollfarb-Paletten) - Funktionen verwenden ColorRGB und ColorHSB Sie können einfach farbige Diagramme mit beiden Plot-Funktionen aufzeichnen. Alles, was Sie tun müssen, ist, Array von Farbindizes zu definieren. Im folgenden Beispiel wird MACD mit grüner Farbe aufgezeichnet, wenn es über Null und mit roter Farbe ist, wenn es unter Null ist. Dynamiccolor IIf (MACD () gt 0. colorGreen colorRed) Plot (MACD (), My MACD. Dynamiccolor) Zusätzlich zur Definition der Farbe können wir den 4. Parameter liefern, der den Stil der Handlung definiert. Zum Beispiel können wir das vorherige MACD-Diagramm auf dickes Histogramm anstelle von Zeile ändern: dynamiccolor IIf (MACD () gt 0. colorGreen colorRed) Plot (MACD (), My MACD. Dynamiccolor, styleHistogram styleThick) Wie Sie sehen können, können mehrere Styles können Zusammen mit (Binär - oder) Betreiber kombiniert werden. (Hinweis: Das Zeichen kann durch Drücken der Backslash-Taste eingegeben werden, während die SHIFT-Taste gedrückt gehalten wird). Die daraus resultierende Tabelle sieht so aus: Um das Candlestick-Diagramm zu zeichnen, verwenden wir StyleCandle-Konstante, wie in diesem Beispiel: Plot (Close. Preisfarbe).Die klassischen Balken mit Farbe (grüne Stäbe und rote Balken) Je nach Beziehung zwischen offenem und engem Preis und StyleBar im Style-Argument: Plot (Close. Preis IIf (Close gt Open. ColorGreen colorRed), styleBar styleThick) Alle verfügbaren Stilkonstanten sind in der folgenden Tabelle zusammengefasst. Style ist definiert als eine Kombination (entweder mit Addition () oder Binär-oder () Operator) eines oder mehrerer nachfolgender Flags (Sie können vordefinierte Stilkonstanten anstelle von Zahlen verwenden) styleLine 1 - normales (Zeilen-) Diagramm (Standard) styleHistogramm 2 - Histogramm-Diagramm styleThick 4 - Fett (dick) styleDots 8 - include dots styleNoLine 16 - keine Linie styleDashed 32 - gestrichelte Linie Stil styleCandle 64 - Candlestick Chart styleBar 128 - traditionelles Balkendiagramm styleNoDraw 256 - kein Unentschieden (nur Achsenskalierung ausfü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 styleArea 16384 - Bereichsdiagramm (extra breites Histogramm) styleOwnScale 32768 - Handlung verwendet unabhängige Skalierung styleLeftAxisScale 65536 - Plot verwendet linke Achsenskala (unabhängig von der rechten Achse) styleNoTitle 131072 - füge diesen Plotwert nicht in den Titelstring ein styleCloud 262144 - malt ein quotcloudquot (gefülltes Feld) Diagramm (siehe Beispiele unten) styleClipMinMax 524288 - Clipbereich zwischen Min und Max-Level in Plot-Anweisung definiert. (Anmerkung: dieser Stil ist nicht kompatibel mit den meisten Druckern) styleGradient - (neu in 5.60) - Gradientenbereichsdiagramm. Obere Farbverlaufsfarbe wird durch den Farbparameter in der Plot () - Funktion angegeben, die untere Farbverlaufsfarbe ist entweder Hintergrundfarbe oder kann mit der Funktion SetGradientFill definiert werden. StyleGradient kann mit styleLine kombiniert werden Nicht alle Flaggenkombinationen machen Sinn, zum Beispiel (641) (Candlestick Line) wird in Candlestick Chart (style64) Hinweis auf Candlestickbar Charts: Wenn diese Styles auf Plot () Funktion angewendet werden, dann verwenden sie indirekt O , H, L-Arrays. Wenn du deine eigenen OHL-Werte angeben willst, musst du die Funktion PlotOHLC () verwenden. Neue StyleCloud - und StyleClipMinMax-Styles bringen neue interessante Möglichkeiten in das Beispielbild unten: Die Formel für das Diagramm in der mittleren Scheibe (Regenbogen 24-Bit-Mehrfachbewegungsdurchschnitte) sieht wie folgt aus: Seite 1 Inkrement Param (Inkrementieren 2. 1. 10. 1) für (i 10 i lt 80 ii inkrementieren) MA (C. I) nach unten MA (C. I inkrement) if (ParamToggle (3D Effekt. NoYes 1)) Seite IIf (upltdown AND Ref (upltdown, 1) , 1. 0.6) PlotOHLC (oben, oben, unten, unten, MA i, ColorHSB (3 (i - 10), Param (Sättigung 128. 0. 255), Seite Param (Helligkeit 255. 0. 255)) , StyleCloud styleNoLabel) Die Formel für das Diagramm im unteren Bereich (langsames stochastisches K mit farbigen Tops und Böden) sieht wie folgt aus. Es verwendet styleClipMinMax, um das Abschneiden des Cloud-Bereichs zwischen den in der Plot-Anweisung angegebenen Min - und Max-Pegel zu erreichen. Ohne diesen Stilbereich zwischen minmax würde gefüllt werden. Bitte beachten Sie, dass aufgrund von Windows GDI Limitierung Clipping-Region (styleClipMinMax) nur auf Raster (Bitmap) - Geräte unterstützt wird, so dass es nicht kompatibel mit Druckern oder WMF (Windows Metafile) Ausgabe. SetChartOptions (0. 0, ChartGrid30 ChartGrid70) r StochK (14) Plot (r, StochK. Farbe Schwarz) PlotOHLC (r, r, 50, r, IIf (r gt 50. colorRed. ColorGreen), styleCloud styleClipMinMax, 30. 70 ) Der XShift-Parameter erlaubt es, das Diagramm in horizontaler Richtung durch eine vorgegebene Anzahl von Balken zu verschieben (verschieben). Dies ermöglicht es, verschobene Bewegungsdurchschnitte und Projektionen in die Zukunft zu zeichnen. Siehe den folgenden Beispielcode des verschobenen gleitenden Durchschnitts: Perioden Param (Perioden 30. 2. 100) Displacement Param (Displacement 15. - 50. 50) Plot (MA (C. Perioden), DEFAULTNAME (), ColorCycle, styleLine. 0. 0. Verschiebung) Es ist jetzt einfach, Preisplots von mehreren Symbolen mit PlotForeign-Funktion zu überlagern: PlotForeign (tickersymbol. Name. Colorbarcolor style styleCandle styleOwnScale minvalue, maxvalue, xshift 0) Plots das Fremd-Symbol Preis Diagramm (Symbol ist Definiert durch Tickersymbol-Parameter). Der zweite Argumentname definiert den Graphennamen, der für die Anzeige von Werten in einer Titelleiste verwendet wird. Diagrammfarbe könnte statisch sein (wenn das dritte Argument eine Zahl ist) oder dynamisch (wenn das dritte Argument ein Array ist). Farbindizes beziehen sich auf die aktuelle Palette (siehe PreferencesColor) Stil definiert Diagramm Plot Stil (siehe Plot () Funktion für mögliche Werte) PlotForeign (quotDJIquot, quotDow Jonesquot, colorRed) PlotForeign (quotNDXquot, quotNasdaq 100quot, colorBlue) PlotForeign (quotIXICquot, quotNasdaq Compositequot, colorGreen) Mehrere Plots mit unterschiedlicher Skalierung Zwei neue Styles können verwendet werden, um mehrere Graphen mit verschiedenen Y-Skalen zu zeichnen: styleOwnScale und styleLeftAxisScale. Es macht es auch leicht, 2 oder mehr Quotenplotten mit der gleichen Skalierung zu zeichnen: Minimum LastValue (Niedrigstes (Volumen)) Maximum LastValue (Highest (Volume)) Plot (Close, quotPricequot, colorBlue, styleCandle) Zwei Plots unten verwenden OwnScale aber Die Skala ist üblich, weil wir Min - und Max-Werte der Y-Achse setzen. Plot (Volume, quotVolumequot, colorGreen, styleHistogram style styleThick styleOwnScale, Minimum, Maximum) Plot (MA (Volume, 15), quotMA volumequot, colorRed, styleLine styleOwnScale, Minimum, Maximum ) Neuer Stil: styleLeftAxisScale 65536 - erlaubt es, mehr als einen Graphen mit gängiger Skalierung zu zeichnen, aber anders als die reguläre (rechte Achse) Skala. Beispiel: Preisplot plus Volumen und gleitende durchschnittliche Handlung: Plot Preis Plot und seine gleitenden Durchschnitt Plot (Close, quotPricequot, colorWhite, styleCandle) Plot (MA (Close, 20), quotMacquot, colorRed) Jetzt Plot Volumen und seine gleitenden Durchschnitt mit links - Antwort-Skalierung Plot (Volume. QuotVolumequot, colorBlue, styleLeftAxisScale styleHistogram styleThick) Plot (MA (Volume, 15), quotMAVquot, colorLightBlue, styleLeftAxisScale) Neue Parameter machen es auch leicht, Bänder zu zeichnen, zB: Plot (Close, quotPricequot, ColorBlue, styleCandle) Plot (2, definiert die Höhe des Bandes in Prozent der Scheibenbreite quotRibbonquot, IIf (oben, colorGreen, IIf (unten, colorRed, 0)), wählen Sie color styleOwnScalestyleAreastyleNoLabel, -0.5, 100) Verwenden Sie benutzerdefinierte Parameter AmiBroker erlaubt es, benutzerdefinierte Parameter zu erstellen. Solche Parameter stehen dann über den Parameter-Dialog zur schnellen und schnellen Anpassung des Indikators zur Verfügung. Die meisten häufig verwendeten Parameterfunktionen sind (klicken Sie auf die Links, um eine detailliertere Beschreibung zu erhalten): Sie machen es möglich, Ihre eigenen Parameter in Ihren Indikatoren zu definieren. Sobald Param-Funktionen in der Formel enthalten sind, können Sie mit der rechten Maustaste auf das Diagrammfenster klicken und quotParametersquot auswählen oder Strg drücken und diese über den Parameter-Dialog ändern und sofortige Antwort erhalten. Der einfachste Fall sieht so aus: Periode Param (RSI-Periode 12. 2. 50. 1) Plot (RSI (Periode), RSI (Periode) ColorRed) Klicken Sie mit der rechten Maustaste auf das Diagramm und wählen Sie quotParametersquot und verschieben Sie den Slider und Sie werden Siehe RSI mit verschiedenen Perioden sofort, wie Sie den Schieberegler bewegen gezeichnet. Beispielcode unten zeigt, wie man ParamStr benutzt, um das Tickersymbol und ParamColor zu erhalten, um Farben zu erhalten. Ticker ParamStr (Ticker, MST) Spot (MA Periode 12. 2. 100) PlotForeign (Ticker, Ticker, ParamColor (Preis Farbe Farbe), StyleCandle) Plot (MA (Ausländer (Ticker, C), Sp) , MA. ParamColor (MA Color. ColorRed)) Die folgende Beispielformel (aus der AmiBroker-Mailingliste), die die visuelle Ausrichtung von Preisvorgaben mit Sinuskurve auf dem Chart ermöglicht: Cycle Param (Zyklusmonate 12. 1. 12. 1) 22 26412mth, 221mth xfactor Param (Ausdehnung 1. 0.1 2. 0.1) 11yr, 22yr xshift Param (Dia 0, - 22. 22. 2) 3.1416 2 Gleitkurve 15days x 2 3.1416 Cyclexfaktor y sin (Cum (x) - Xcift, ArtLine styleNoLabel styleOwnScale) Klicken Sie mit der rechten Maustaste auf das Diagramm und wählen Sie quotParametersquot und verschieben Sie die Schieberegler und Sie werden sehen Chart sofort widerspiegeln Ihre Änderungen. Weitere Informationen zu benutzerdefinierbaren Parametern finden Sie auch im Tutorial: Verwenden der Drag & Drop-Schnittstelle Plotten von Texten an beliebigen Positionen auf dem Diagramm AmiBroker erlaubt nun die Annotation des Diagramms mit Text, der auf einer beliebigen x, y-Position platziert ist Neue PlotText-Funktion. PlotText (quottextquot, x, y, color, bkcolor colorDefault) wobei x - ist x-koordinate in Bars (wie in LineArray) y - ist y-Koordinate in Dollar Farbe ist Textfarbe, bkcolor ist Hintergrundfarbe. Wenn bkcolor nicht spezifiziert ist (oder gleich colorDefault) Text wird mit TRANSPARENT Hintergrund geschrieben, jeder andere Wert verursacht festen Hintergrund mit vorgegebener Hintergrundfarbe Plot (C. Preis Farbe. Beg. StyleLine) Plot (MA (ca. 20), MA20. ColorRed ) Dist 1.5 ATR (10) PlotShapes (Buy shapeUpArrow Selling shapeDownArrow IIf (Buy. ColorGreen colorRed)) Gradientfüllung des Hintergrundes AmiBroker 4.90 erlaubt es, den Indikatorhintergrund mit allmählich wechselnder Farbe zu füllen. Um dies zu erreichen, musst du neue Funktion verwenden SetChartBkGradientFill (topcolor, bottomcolor, titlebkcolor default) Die Funktion ermöglicht die Farbverlaufsfarbe der Hintergrundgradienten. Bitte beachten Sie, dass dies unabhängig von Diagramm Hintergrundfarbe (Hintergrundfarbe füllt ganze Scheibe, Gradientenfüllung ist nur für tatsächliche Chart Innenraum, so Achsen Bereich ist nicht durch Gradienten füllen betroffen). Die Parameter sind wie folgt: topcolor - spezifiziert die obere Farbe der Gradientenfüllung Bottomcolor - spezifiziert die untere Farbe der Gradientenfüllung titlebkcolor - (optional) die Hintergrundfarbe des Titeltextes. Wenn nicht angegeben, wird die oberste Farbe automatisch für den Titelhintergrund verwendet. SetChartBkGradientFill (ParamColor (BgTop. ColorWhite), ParamColor (BgBottom. ColorLightYellow)) Version 5.60 bringt native Gradientenbereichsdiagramme. Um ein einfaches Verlaufsdiagramm anzuzeigen, genügt es, styleGradient im Plot () - Funktionsaufruf zu verwenden. Standardmäßig wird die obere Farbverlaufsfarbe durch den Farbparameter in der Plot () - Funktion angegeben. Die untere Farbverlaufsfarbe ist entweder die Hintergrundfarbe. StyleGradient kann mit styleLine kombiniert werden. Ein einfacher Gradientenbereichsdiagramm kann mit Hilfe von: Plot (C. C. colorDefault. StyleGradient styleLine) dargestellt werden. Zur detaillierten Kontrolle über Farbverlaufsfarben und Baseline gibt es eine Extrafunktion SetGradientFill (Topcolor, Bottomcolor, Baseline, Baselinecolor), die vor Plot aufgerufen werden soll (). Wenn Sie die SetGradientFill-Funktion verwenden, wird die obere Farbverlaufsfarbe durch das Topcolor-Argument angegeben. Die untere Farbverlaufsfarbe wird durch Botttomcolor angegeben. Optionale Parameter (baselinebaselinecolor) erlauben Reverse-Gradient-Diagramm (wie Unterwasser-Eigenkapital) und 3 Farbverläufe top-gtbaseline-gtbottom. Siehe Code für Underwater Equity zum Beispiel Verwendung von Reverse-Gradient-Diagramm (mit Grundlinie an der Spitze). Baseline-Parameter gibt die Y-Achsenposition der Diagrammbasislinie an. Der Parameter baselinecolor gibt die Farbe des Gradienten an, die auf dieser Ebene verwendet werden soll. Wenn baselinecolor nicht angegeben ist, wird nur 2-Farb-Gradient aufgetragen (topcolor-gtbottomcolor). Zum Beispiel, um drei-Farben-Gradienten anzuzeigen Rate of Change, die grün als quottopquot Farbe für positive Werte verwenden wird, Hintergrundfarbe als quotbaselinequot Farbe und rot als quotbottomquot Farbe für negative Werte ist es genug zu schreiben: SetGradientFill (colorGreen top. ColorRed unten 0 Baseline-Ebene GetChartBkColor () Baseline-Farbe) Plot (ROC (C 14), ROC ColorLightOrange StyleLine StyleGradient Null Null # 0. - 1) Das resultierende Diagramm wird wie folgt aussehen (mit dem Standard-Diagrammthema): Version 5.60 Erlaubt es, die Zeilenbreite über styleThick zu definieren, die die einzige Option vor war. Jetzt 9. Parameter von Plot () definiert Pixel oder Prozent Breite des gegebenen Plots. Die Voreinstellung ist 1 Pixel. Positive Werte geben Pixelbreite an, negative Werte geben die Breite in Prozent der aktuellen Balkenbreite an. So zum Beispiel -20 gibt Ihnen dynamische Breite, die 20 von bar Breite ist. Beispiel: Plot (C. Close. ColorDefault. StarBar Null Null Null 0. 1. - 20 Zeilenbreite in Prozent des Balkens) Beim Zoomen werden die Balken dicker und dicker. Jetzt können Sie super dicke Linien wie im Beispiel unten gezeigt (10-Pixel dickes Liniendiagramm): Plot (C. Close. ColorRed. StyleLine Null Null # 0. 1. 10 10 Pixel breit) Wie Sie bereits alle kennen Plot hat seinen eigenen Namen, der verwendet wird, um einen Titelstring zu erstellen, der Namen und Werte von Indikatoren anzeigt. AmiBroker erlaubt es Ihnen jedoch, diesen automatischen Mechanismus zu überschreiben und Ihren eigenen Titelstring aus dem Scratch zu definieren. Hierfür wird die reservierte Variable verwendet. Sie ordnen einfach einen String zu und es wird im Diagramm angezeigt, anstatt automatisch generiert zu werden. Auch gibt es zwei weitere reservierte Variablen (GraphXSpace und GraphZOrder), die eine Feinabstimmung des Indikator-Looks ermöglichen. Sie sind alle in der folgenden Tabelle beschrieben.
No comments:
Post a Comment