Friday 27 October 2017

Forex Unterstützung Und Widerstand Indikatoren Mt4 Programmierung


Die höchste Kunst des Krieges ist es, den Feind ohne Kämpfe zu unterwerfen. - Sun Tzu Müde von Plotten Unterstützung und Widerstandslinien Die PZ Support Resistance ist ein Multi-Timeframe-Indikator, der automatisch erkennt und zeichnet wichtige Preisniveaus bei der Analyse seiner Bedeutung. Steigern Sie Ihre technische Analyse über Nacht Erkennen Sie wichtige Preisniveaus ohne Durchblättern von Diagrammen Erkennen Sie die relative Stärke aller Preisniveaus auf einen Blick Sparen Sie bis zu einer halben Stunde Plotterlinien für jeden Handel Die Anzeige zeigt das Alter aller Preisniveaus an Der Indikator ist nicht - Neu streichen Vergangenheit und gegenwärtiges Preisniveau werden durch die Nähe zusammengebrochen und an die aktuelle Marktaktion angepasst. Linien sind gezeichnet, wo die Aktion ist und nicht unbedingt auf den Gipfeln. Preisniveaus werden dunkler und breiter, da sie im Laufe der Zeit abgelehnt werden Unwichtige Preisniveaus werden regelmäßig gelöscht, um Lärm zu vermeiden Anpassbare Zeitrahmenauswahl und Kollapsfaktor Es implementiert E-Mailsoundpush-Alarme für Ausbrüche Erhöhen Sie Ihre Handelsaktivität mit dem besten und kompletten Support - und Resistance-Auto-Erkennungsindikator , Genau wie unsere Kunden bereits getan haben. Screenshots Eine kurze Einführung Widerstands - und Stützlinien sind Preisniveaus, die die kontinuierliche Bewegung des Trends vorübergehend stoppen oder umkehren. Wenn der Trend bärisch ist, werden Stützlinien geschaffen, wo die Verkäufer vorübergehend (oder manchmal dauerhaft) erschöpft sind und das Zitat nicht niedriger drücken können. Umgekehrt, während einer bullish Trend, das Preisniveau, wo Käufer überprüft wird, wird eine Widerstandslinie genannt. Wie werden Support - und Widerstandsstufen erstellt Wenn ein Händler einen Kaufauftrag eingibt, hat der Broker den Auftrag gefüllt, indem er so viele Angebote wie möglich ausführt, bis der Betrag, den der Kunde wünscht, erreicht wird. Wenn die ursprüngliche Bestellung eine große Marktordnung ist, wird der Makler auf der Preisleiter klettern, bis der Auftrag erfüllt ist. Support - und Widerstandspunkte entstehen, wenn die Gesamtaufträge auf dem Markt nicht ausreichen, um die Angebote zu einem bestimmten Preisniveau zu löschen. Wenn die Aufträge verkaufen Bestellungen, und es gibt mehr als genug Käufer zu einem bestimmten Preis, um die Verkäufer zu erschöpfen, dass Preisniveau heißt eine Unterstützung, wenn es mehr Verkäufer als die Käufer Bestellungen können klar, das Preisniveau ist ein Widerstand. Da viele Teilnehmer ein Preisniveau erwarten, um dem Zitat zu widerstehen oder zu unterstützen, wird dieses Preisniveau in der erwarteten Weise handeln, unabhängig davon, was die anderen Variablen vorschlagen. In gewisser Weise behaupten technische Analysten, dass sich Händler wie Packtiere verhalten. Warum unterstützen und Widerstand Ebenen arbeiten Emotional aufgeladene Ereignisse werden besser erinnert und haben eine stärkere Wirkung auf menschliches Verhalten. Der Markt verursacht Freude oder Trauma für seine Teilnehmer und deshalb unterstützen Stütz - und Widerstandslinien. Aber es gibt noch ein paar Gründe. Widerstand und Unterstützung sind relativ leicht zu erkennen auf Charts. Von den erfahrensten Analysten bis zum Forex Neuling, haben Händler nicht viel Schwierigkeiten zu identifizieren und Zeichnung Unterstützung und Widerstand Linien. Support - und Widerstandslinien erhalten oft viel Aufmerksamkeit von Nachrichtenquellen wie Bloomberg oder CNBC. Die Öffentlichkeit wird dazu veranlasst, einen bestimmten Preis als eine entscheidende oder Schlüsselebene zu identifizieren, und wenn sie entsprechend handelt, wird die Bedeutung dieser Ebenen leicht festgestellt. Stützwiderstandslinien sind nicht nur imaginäre Linien, die aus der Laune des Analytikers gezogen werden. Mehrjährige, mehrmonatige, mehrwöchige Unterstützung und Resistenz werden oft durch große Auftragscluster verteidigt, die enorme Transaktionsvolumina entstehen. Wie man mit Preisniveaus handeln Die grundlegende und wichtigste Verwendung von Preisniveaus ist es nicht, Ausbrüche zu handeln, wie die meisten Menschen denken, sondern um Preisspannen zu erkennen, in denen ein Handel sich günstig bewegen kann, ohne gestört zu werden. Unterstützung und Widerstand Ebenen sind nicht Festpreise, sondern Preisspannen: Dies ist, warum Ausbrüche nicht sehr gut funktionieren alleine. Das beste Szenario, um lange zu gehen, ist folgendes: Eine Unterstützung wurde getestet und abgelehnt, was bedeutet, dass der Preis darüber geschlossen ist. Hoffentlich, eine Umkehr - oder Fortsetzungsmuster irgendwelcher Art zu schaffen. Der Abstand zum nächsten Widerstand ist größer als der Abstand zur abgelehnten Unterstützung. Diese einfache Tatsache erhöht die Chancen des Handels bewegen sich in Ihrem Vorteil ohne Unterbrechung und erhöht die Erwartung des Handels. Das genaue Gegenteil gilt für Shorts. Schauen wir uns einige Beispiele an. Einige Handelsbeispiele Das Ziel der Verwendung von Support - und Widerstandslinien ist es, Preisspannen zu finden, in denen sich ein Handel günstig bewegen kann, ohne gestört zu werden und die Erwartung Ihres Handwerks zu erhöhen. Das perfekte Setup ist eine starke Ablehnung eines Preisniveaus weit weg vom nächsten. Im Folgenden finden Sie einige Beispiele. Einstellungen und Eingabeparameter Beim Laden des Indikators auf ein Diagramm werden Ihnen eine Reihe von Optionen als Eingabeparameter präsentiert. Verzweifeln Sie nicht, wenn Sie denken, dass sie zu viele sind, weil Parameter in selbsterklärende Blöcke gruppiert sind. Dies ist, was jeder Parameter tut. Indikatoreinstellungen Die Anzeige liest den Preis aus dem aktuellen Zeitrahmen, aber Sie können optional einen anderen auswählen. Zum Beispiel können Sie D1-Unterstützung und Widerstandslinien in H4-Diagrammen anzeigen. Sie können auch wählen, welche Menge an Preisniveaus auf dem Diagramm angezeigt werden soll, mit dem Preisniveau Dichteparameter Farbeinstellungen Geben Sie Ihre gewünschten Farben für Support - und Widerstandslinien auf der Grundlage von Bedeutung ein. Optional können Etiketten, die das Alter jeder Stütz - und Widerstandslinie anzeigen, im Indikator angezeigt werden. Dies ist standardmäßig deaktiviert. Sie können Etikettendruck und Größe wählen. Alerts Aktivieren Sie Displaymailpushsound-Alarme für Ausbrüche. Häufig gestellte Fragen Warum gehen die bisherigen Unterstützungs - und Widerstandsniveaus fort Die vergangenen Preisniveaus werden an die aktuelle Marktaktion angepasst, um so viel vergangene Preiswirkung wie möglich mit der aktuellen abgelehnten Ebene zu verbinden. Wenn Sie wollen, dass die Preisniveaus genau dort bleiben, wo sie waren, verringern Sie den SmoothFactor-Parameter. Warum sehe ich verschiedene Linienfarben auf dem Diagramm. Verschiedene Farben und Linienbreiten werden verwendet, um über die relative Stärke der verschiedenen Träger - und Widerstandslinien zu informieren, die in der Tabelle vorhanden sind. Dunkle Farben und weite Linien sind starke Preisniveaus, während weiche Farben und dünne Linien Preisniveaus sind, die in der Vergangenheit nicht mehr abgelehnt wurden. Was sind die gepunkteten roten Preisniveaus Die gepunkteten roten Linien sind kurzfristige Preisniveaus, die Kandidaten für ein endgültiges Preisniveau in der nahen Zukunft sind. Sie können zur Feinabstimmung Ihrer Trades verwendet werden. Hey, ich habe ein Preisniveau verschwinden gesehen. Was ist passiert, mach dir keine Sorgen. Unwichtige und alte Preisniveaus werden regelmäßig geräumt, um Lärm zu vermeiden. Ein Preis, das mehrmals abgelehnt wurde, wird niemals aus dem Diagramm gelöscht. Verwandte ProdukteMetaTrader 4 - Beispiele Anzeigen von SupportResistance Levels Einleitung Der Artikel befasst sich mit dem Erkennen und Anzeigen von SupportResistance Levels im MetaTrader 4 Programm. Basierend auf einem einfachen Algorithmus erstellt der praktische und universelle Indikator FindLevels horizontale Stützlinien im Symboldiagramm. Sie können es unten sehen: Der Artikel behandelt auch das nützliche Thema der Schaffung eines einfachen Indikators, der die Ergebnisse der verschiedenen Zeitrahmen in einem wrokspace anzeigen kann. Sie können ein Beispiel unten sehen. Der erste Indikator zeigt Stützniveaus (dicke Beige-Linien) an, die auf 30-Minuten-Anführungszeichen basieren. Die zweite Anzeige, die im selben Fenster läuft, zeigt die Pegel auf der Grundlage von 15-minütigem Zeitrahmen (dünne gestrichelte lila Linien) über den 30-minütigen Leveln an. Weitere Informationen finden Sie im Abschnitt "Indikatoren". Dieser Artikel ist eine Fortsetzung des Artikels über die Erstellung eines Skripts für die Erkennung von Support-Levels, aber der Unterschied zwischen ihnen ist, dass dieser Artikel für diejenigen, die sich auf der fortgeschrittenen Ebene in der Programmierung und mit der MetaTrader 4-Plattform gefunden wurde geschrieben wurde. Das ist der Grund, warum meine Empfehlung für die Anfänger und all diejenigen, die diesen Artikel zu kompliziert finden, ist mit meinem früheren Artikel namens A Methode der Zeichnung der SupportResistance Levels beginnen. Wir beschreiben den Algorithmus zur Erkennung von Unterstützungswiderstandsebenen, die im FindLevels-Indikator weiter realisiert werden. Ein Stützwiderstand ist ein Preiswert, der aufgrund einiger Kräfte nicht überschritten werden kann. Es können die Kräfte sein, die durch die psychologische Markierung, den Einfluss einiger großer Spieler oder eine große Anzahl von StopLoss-Aufträgen in diesem Bereich verursacht werden. Es ist offensichtlich, dass die Zitate diese Linie weit weniger häufig überqueren werden als die anderen Linien, die keine Unterstützung sind. Sie können den Beweis für diese Tatsache in vielen Handelsbüchern finden. Um diese Tatsache zu nutzen, müssen wir die Menge der Stäbe berechnen, die jeden Preis kreuzen. Dies ist ein Ergebnis der Berechnungen, die im vorherigen Artikel beschrieben wurden: Die horizontale Achse in diesem Bild ist ein Preis, den die vertikale Achse die Menge der Stäbe markiert, die den Preis überqueren. Das Diagramm hat eine Menge von lokalen Minimums, wie Sie auf dem Bild sehen können. Ein lokales Minimum ist ein Punkt, der zu einem Nicht-Null-Intervall gehört und selbst das Minimum dieses Intervalls ist. Jetzt müssen wir die lokalen Minima nach einem bestimmten Merkmal auswählen. Zuerst werden wir eine Konstante setzen, MaxR, die der Flächenradius ist. Wenn ein lokales Minimum nicht das Minimum ist, das zum MaxR-Radiusbereich gehört, dann passt es nicht zu unserer Aufgabe. Zweitens setzen wir den MaxCrossesLevel-Parameter. Wenn das Maximum der Funktion von dem Minimum abweicht, als das MaxCrossesLevel im MaxR-Bereich, werden wir dieses lokale Minimum nicht anzeigen, da es nicht signifikant genug ist. Dies ist der Mechanismus der Erkennung von Stützwiderstand Ebenen. Nach diesem einfachen Algorithmus schreiben wir den Indikator. Hilfsfunktionen Wie oben beschrieben, ist der FindLevels-Indikator für die Bearbeitung von Zitaten aus jedem Zeitrahmen ausgelegt. Der Zeitrahmen wird vom Benutzer festgelegt (TimePeriod Variable). Aus Gründen der Einfachheit des Codes werden wir zwei einfache Funktionen setzen, die keine zusätzlichen Erläuterungen erfordern: Die dritte und die vierte Funktion sind notwendig für die bequeme Anzeige der Stützniveaus, ihrer Breite, Farbe und dem Anzeigemodus, der abhängt On the timeframe: Der Sinn für die Einstellung der Funktion Period2AlphabetString () ist im Abschnitt Indicators Interaction beschrieben und die Verwendung von Period2Int () Funktion wird aus dem nächsten Abschnitt klar. Schreiben des Indikators Beginnen wir mit den externen Variablen, die vom Benutzer gesetzt werden: MaxLimit - die Anzahl der verwendeten historischen Balken MaxCrossesLevel die minimale Differenz zwischen dem lokalen Maximum und dem lokalen Minimum (siehe die detaillierte Beschreibung im Theoretical Review Abschnitt MaxR Der Radius des Bereichs, in dem das Minimum erfasst wird TimePeriod der Zeitrahmen für die Erkennung der Stützniveaus Standardmäßig ist es der Zeitrahmen des Mapping-Fensters LineColor die Farbe der angezeigten Zeilen LineWidth die Zeilenbreite, 0 standardmäßig LineStyle the line style, Wenn die LineColor-, LineWidth - oder LineStyle-Werte standardmäßig vom Benutzer festgelegt werden, werden wir bei der Init-Prozedur sie in die anderen ändern, die vom Zeitrahmen abhängen. Dann die Ansicht der Zeilen aus verschiedenen Zeitrahmen Wird nicht identisch sein und wir können sie leicht unterscheiden. In der ersten Zeile setzen wir den TimePeriod-Wert, wenn er standardmäßig gesetzt wurde. Dann bestimmen wir die Zeilenbreite. Je mehr der TimePeriod-Wert in Bezug auf den Zeitrahmen des Diagramms (Mapping-Fenster) ist, desto breiter sind die Zeilen. Wenn die TimePeriod kleiner als die Diagrammperiode ist, ist die Zeilenbreite gleich 0 und die Zeile ist gestrichelt. Jeder Zeitraum hat seine eigene Farbe. Die Arrays Farben und Breite werden auf folgende Weise definiert: Lassen Sie uns die verbleibenden Variablen definieren: Das Array CrossBarsNum das Array, das die Anzahl der Balken für jeden Preis angibt CrossBarsMin das Array, das der Tatsache entspricht, ob die Zeile mit dem festgelegten Preis ein lokales Minimum ist Oder nicht d1Num und d2Num - das Minimum und die Höchstpreise, die zum Stabintervall von 0 bis MaxLimit TMaxI gehören, die die Zeit des letzten verarbeiteten Stabes angeben. MaxLines - die maximale Anzahl der Zeilen, die Sie LineName das Array ihrer Namen erstellen LineIndex der Index der leeren Zelle im Array LineName. Lassen Sie uns den Funktionsstart übergeben (): Wir berechnen die Grenzgröße mit der Anzahl der Stäbe, die seit dem letzten Abruf des Indikators nicht verändert wurde. D1 und d2 sind das Minimum und das Maximum des Preises im Intervall von 0 zu begrenzen. Während des Indikatorbetriebs können sich die mit den CrossBarsNum - und CrossBarsMin-Arrays abgedeckten Preislücken ändern. Jedes Mal, wenn es passiert, müssen wir die Menge der Zellen im Array erhöhen und bei Bedarf nach rechts verschieben. Es passiert normalerweise, wenn die neuen Variablen d1, d2 nicht mit den Variablen d1Num, d2Num übereinstimmen, die beim vorherigen Start der Funktion start () erhalten wurden. Nachdem wir sichergestellt haben, dass unsere Arrays die notwendigen Dimensionen passen, beginnen wir, die neuen Balken für jeden Preis zu berechnen und den CrossBarsNum-Wert zu erhöhen, wenn die Bar das Preisniveau überquert. Da die Nachrichtenleisten ständig auftauchen, werden die alten Stäbe vom 0. Grenzintervall ausgeschlossen. Aus diesem Grund müssen wir diese Art von Stäben überprüfen und den CrossBarsNum-Wert im Falle einer Kreuzung verringern. Dann werden wir die Zeit der letzten berechneten Leiste der TmaxI-Variablen zuordnen. Am Ende des start () - Verfahrens überwachen wir das CrossBarsMin-Array noch einmal, um die neuen lokalen Minimalwerte zu ermitteln und die alten zu löschen, die sich nicht mehr als die lokalen Minimums erweisen. Da es mehr als ein lokales Minimum ist (es gibt mehrere passende Werte im CrossBarsMin-Array und alle sind die lokalen Minimums), müssen wir nur einen von ihnen ableiten. Wir verwenden das lokale Minimum mit dem niedrigsten Preis. Es gibt nichts kompliziert beim Erstellen einer neuen grafischen Objekt horizontale Linie. Wir setzen die Features für diese Linie: die Breite, den Stil, die Farbe, die zuvor in der Init-Prozedur entworfen wurden. Es gibt nichts kompliziertes beim Löschen der Ebenen, die sich nicht mehr als Unterstützungsniveaus erweisen. Es ist eine Sache, die nicht klar ist: warum und für welchen Zweck verwenden wir die Period2AlpthabetString (TimePeriod) Funktion im Namen des Objekts. Der nächste Absatz beschreibt dieses Thema, das schon mehrfach erwähnt wurde. Indikatoren Interaktion Wie es zu Beginn des Artikels erwähnt wurde, ist der FindLevels-Indikator für die Anzeige der Unterstützungsstufen von mehreren Zeitrahmen in dem einen Diagramm ausgelegt. Um dies zu erreichen, brauchen wir folgendes: Es sollte möglich sein, den Indikator mehrmals zu starten, und der Indikator sollte die Eingabedaten mit der Zeitperiode haben. Die Zeilen sollten unterschiedlich sein und wir sollten leicht definieren, welcher Zeitraum jeder Supportpegel gehört Alle Strecken sollten sowohl von langer als auch kurzer Zeit verfolgt werden. Der erste Punkt verursacht keine Probleme. Wir haben keine globalen Variablen. Es gibt verschiedene Namen von grafischen Objekten für jeden Zeitraum, da wir die Periode im Namen des Objekts haben (zB f301.25600000, 30 ist der Zeitraum), und so gibt es keine Konflikte, wenn wir die verschiedenen Indikatoren starten . Der zweite Punkt wird erfolgreich realisiert, da jede Zeile je nach Periode farbig ist (LineColorColorsPeriod2Int (TimePeriod)). Jetzt haben wir den dritten Punkt übrig. Es ist ganz logisch, dass, wenn eine Linie entpuppt sich die Stützlinie für 5-Minuten-Diagramm, wird es auch die Stützlinie für 30-Minuten-Diagramm sein. Wenn diese Zeilen im Preis kollidieren und die gleiche Breite haben, werden wir einfach keine der Linien sehen. Deshalb müssen sich die Linien der verschiedenen Zeitrahmen in der Breite unterscheiden. Wir werden die Stützniveaus der längeren Zeiträume breiter machen als die Linien der kürzeren. Es ist durchaus vernünftig, weil die Linien, die zu den langen Intervallen gehören, bedeutsamer sind. Wir müssen die richtige Priorität haben, um die Zeilen anzuzeigen. Die dünneren Linien sollten am Ende angezeigt werden und sollten die dicken Linien überlagern, damit sie deutlich gesehen werden können. Im Programm MetaTrader 4 werden die Objekte in alphabetischer Reihenfolge angezeigt. So ist es notwendig, dass die Namen der Zeilen der längeren Perioden alphabetisch vor den Zeilen der kürzeren Perioden kommen sollten. Aus diesem Grund haben wir die Funktion erstellt, die den lateinischen Alphabet Buchstaben abhängig von der Periode setzt: Alphabet ist das Array der lateinischen Buchstaben in umgekehrter Reihenfolge. Der vollständige Name jeder Support-Ebene ist die folgende: Period2AlpthabetString (TimePeriod) TimePeriodd. Zum besseren Verständnis lass mich auf den Screenshot vom Anfang des Artikels beziehen: Die Prüfung des Indikators zeigte, dass es gut funktioniert. Es ist einfach zu bedienen, da es die Daten aus den verschiedenen Zeitrahmen anzeigen kann. Die Testperiode zeigte, dass es bequemer ist, wenn der Indikator für jede TimePeriod 3-10 Support-Levels anzeigt. Um dies zu erreichen, müssen wir die entsprechenden Eingabeeinträge MaxR und MaxCrossesLevel auswählen. Während der Prüfung variierte MaxR von 0,0003 für kürzere Zeiträume auf 0,002 für längere. MaxCrossesLevel variierte von 3 bis 20. Vielleicht wäre es hilfreich, den Indikator so zu konfigurieren, dass er die gewisse Anzahl der wichtigsten Support-Levels anzeigen könnte, aber wenn ja, hätte es den Code komplizierter gemacht. Ich denke, diejenigen, die meinen Indikator mögen, können es einfach selbst machen.

No comments:

Post a Comment