Pfeil Anzeige Forex That Draws


DRAWARROW Der DRAWARROW-Stil zeichnet Pfeile der angegebenen Farbe (Symbole des Satzes Wingdings) basierend auf dem Wert des Indikatorpuffers. Die Breite und die Farbe der Symbole können wie für den DRAWLINE-Stil angegeben werden - mit Compiler-Direktiven oder dynamisch mit der Funktion PlotIndexSetInteger (). Dynamische Änderungen der Plotteneigenschaften erlauben es, das Aussehen eines Indikators auf der Grundlage der aktuellen Situation zu ändern. Der Symbolcode wird mit der Eigenschaft PLOTARROW festgelegt. --- Definieren Sie den Symbolcode aus der Wingdings-Schriftart, um PLOTARROW zu zeichnen. PlotIndexSetInteger (0, PLOTARROW, code) Der Standardwert von PLOTARROW159 (ein Kreis). Jeder Pfeil ist eigentlich ein Symbol, das die Höhe und den Ankerpunkt hat, und kann einige wichtige Informationen auf einem Diagramm (zum Beispiel den Schlusskurs an der Bar) abdecken. Daher können wir zusätzlich die vertikale Verschiebung in Pixeln angeben, die nicht von der Skalierung des Diagramms abhängt. Die Pfeile werden durch die angegebene Anzahl von Pixeln nach unten verschoben, wobei die Werte des Indikators wird gleich bleiben: --- Stellen Sie die vertikale Verschiebung der Pfeile in Pixel PlotIndexSetInteger (0, PLOTARROWSHIFT, shift) Ein negativer Wert bedeutet, der PLOTARROWSHIFT Verschiebung der Pfeile nach oben, eine positive Werte verschiebt den Pfeil nach unten. Der DRAWARROW-Stil kann in einem separaten Unterfenster eines Diagramms und in seinem Hauptfenster verwendet werden. Leere Werte werden nicht gezeichnet und erscheinen nicht im quotData Windowquot, alle Werte in den Indikatorpuffern sollten explizit gesetzt werden. Puffer werden nicht mit einem Nullwert initialisiert. --- Einen leeren Wert PlotIndexSetDouble (indexofplotDRAWARROW, PLOTEMPTYVALUE, 0) Die Anzahl der Puffer erforderlich Set DRAWARROW zum Plotten ist 1. Ein Beispiel für die Anzeige, die Pfeile an jeder Bar mit dem Schlusskurs höher als der Schlusskurs des vorherigen zieht Bar. Die Farbe, die Breite, die Verschiebung und der Symbolcode aller Pfeile werden nach dem Zufallsprinzip geändert. Im Beispiel werden für Plot1 mit dem DRAWARROW-Stil die Eigenschaften, die Farbe und die Größe mit der Compiler-Direktive-Eigenschaft angegeben. Und dann in der OnCalculate () - Funktion die Eigenschaften werden nach dem Zufallsprinzip gesetzt. Der Parameter N wird in externen Parametern des Indikators für die Möglichkeit der manuellen Konfiguration gesetzt (Registerkarte Parameter im Eigenschaftenfenster von indicator39s). Objektbeschreibung quotAn Indikator DRAWARROWquot Objektbeschreibung quotDraws Pfeile Set von Unicode-Zeichen auf einer chartquot Objektbeschreibung quotThe Farbe, Größe, Verschiebung und Symbolcode des Pfeils verändert in einer zufälligen wayquot Objektbeschreibung quotafter jeder N ticksquot Objektbeschreibung quotThe Code Parameter zu demonstrieren Legt den Basiswert fest: code159 (ein Kreis) Eigenschaftsindikatorchartwindoweigenschaft indicatorbuffers 1 Eigenschaftsindikatorplots 1 --- Plot Arrows-Eigenschaft indicatorlabel1 quotArrowsquot-Eigenschaft indicatortype1 DRAWARROW-Eigenschaft indicatorcolor1 clrGreen-Eigenschaft-Indikatorwidth1 1 --- Eingabeparameter-Eingabe int N 5 Anzahl der zu ändernden Zecken Input ushort code 159 Symbolcode zum Zeichnen in DRAWARROW --- Ein Indikatorpuffer für den Plotdoppelpfeil ArrowsBuffer --- Ein Array zum Speichern von Farben Farbenfarben ------------------- ----------------------------------------------- Benutzerdefinierte Indikatorinitialisierung Funktion ------------------------------------------------- ----------------- int OnInit () --- Indikatorpufferzuordnung SetIndexBuffer (0, ArrowsBuffer, INDICATORDATA) --- Definieren Sie den Symbolcode für das Zeichnen in PLOTARROW PlotIndexSetInteger (0, PLOTARROW, Code) --- Stellen Sie die vertikale Verschiebung der Pfeile in Pixel PlotIndexSetInteger (0, PLOTARROWSHIFT, 5) --- Stellen als leerer Wert 0 PlotIndexSetDouble (0, PLOTEMPTYVALUE, 0) --- return (INITSUCCEEDED) --- -------------------------------------------------- ------------- Benutzerindikator-Iterationsfunktion --------------------------------- --------------------------------- int OnCalculate (const int ratestotal, const int vorberechnet, const datetime amptime, const double Static int ticks0 --- Berechnen Sie Zecken, um die Farbe, die Größe, die Verschiebung und den Code der Pfeile zu ändern - Zeigen Sie mit dem Mauszeiger auf, - Wenn eine kritische Anzahl von Zecken akkumuliert wurde, wenn (ticksgt N) --- Ändern der Linieneigenschaften ChangeLineAppearance () --- Setzen Sie den Zähler der Zecken auf Null ticks0 --- Block für die Berechnung der Indikatorwerte int start1 if (prevcalculatedgt0) Startprevcalculated-1 --- Rechenschleife für (int i1iltratestotali) --- Wenn der aktuelle Close-Preis höher als der vorherige ist, zeichnen Sie einen Pfeil, wenn (closeigtclosei-1) ArrowsBuffericlosei --- Ansonsten geben Sie den Nullwert an ArrowsBufferi0 - - Rückgabewert der vorberechneten für den nächsten Rückruf (ratestotal) -------------------------------------- ---------------------------- Das Aussehen der Symbole in der Anzeige ändern -------------- -------------------------------------------------- - void ChangeLineAppearance () --- Eine Zeichenfolge für die Bildung von Informationen über die Indikator-Eigenschaften string comm quotquot --- Ein Block für die Änderung der Pfeilfarbe int number MathRand () Holen Sie sich eine zufällige Zahl --- Der Divisor ist gleich die Größe des int size Arraysize Farben Array (Farben) --- den Index Erhalten Sie eine neue Farbe wie der Rest der ganzzahligen Division int colorindexnumbersize --- Legen Sie die Farbe als PLOTLINECOLOR Eigenschaft PlotIndexSetInteger (0, PLOTLINECOLOR, colorscolorindex) zu wählen - - Schreiben der Zeilenfarbe commcomm quotrnquot (string) colorscolorindex --- Ein Block für das Ändern der Größe Pfeile Zahl MathRand () --- Erhalten Sie die Breite des Restes der Integer-Division int widthnumber5 Die Größe wird von 0 bis 4 gesetzt - - Stellen Sie die Farbe als PLOTLINEWIDTH-Eigenschaft ein PlotIndexSetInteger (0, PLOTLINEWIDTH, width) --- Schreiben Sie die Pfeilgröße commcomm quotrnWidthquot IntegerToString (width) --- Ein Block zum Ändern der PLOTARROW-Nummer MathRand () --- Get Den Rest der Integer-Division, um einen neuen Code des Pfeils (von 0 bis 19) zu berechnen int codeaddnumber20 --- Setzen Sie den neuen Symbolcode als Ergebnis von codecodeadd PlotIndexSetInteger (0, PLOTARROW. Code codeadd) --- Schreiben Sie den Symbolcode PLOTARROW comm quotrnquot quotPLOTARROWquot IntegerToString (code codeadd) comm --- Ein Block zum Ändern der vertikalen Verschiebung von Pfeilen in Pixeln Anzahl MathRand () --- Holen Sie die Verschiebung als den Rest der Integer Division int shift20-number41 --- Setzt die neue Verschiebung von -20 auf 20 PlotIndexSetInteger (0, PLOTARROWSHIFT, shift) --- Schreiben Sie die Verschiebung PLOTARROWSHIFT comm quotrnquot quotPLOTARROWSHIFTquot IntegerToString (shift) comm --- Zeigen Sie die Informationen auf dem Diagramm mit Ein Kommentar Kommentar (comm) Indicator Hilfe zu zeichnen Pfeil nach x pip move Brauchen Sie Hilfe mit meinem Indikator. Den unten stehenden Code finden Sie hier. Es wird gezeichnet, um Pfeile in den Regionen zu zeichnen, in denen der Preis mehr bewegt, dass quotXquot Zahl der Zacken innerhalb der letzten 20 Stäbe folglich: Openi gt (Openi20 PriceMove Punkt)) Es zeichnet Pfeil fein auf dem Diagramm, wo ich sie wünsche, aber aus irgendeinem Grund tut Nicht aktualisiert live. Wenn Sie den Indikator neu starten müssen und danach die Pfeile erscheinen. Bitte geben Sie an, wo Fehler im Code ist, wenn Sie können. Rgrds und Dank im Voraus, die Anzahl der Puffer für die Berechnung bis zu 8 Eigenschaft indicatorbuffers 2 Die Farbe für Pfeile Eigenschaft indicatorcolor1 grüne lange Signaleigenschaft indicatorcolor2 Red Kurze Signal Breite der Pfeile Eigenschaft indicatorwidth1 2 Lange Signalpfeil Eigenschaft indicatorwidth2 2 Kurze Signal Pfeil anzeigt Extern int PriceMove 20 Puffer für die Berechnungen double UpArrowBuffer Langer Puffer für die Anzeige double DownArrowBuffer Kurzer Puffer für die Anzeige ------------------------------ ------------------------------------ Benutzerdefinierte Indikator-Initialisierungsfunktion ---------- -------------------------------------------------- ------ int init () SetIndexStyle - setzt den neuen Typ, den Stil, die Breite und die Farbe für eine bestimmte Zeilenzeile fest. SetIndexBuffer - bindet die auf globaler Ebene deklarierte Arrayvariable an den vordefinierten benutzerdefinierten Puffer SetIndexArrow Pfeilsymbol für Indikatoren des DRAWARROW-Typs. SetIndexSpace (1, DownArrowBuffer) SetIndexArrow (1, 234) Pfeil nach unten ---- return (0) - SetIndexSpalt (1, DRAWARROW) -------------------------------------------------- -------------- Deinstallationsfunktion des Indikators --------------------------------- ------------------------------ int deinit () ---- ---- return (0) -------------------------------------------------- ---------------- Indikator-Iterationsfunktion ------------------------------- ------------------------------------ int start () int i Barindex int Countedbars Anzahl der gezählten Balken -------------------------------------------------- ------------------ CountedbarsIndicatorCounted () Anzahl der gezählten Balken iBars-Countedbars-2 Index der ersten uncount while (igt0) Schleife für uncounted Bars if (isUpSwingBar (i)) UpArrowBufferi Lowi - (20 Punkt) DownArrowBufferi EMPTYVALUE i-- wenn weiterhin (isDownSwingBar (i)) DownArrowBufferi highi (20 Punkt) UpArrowBufferi EMPTYVALUE i-- weiter UpArrowBufferi EMPTYVALUE DownArrowBufferi EMPTYVALUE i-- Bool isUpSwingBar (int i) if (Openi gt ( Openi20 PriceMove Point)) return (true) return (false)

Comments

Popular Posts