Heiken Ashi Trading System For Amibroker (Afl)
Heiken Ashi ist ein guter und kraftvoller Indikator. Um es zu benutzen, kannst du versuchen, wie ich vorschlage 1. Wenn der Trend ist, konzentrieren Sie sich auf Candle8217s Körper. Ich ignoriere normalerweise den Schatten, da der Körper mehr Informationen gibt. Immer wenn der Körper kleiner wird, bedeutet dies eine Schwächung. 2. Wenn der Trend nach unten ist, konzentriere dich auf den Kerze8217s Schatten. Ich ignoriere normalerweise den Körper, da der Schatten mehr Informationen gibt. Immer wenn der Schatten länger wird, zeigt er 2 Signal an. Fortsetzung oder Umkehrung. Kombinieren Sie es mit Ihrem anderen favorit Indikator, um das beste Ergebnis zu erhalten. Hoffe das kann hilfreich sein FYI Don8217t die Mühe, Heiken Ashi als japanischen Candlestick zu betrachten, weil beide auf ganz andere Weise arbeiten. Thanks8230Been auf der Suche nach einem HA für Amibroker Chart zeigen gut, ich versuche dann Kommentar Hallo, Kann mir jemand sagen, wie man kaufen Verkaufssignale für Heikin ashi Meanin, dass es kauft, wenn Kerze grün wird und verkaufen, wenn red8230MetaTrader 5 - Beispiele Ein Beispiel für einen Trading System basiert auf einem Heiken-Ashi-Indikator Einleitung Mit dem Auftreten von Leuchter-Chart in den USA vor mehr als zwei Jahrzehnten gab es eine Revolution im Verständnis, wie die Kräfte von Stieren und Bären auf den westlichen Märkten arbeiten. Candlesticks wurde ein beliebtes Handelsinstrument, und Händler begannen mit ihnen zu arbeiten, um das Lesen der Charts zu erleichtern. Aber die Interpretation der Leuchter unterscheidet sich von einander. Eine dieser Methoden, die das traditionelle Candlestick-Diagramm verändert und seine Wahrnehmung erleichtert, heißt Heikin-Ashi-Technologie. 1. Nani Desu Ka Die erste Publikation zu diesem Thema erschien 2004 in der Februar-Ausgabe der Technischen Analyse der STOCKS amp COMMODITIES Zeitschrift, wo Dan Valcu einen Artikel mit dem Titel "Heikin Ashi Technik" (Link zum Originalartikel) veröffentlicht hat Website der Autor weist darauf hin, dass er im Sommer 2003 die Technik von Ichimoku studierte und so oft zufällig ein paar Diagramme entdeckte, auf denen er einen deutlich sichtbaren Trend des Marktes sah. Es stellte sich heraus, ein Heikin-Ashi-Diagramm zu sein, oder um genauer zu sein, einige veränderte Leuchter. Diese Methode der Analyse wurde von einem japanischen Händler entwickelt, der sehr erfolgreich wurde und diese Methode bis heute nutzt. Zur Überraschung des Autors fand er keine weiteren verwandten Informationen in Büchern oder im Internet, so dass er beschlossen hat, es allen Händlern zugänglich zu machen, indem er sie in einer Zeitschrift veröffentlicht hat. Die Heikin-Ashi-Methode (Heikin auf Japanisch bedeutet die Mitte oder die Balance, und ashi bedeutet Fuß oder Bar) und ist ein visuelles Werkzeug für die Bewertung von Trends, ihre Richtung und Stärke. Das ist kein heiliger Gral des Handels, aber es ist definitiv ein gutes und einfach zu bedienendes Instrument zur Visualisierung von Trends. Erfahren Sie, wie die Berechnung des OHLC-Candlestick-Wertes erfolgt: Verschluss der aktuellen Leiste: haSchließen (Open High Low Close) 4 Eröffnung der aktuellen Bar: haOpen (haOpen vor. HaClose before) 2 Maximaler Strom: haHigh Max (High, haOpen, haSchließen) Minimum der aktuellen Bar: haLow Min (Niedrig, haOpen, haClose) Die Werte von Open, High, Low und Close beziehen sich auf den aktuellen Balken. Das Präfix ha gibt die entsprechenden modifizierten Werte von heikin-ashi an. Um die Wahrnehmung von Marktinformationen zu erleichtern, verändert die Heikin-Ashi-Technologie das traditionelle Candlestick-Diagramm, indem sie so genannte synthetische Leuchter kreiert, die Unregelmäßigkeiten aus dem normalen Diagramm entfernen und ein besseres Bild von Trends und Konsolidierungen bieten. Gerade durch das Betrachten der Leuchterkarte, die mit dieser Methode erstellt wurde, bekommst du einen guten Überblick über den Markt und seinen Stil: Abbildung 1. Auf der linken Seite befindet sich ein regelmäßiger Candlestick-Chart (a), rechts (b) Heikin-Ashi-Diagramm Abb . 1 zeigt den Unterschied zwischen traditionellen japanischen Leuchtern von Heiken Ashi Leuchter. Das Merkmal dieser Graphen ist, dass in einem Aufwärtstrend die Mehrheit der weißen Kerzen keinen Schatten hat. In einem Abwärtstrend gibt es keinen Oberschatten für die Mehrheit der schwarzen Kerzen. Heiken Ashi-Chart zeigt keine Pausen, so dass sich eine neue Kerze auf der Ebene der vorherigen Mitte öffnet. Die Leuchter auf dem Heiken-Ashi-Diagramm zeigen ein größeres Ausmaß der Trendanzeige als herkömmliche Leuchter. Wenn der Trend schwächt, werden die Leichen von Leuchtern reduziert und die Schatten wachsen Die Veränderung in der Farbe der Leuchter ist ein Signal zu verkaufen verkaufen. Es ist am bequemsten, das Ende einer Korrekturbewegung zu bestimmen, basierend auf diesen Diagrammen. Dieser Indikator ist ein Teil von MetaTrader 5 und Sie können ihn im Ordner anzeigen Indikatoren Beispiele HeikenAshi. mq5. Bevor ich den Indikator auf das Diagramm installiere, empfehle ich, den Graphen linear zu machen. Auch in den Eigenschaften des Graphen, in der Registerkarte Allgemein, deaktivieren Sie das Element aus dem oberen Diagramm. Ich möchte noch einmal darauf achten, dass die Heiken-Ashi-Methode kein heiliger Gral ist. Um dies zu beweisen, werde ich versuchen, ein einfaches Handelssystem (TS) mit nur dieser Technik zu erstellen. Um dies zu tun, müssen wir einen einfachen Expert Advisor erstellen, indem wir die Programmiersprache MQL5 und Standard-Bibliotheksklassen verwenden und diese dann mit Hilfe des Strategie-Testers des MetaTrader 5-Terminals auf historische Daten testen. 2. Trading System Algorithmus Ohne die Dinge zu komplex zu machen, erstellen wir den Algorithmus unter Verwendung der sechs Grundregeln des Heiken-Ashi-Verfahrens, die von Dan Valcu auf der folgenden Seite vorgeschlagen wurden: educofin Ein steigender Trend - blauer Leuchter haCloseampgt haOpen Ein abnehmender Trend - Roter Kerzenständer haClose lthaOpen Ein starker, steigender Trend - ein blauer Leuchter, bei dem es keinen Niedrigstark gibt Ein starker, sinkender Trend - ein roter Leuchter, der kein High haOpen haHigh Konsolidierung ist - eine Sequenz von Leuchtern mit kleinen Körpern (jeglicher Farbe) Und lange Schatten Trendwechsel - ein Leuchter mit einem kleinen Körper und langen Schatten der entgegengesetzten Farbe. Es ist nicht immer ein zuverlässiges Signal und kann manchmal nur ein Teil der Konsolidierung sein (5). Eine Tendenz von (1,2) ist leicht zu verstehen - wenn wir in einer Transaktion sind, halten wir einfach die Position und bewegen den Stopp um 1-2 Punkte unterhalb des vorherigen Leuchters. Eine starke Tendenz (3,4) wir handeln die gleiche Weise - indem wir den Stopp hochziehen. Konsolidierung (5) und eine Trendänderung (6), schließt die Position (wenn sie nicht durch den Stopp geschlossen ist), aber wir müssen dann entscheiden, ob eine Gegenposition zu öffnen oder nicht. Um die Entscheidung zu treffen, müssen wir irgendwie feststellen, ob eine Konsolidierung oder eine Umkehrung stattfindet. Wir benötigen einen Filter, gebaut auf Indikatoren, Leuchteranalyse oder grafische Analyse. Die Ziele unseres Artikels beinhalten nicht die Schaffung einer rentablen Strategie, aber wer weiß, was wir als Ergebnis erreichen werden. Darum betrachten wir das Aussehen einer Kerze der entgegengesetzten Farbe, wir werden die Position schließen und ein neues mit der entgegengesetzten Richtung öffnen. Und so ist unser Algorithmus wie folgt: Nach der Entstehung einer Kerze der entgegengesetzten Farbe schließen wir die vorherige Position, wenn wir eine haben, und öffnen Sie eine Position bei der Eröffnung einer neuen Kerze, indem Sie einen Stopp 2 Punkte unterhalb der Minimummaximum der vorherigen Kerze. Der Trend - wir bewegen den Stop 2 Punkte unterhalb des Maximums der vorherigen Kerze. Mit einem starken Trend nehmen wir die gleichen Schritte wie wir mit dem Trend machen, also den Stopp bewegen. Insgesamt ist alles ganz einfach und hoffentlich dem Leser klar. Jetzt werden wir dies auf die Sprache von MQL5 umsetzen. 3. Programmierung des Expertenberaters in MQL5 Um einen Expert Advisor zu erstellen, benötigen wir nur einen Eingabeparameter - die Größe des Loses, die beiden Eventhandlerfunktionen OnInit (), OnTick () und unsere eigene Funktion CheckForOpenClose (). Um die Eingabeparameter in MQL5 einzustellen, verwenden wir Input-Variablen. Funktion OnInit () ist der Event-Handler Init. Init-Ereignisse werden sofort nach dem Laden des Expert Advisor generiert. Im Code dieser Funktion werden wir den Indikator an den Expert Advisor anschließen. Wie ich bereits erwähnt habe, enthält der Standard MetaTrader 5 einen HeikenAshi. mq5 Indikator. Sie können sich fragen, warum es so viel Komplexität gibt, wenn wir die Formeln für die Berechnung des Indikators haben, und wir können die Werte im Code des Expert Advisor berechnen. Ja, ich gebe zu, es ist möglich, dies zu tun, aber wenn man sich einen von ihnen sorgfältig anschaut: Sie sehen, dass es die vorherigen Werte verwendet, die eine gewisse Unannehmlichkeit zu unabhängigen Berechnungen schafft und unser Leben kompliziert. Deshalb werden wir statt der unabhängigen Berechnungen die Fähigkeiten von MQL5 nutzen, um unseren benutzerdefinierten Indikator, insbesondere die Funktion iCustom, zu verbinden. Um dies zu tun, fügen wir dem Körper der Funktion OnInit () die folgende Zeile hinzu: und wir erhalten eine globale Variable hHeikenAshi - Handle des HeikenAshi. mq5, Indikator, den wir in der Zukunft benötigen werden. Die Funktion OnTick () ist der Handler des NewTick () - Ereignisses. Die mit dem Auftreten eines neuen Ticks erzeugt wird. Funktion TerminalInfoInteger (TERMINALTRADEALLOWED) prüft, ob der Handel erlaubt ist oder nicht. Mit der Funktion BarsCalculated (HHeikenAshi) überprüfen wir die Menge der berechneten Daten für den angeforderten Indikator in unserem Fall HeikenAshi. mq5. Und wenn beide Bedingungen erfüllt sind, sehen wir die Erfüllung unserer Funktion CheckForOpenClose (), wo die Hauptarbeit stattfindet. Lasst es uns genauer betrachten Da die Begriffe unserer TS angeben, dass die Montage von Aufträgen bei der Eröffnung eines neuen Leuchters stattfindet, müssen wir feststellen, ob ein neuer Leuchter eröffnet ist oder nicht. Es gibt viele Möglichkeiten, dies zu tun, aber die einfachste ist, um das Volumen der Zecken zu überprüfen. Wenn also das Zeckenvolumen gleich eins ist, bedeutet dies das Öffnen einer neuen Leiste, und Sie sollten die Bedingungen von TS überprüfen und Aufträge ausstellen. Wir implementieren es folgendermaßen: Erstellen Sie ein variables Array des Typs MqlPreise der Größe eines Elements. Mit der Funktion CopyRates () erhalten sie die Werte der letzten Leiste. Dann überprüfen Sie die Tick-Lautstärke und wenn es größer als eins ist, beenden Sie die Funktion, wenn nicht, dann fortsetzen Sie die Berechnungen. Als nächstes erklären wir mit der Anweisung ein paar mnemonische Konstanten: Dann erklären wir das Array: und mit der Funktion CopyBuffer () erhalten wir die Werte des Indikators in den entsprechenden Arrays. Ich möchte Sie darauf konzentrieren, wie Daten in den Variablen des Arrays gespeichert werden. Der älteste (historisch) Balken wird im ersten Element des Arrays (Null) gespeichert. Die jüngste (aktuelle) Stange in der letzteren, BARCOUNT-1 (Abb. 2). Abbildung 2. Die Reihenfolge der Leuchter und die Werte der Indizes des Arrays Und so haben wir die OHLC Heiken-Ashi-Werte erhalten und es bleibt, die Bedingungen für die Eröffnung oder Aufrechterhaltung einer Positionen zu überprüfen. Betrachten Sie im Detail die Verarbeitung des Verkaufssignals. Wie ich schon früher darauf hingewiesen habe, bekamen wir die Werte von drei Heiken-Ashi-Leuchtern. Der aktuelle Wert befindet sich in den Zellen mit der Nummer BARCOUNT-1 2, und es ist nicht notwendig für uns. Die vorherigen Werte sind in den Zellen BARCOUNT-2 1, und die früheren Takte sind in BARCOUNT-3 0 (siehe Abb. 2), und auf der Grundlage dieser beiden Stäbe werden wir die Bedingungen für die Herstellung des Handels überprüfen. Dann müssen wir auf offene Stellen auf dem Instrument überprüfen. Dazu verwenden wir die CPositionInfo-Klasse der Handelsklassen der Standardbibliothek. Diese Klasse erlaubt uns, Informationen über offene Positionen zu erhalten. Mit der Methode Select (Symbol) bestimmen wir das Vorhandensein von offenen Positionen auf unserem Instrument, und wenn sie vorhanden sind, dann verwenden wir mit der Methode Type () die Art der offenen Positionen. Wenn wir zum gegenwärtigen Moment eine offene Position zum Kauf haben, dann müssen wir es schließen. Dazu verwenden wir die Methoden der Klasse CTrade der Standardklassenbibliothek. Die für die Durchführung von Handelsgeschäften bestimmt ist. Mit der Methode PositionClose (const String Symbol, ulong Abweichung) schließen wir den Kauf, wo das Symbol der Name des Instruments ist, und der zweite Parameter, Abweichung, ist die zulässige Abweichung des Schlusskurses. Dann überprüfen wir die Kombination von Leuchtern nach unserem TS. Da wir bereits die Richtung der neu gebildeten Leuchter (mit dem Index BARCOUNT-2) überprüft haben, müssen wir den Leuchter vorher noch vorher überprüfen (mit dem Index BARCOUNT-3) und die notwendigen Schritte ausführen, um die Position zu öffnen. Hier ist es notwendig, Ihre Aufmerksamkeit auf die Verwendung von drei Methoden der CTrade Klasse zu richten: Methode PositionOpen (Symbol, Auftragsart, Volumen, Preis, sl, tp, Kommentar) Dient zum Öffnen einer Position, wo Symbol der Name des Instruments ist, Ordertype - Auftragsart, Volumen - die Losgröße, Preis - Kaufpreis, sl - Stop, tp - Profit, Kommentar - ein Kommentar. Methode PositionModify (Symbol, sl, tp) Dient zum Ändern des Wertes von Stop und Profit, wobei Symbol - der Name des Instruments, sl - Stop, tp - Profit. Ich möchte Sie darauf aufmerksam machen, dass Sie vor der Verwendung dieser Methode auf das Vorhandensein einer offenen Position achten sollten. Die Methode ResultRetcodeDescription () wird verwendet, um die Beschreibung des Codefehlers in Form einer Zeile zu erhalten. Bei der Berechnung des variablen Stopps ist der Wert des haHigh BARCOUNT-2 eine Berechnung, die vom Indikator empfangen wird, und benötigt eine Normalisierung, die durch die Funktion NormalizeDouble (haHigh BARCOUNT-2, Digits) durchgeführt wird, um korrekt verwendet zu werden. Dies vervollständigt die Verarbeitung des Signals zu verkaufen. Zu kaufen verwenden wir das gleiche Prinzip. Hier ist der komplette Code des Expert Advisor: Der komplette Text des Expert Advisor finden Sie in der beigefügten Datei HeikenAshiExpert. mq5. Kopiere es in den Katalog. MQL5-Experten, dann führen Sie MetaEditor durch das Menü Tools - ampgt Editor MetaQuotes Sprache, oder verwenden Sie die F4-Taste. Als nächstes im Navigator-Fenster öffnen Sie die Registerkarte Experten, und laden Sie die Datei HeikenAshiExpert. mq5, indem Sie darauf doppelklicken, in das Bearbeitungsfenster und kompilieren Sie es durch Drücken von F7. Wenn alle Operationen korrekt durchgeführt wurden, dann im Register Expert Advisors, im Navigator-Fenster wird die Datei HeikenAshiExpert verpackt. Der HeikenAshi. mq5-Indikator muss in gleicher Weise kompiliert werden, er befindet sich im Katalog MQL5 Indikatoren Beispiele. 4. Testen des Handelssystems auf historische Daten Um die Lebensfähigkeit unseres Handelssystems zu überprüfen, verwenden wir den MetaTrader 5 Strategie-Tester, der Bestandteil der Handelsplattform ist. Der Tester wird durch das Terminal-Menü View - ampgt Strategy Tester oder durch Drücken der Tastenkombination Ctrl R geführt. Sobald es gestartet ist, finden wir die Registerkarte Einstellungen (Abbildung 3). Abbildung 3. Strategie-Tester-Einstellungen Konfigurieren des Experten-Beraters - Wählen Sie aus einer Liste unserer Experten-Berater, geben Sie das Testintervall als Anfang 2000 bis Ende 2009 an, der Betrag der ersten Einzahlung beträgt 10.000 USD, deaktivieren Sie die Optimierung (da wir Haben nur einen Eingabeparameter, und wir wollen nur die Lebensfähigkeit des TS überprüfen). Die Prüfung erfolgt mit zwei Währungspaaren. Ich beschloss, die Währungspaare EURUSD und GBPUSD zu wählen. Zum Testen habe ich beschlossen, folgende Zeitintervalle zu nehmen: H3, H6 und H12. Sie werden fragen, warum die Antwort ist, weil ich die TS in Zeitintervallen testen wollte, die im MetaTrader4-Terminal nicht vorhanden waren. Auf geht's. Wir wählen die Testwährung EURUSD, die Testperiode H3, und klicken Sie auf Start. Nach Abschluss des Testens sehen wir zwei neue Registerkarten im Testerfenster: Ergebnisse (Abb. 4) und Grafik (Abb. 5). Abbildung 4. Die Ergebnisstrategieprüfung EURUSD H3 Aus den Testergebnissen (Abb. 4) Sie sehen, dass für den Zeitraum von Anfang 2000 bis Ende 2009 mit den gegebenen Parametern der TS einen Verlust von -2560,60 USD erbracht hat. Die Grafik (Abb. 5) zeigt die Verteilung der Gewinne und Verluste im Laufe der Zeit, die uns die Möglichkeit gibt, die Leistung von TS im Laufe der Zeit zu überprüfen und eine Analyse von Systemfehlern vorzunehmen. Abbildung 5. Grafik-Tab des Strategie-Testers (EURUSD H3) Ich habe fast vergessen zu erwähnen, dass die Registerkarte Ergebnisse standardmäßig einen einfachen Bericht erstellt. Darüber hinaus haben wir die Möglichkeit, Transaktionen, Aufträge und schriftliche Dateiberichte anzuzeigen. Um dies zu tun, platzieren wir einfach den Cursor über die Registerkarte, klicken Sie mit der rechten Maustaste und wählen Sie den entsprechenden Menüpunkt aus: Abbildung 6. Kontextmenü der Registerkarte Strategie Tester Ergebnisse Hier sind die Ergebnisse der Prüfung über einen Zeitraum von sechs Stunden (H6): Abbildung 7. Strategie-Tester-Ergebnis-Tab (EURUSD H6) über einen Zeitraum von zwölf Stunden (H12). Abbildung 8. Registerkarte Strategie Tester Ergebnisse (EURUSD H12) Es scheint, dass auf dem Währungspaar wie EURUSD unsere Strategie nicht wirksam ist. Aber wir können feststellen, dass die Veränderung der Arbeitszeit das Ergebnis erheblich beeinträchtigt. Wir erweitern unseren Test auf das Währungspaar GBPUSD, um endgültige Schlussfolgerungen über die Effizienz unserer TS zu ziehen. Abbildung 9. Registerkarte "Strategie-Tester-Ergebnisse" (GBPUSD H3) Abbildung 10. Registerkarte "Strategie-Tester-Ergebnisse" (GBPUSD H6) Abbildung 11. Registerkarte "Strategie-Tester-Ergebnisse" (GBPUSD H12) Abbildung 12. Registerkarte "Strategie-Tester" (GBPUSD H12) Nach der Analyse der Testergebnisse, Wir sehen, dass mit einem Währungspaar, wie GBPUSD, unser System positive Ergebnisse in zwei getrennten Fällen gezeigt hat. Über einen Zeitraum von zwölf Stunden erhielten wir einen beträchtlichen Gewinn von 8903,23 USD, obwohl er über neun Jahre empfangen wurde. Die Interessenten können andere Währungspaare testen. Meine Annahme ist, dass je flüchtiger das Paar ist, desto besser sollte das Ergebnis erzielt werden und der längere Zeitraum sollte verwendet werden. Schlussfolgerung Abschließend möchte ich betonen, dass dieses Handelssystem nicht der Heilige Gral ist und nicht allein genutzt werden kann. Wenn wir aber mit zusätzlichen Signalen (Leuchteranalyse, Wellenanalyse, Indikatoren, Trends) die Umkehrsignale von den Konsolidierungssignalen trennen, dann kann es bei einigen volatilen Handelsinstrumenten recht lebensfähig sein, obwohl es unwahrscheinlich ist, einen verrückten Gewinn zu erzielen. Nani Desu Ka - Was ist das (Japanisch) Übersetzt aus dem Russisch von MetaQuotes Software Corp. Ursprünglicher Artikel: mql5ruarticles91Smoothed Heikin Ashi für Amibroker Re: Geglättete Heikin Ashi für Amibroker Vielen Dank für Ihren Vorschlag. Ich melde den MQ5-Indikator --------------------------------------------- --------------------- iHeikenAshiSm. mq5 Integer dmffx ------------------------ ------------------------------------------ Eigentums-Urheberrecht quotIntegerquot Eigenschaft Link quotdmffxquot Eigenschaft Version Quot1.00quot property indicatorchartwindow property indicatorbuffers 17 property indicatorplots 1 --- plot HeikenAshi property indicatorlabel1 quotHeikenAshiquot property indicatorcolor1 DodgerBlue, Red property indicatorstyle1 STYLESOLID property indicatorwidth1 1 enum eType CANDLESDRAWCOLORCANDLES, BARSDRAWCOLORBARS Die Heiken Ashi Indikator mit Glättung. Je nach Parameter TYPE (BARS, CANDLES) kann es als Balken oder Kerzen aufgetragen werden. Je nach Parameter Variant (HeikenAshi, Preis) kann man HeikenAshi Bars oder konventionelle Kerzen, die als Heiken Ashi Bars gemalt sind, zeichnen. (Kerzen): Bars1099 (Kerzen) Heiken Ashi oder Standard Preisleisten (Kerzen) Typ - Zeichnung Typ: Bars oder Kerzen MAPeriod - 10521040 Periode MAMethod - 10521040 Methode: 0-SMA, 1-EMA, 2-SMMA , 3-LWMA SmPeriod - Glättungszeitraum SmMethod - Glättungsmethode: 0-SMA, 1-EMA, 2-SMMA, 3-LWMA. --- Eingabeparameter Eingabe eVar Variant HeikenAshi Variant Heiken Ashi oder Preis Eingang eType Typ KERZEN Typ Zeichnung Typ - Stäbe oder Kerzen Eingang int MAPeriod 1 MAPeriod 10521040 Periodeneingang ENUMMAMETHOD MAMMODUSMODUS MAM.2940 Methode: 0-SMA, 1-EMA, 2- SMMA, 3-LWMA Eingang int SmPeriod 1 SmPeriod Glättungsperiodeneingang ENUMMAMETHODE SmMethod MODESMA SmMethod Glättungsmethode: 0-SMA, 1-EMA, 2-SMMA, 3-LWMA --- Indikatorpuffer doppelt HeikenAshiBuffer1 double HeikenAshiBuffer2 double HeikenAshiBuffer3 double HeikenAshiBuffer4 double HeikenAshiColors Doppelte OpenMABuffer doppelte HighMABuffer doppelte LowMABuffer doppelte CloseMABuffer doppelte doppelte hoch doppelte niedrige doppelte schließen doppelte openSm doppelte highSm doppelte lowSm double closeSm SetIndexBuffer (0, HeikenAshiBuffer1, INDICATORDATA) SetIndexBuffer (1, HeikenAshiBuffer2, INDICATORDATA) SetIndexBuffer (2, HeikenAshiBuffer3, INDICATORDATA) SetIndexBuffer ( 3, HeikenAshiBuffer4, INDICATORDATA) SetIndexBuffer (4, HeikenAshiColors, INDICATORCOLOR INDEX) SetIndexBuffer (5, OpenMABuffer, INDICATORDATA) SetIndexBuffer (6, HighMABuffer, INDICATORDATA) SetIndexBuffer (7, LowMABuffer, INDICATORDATA) SetIndexBuffer (8, CloseMABuffer, INDICATORDATA) SetIndexBuffer (9 (11, low, INDICATORDATA) SetIndexBuffer (11, low, INDICATORDATA) SetIndexBuffer (11, low, INDICATORDATA) SetIndexBuffer (11, low, INDICATORDATA) SetIndexBuffer (11, low, INDICATORDATA) SetIndexBuffer (11, low, INDICATORDATA) SetIndexBuffer (15, lowSm (1, PLOTSHOWDATA, false) PlotIndexSetInteger (2, PLOTSHOWDATA, false) PlotIndexSetInteger (3, PLOTSHOWDATA, false) OpenMAHandleiMA (Symbol, PERIODCURRENT, MAPeriod (Symbol, PERIODCURRENT, MAPeriod, 0, MAMethod, PRICHIGH) LowMAHandleiMA (Symbol, PERIODCURRENT, MAPeriod, 0, MAMethod, PRICELOW) CloseMAHandleiMA (Symbol, PERIODCURRENT, MAPeriod, 0, MAMethod, PRICECLOSE) zurück (0) ----------------------------------------------- ------------------- Benutzerdefinierte Indikator-Iterationsfunktion --------------------------- --------------------------------------- int OnCalculate (const int ratestotal, const int vorberechnet, Konstante doppelte Ampullen, const doppelte Amplituden, const doppelte Verstärkung, const doppelte ampclose, const lange amptickvolume, const lange ampvolume, const int ampspread) static bool errortrue int start, start2, start3 int begin2 int startX if (prevccc0culated0) errortrue if (Fehler) startMAPeriod begin2start start2begin2 start3start2 beginXstart3 errorfalse ArrayInitialize (HeikenAshiBuffer1, EMPTYVALUE) ArrayInitialize (HeikenAshiBuffer2, EMPTYVALUE) ArrayInitialize (HeikenAshiBuffer3, EMPTYVALUE) ArrayInitialize (HeikenAshiBuffer4, EMPTYVALUE) PlotIndexSetInteger (0, PLOTDRAWBEGIN, MAPeriodSmP eriod) PlotIndexSetInteger (1, PLOTDRAWBEGIN, MAPeriodSmP Erodie (2, PLOTDRAWBEGIN, MAPeriodSmP eriod) PlotIndexSetInteger (3, PLOTDRAWBEGIN, MAPeriodSmP eriod) sonst startprevcculiert-1 start2start start3start if (CopyBuffer (OpenMAHandle, 0,0, ratestotal-start, OpenMABuffer) -1) errortrue return (0) (0) if (CopyBuffer (LowMAHandle, 0,0, ratestotal-start, LowMABuffer) -1) errortrue return (0) if (copyBuffer (highMAHandle, 0,0, ratestotal-start, highMABuffer) (0) if (start2begin2) openstart2OpenMABufferstart2 highstart2HighMABufferstart2 lowstart2LowMABufferstart2 closestart2CloseMABufferstart2 start2 für (int istart2iltratestotali) closei (OpenMABufferiHighMABufferiLowMABufferiCloseMABufferi) 4 openi (openi-1closei-1) 2 HalloMathuffer (highMMatschi, MathMax (openi, closei)) fMAOnArray2 (open, openSm, SmPeriod, SmMethod, beginX, start3, ratestotal) fMAOnArray2 (high, highSm, SmPeriod, SmMethod, beginX, Start3, ratestotal) fMAOnArray2 (low, lowSm, SmPeriod, SmMethod, beginX, s tart3, ratestotal) fMAOnArray2 (close, closeSm, SmPeriod, SmMethod, Begi nX, start3, ratestotal) Wenn (VariantHeikenAshi) für (int istart3iltratestotali) HeikenAshiColorsiHeikenAshiColorsi-1 HeikenAshiBuffer1iopenSmi HeikenAshiBuffer2iMathMax (highSmi, MathMax (openSmi, closeSmi)) HeikenAshiBuffer3iMathMin (lowSmi, MathMin (openSmi, closeSmi)) HeikenAshiBuffer4icloseSmi if (closeSmiltopenSmi) HeikenAshiColorsi1 if (closeSmigtopenSmi) HeikenAshiColorsi0 sonst für (int istart3iltratestotali) HeikenAshiColorsiHeikenAshiColorsi-1 HeikenAshiBuffer1iopeni HeikenAshiBuffer2ihighi HeikenAshiBuffer3ilowi HeikenAshiBuffer4iclosei if (closeSmiltopenSmi ) HeikenAshiColorsi1 if (closeSmigtopenSmi) HeikenAshiColorsi0 return (ratestotal) --------------------------------------- --------------------------- fMAOnArray2 ---------------------- -------------------------------------------- void fMAOnArray2 (const double ampaData (AArtaArbeitsphase) für (int iaStartiltaRatesTotali), wenn (iaBeginaPeriod) aMAi0 für (iaBeginaPeriod) aMAi0 für (intiaPerioda) Int j0jltaPeriodj) aMAiaDatai-j aMAiaPeriod else aMAiaMAi-1- (aDatai-aPeriod-aDatai) aPeriod break case MODEEMA: if (aStartaBegin) aMAaBeginaDataaBegin aStart p12.0 (1.0aPeriod) p2 (1.0-p1) für (int iaStartiltaRatesTotali) aMAip1aDataip2aMAi - 1 break case MODELWMA: aStartMathMax (aStart, aBeginaPeriod) tWS (1.0aPeriod) 2.0aPeriod für (int iaStartiltaRatesTotali) aMAi0 für (int j0jltaPeriodj) aMAiaDatai-j (aPeriod-j) Dies gibt einen sehr guten geglätteten Trend Re: Geglättete Heikin Ashi für Amibroker weiß ich nicht über mq5 Formel. Ich gebe unten Heikin ashi geglättet afl, die ich kopiert hatte. SECTIONBEGIN (quotPricequot) SetChartOptions (0, chartShowArrowschartShowDates) N (Titel StrFormat (Open - G, Hi g, Lo g, Schließen g (.1f), O, H, L, C, SelectedValue (ROC (C, 1) )) Plot (C, quotClosquot, ParamColor (quotColorquot, colorBlack), styleNoTitle ParamStyle (quotStylequot) GetPriceStyle ()) SECTIONEND () SECTIONBEGIN (quotHeiken Ashi Smoothedquot) SetChartBkGradientFill (ParamColor (quotBgTopquot, colorBlack), ParamColor (quotBgBottomquot, colorBlack), ParamColor (quotTitleblockquot, colorLightGrey)) SetChartOptions (0, chartShowArrowschartShowDates) GraphXSpace5 pParam (quotPeriodquot, 6,2,30,1) OmMA (O, p) hmMA (H, p) lmMA (L, p) CmMA (C, p) HACLOSE (OmHmLmCm) 4 HaOpen AMA (Ref (HaClose, -1), 0,5) HaHigh Max (Hm, Max (HaClose, HaOpen)) HaLow Min (Lm, Min (HaClose, HaOpen)) PlotOHLC (HaOpen, HaHigh, HaLow, (C, quotClosequot, colorBlack, styleLine) SECTIONBEGIN (quotMA1quot) P ParamField (quotPrice fieldquot, das ist ein Diagramm, -1) Perioden Param (pteriodsquot, 15, 2, 300, 1, 10) Plot (MA (P, Perioden), DEFAULTNAME (), ParamColor (quotColorquot, colorCycle), ParamStyle (quotStylequot)) SECTIONEND () Hoffe, dass Sie das finden sinnvoll. Weiterhin fordere ich Sie auf, Details zu geben, wie Sie das verwenden, für unsere Informationen. Re: Smoothed Heikin Ashi für Amibroker Vielen Dank für den Austausch einer Formel. Ich bin mir nicht sicher, ob es richtig ist. Die Smoothened Heiken Ashi-Methode hilft Ihnen, in einen Trend zu kommen, der sich definitiv bildet und hilft Ihnen auch bei dem Trend zu bleiben, bis es erschöpft ist. Ich bin ein Bild von einem Standard-Candlesticks-Diagramm (in schwarzen und weißen Kerzen) zusammen mit den Smoothened Heiken Ashi Kerzen (blau zeigt Aufwärtstrend und rot zeigt Abwärtstrend). Sie können für sich selbst sehen, wenn Sie bei der ersten blauen eingegeben haben, könnten Sie schon lange dort bleiben, um den größten Teil des Aufwärtstrends zu erfassen. Re: Geglättete Heikin Ashi für Amibroker Ich wollte nur die Größe des Körpers in die Kerze hinzufügen, damit du die Stärke eines Trends verstehst. Wenn man einen großen blauen Körper mit einem kleinen Schwanz sieht, der gebildet wird und die Körpergröße immer schrittweise kleiner wird, zeigt er auf Erschöpfung des Impulses des Trends und man kann sogar planen und aussteigen, bevor eine rote Kerze gebildet wird (oder in der Fall eines Abwärtstrends, bevor eine blaue Kerze gebildet wird) Ursprünglich von Babubhai geschrieben Danke für das Teilen einer Formel. Ich bin mir nicht sicher, ob es richtig ist. Die Smoothened Heiken Ashi-Methode hilft Ihnen, in einen Trend zu kommen, der sich definitiv bildet und hilft Ihnen auch bei dem Trend zu bleiben, bis es erschöpft ist. Ich bin ein Bild von einem Standard-Candlesticks-Diagramm (in schwarzen und weißen Kerzen) zusammen mit den Smoothened Heiken Ashi Kerzen (blau zeigt Aufwärtstrend und rot zeigt Abwärtstrend). Sie können für sich selbst sehen, wenn Sie bei der ersten blauen eingegeben haben, könnten Sie schon lange dort bleiben, um den größten Teil des Aufwärtstrends zu erfassen. Ich kann dein Diagramm nicht sehen. Kannst du das Bild-Shack-Bild aufstellen, das ich ein Bild von meinem leicht modifizierten afl für Informationen einbeziehe. Änderungen sind wie folgt aus Parametern, Periode25 und zeigen Linechart und fügen 5sma in rot hinzu. Full afl ist wie folgt SECTIONBEGIN (quotPricequot) SetChartOptions (0, chartShowArrowschartShowDates) N (Titel StrFormat (quot - Open g, Hi g, Lo g, Schließen g (.1f), O, H, L, C, SelectedValue (ROC (C, 1)))) Plot (C, quotClosequot, ParamColor (quotColorquot, Farbeschwarz), styleNoTitle ParamStyle (quotStylequot) GetPriceStyle ()) SectionEnd () SECTIONBEGIN (quotHeiken Ashi Smoothedquot) SetChartBkGradientFill (ParamColor (quotBgTopquot, Farbeschwarz), ParamColor ( ZBBottomquot, colorBlack), ParamColor (quotTitleblockquot, colorLightGrey)) SetChartOptions (0, chartShowArrowschartShowDates) GraphXSpace5 pParam (quotPeriodquot, 6,2,30,1) OmMA (O, p) hmMA (H, p) lmMA (L, p) CmMA (HOCH, Max) (Hamt, HaOpen)) HaN-Min. (HAHN) , (*) Wenn Sie (Zeile1) Plot (C, quotClosequot, colorWhite, styleLine) aLinearReg (HaClose, 5 ) (Null) (null) (nr.) (Nr.) (Nr.) (Nr.) (Nr.) (Noun, neuter) (P (P, Perioden), DEFAULTNAME (), ParamColor (quotColorquot, colorCycle), ParamStyle (z. B. Zitat), ParamStyle (quotS1lequot )) SectionEnd () SECTIONBEGIN (quotMagnified Markt Pricequot) von Vidyasagar, vkunisettyyahoo FSParam (quotFont Sizequot, 30,30,100,1) GfxSelectFont (quotArialquot, FS, 900, kursiv Falsch, unterstrichen false True) GfxSetBkMode (Farbeweiß) GfxSetTextColor (ParamColor ( QuotColorquot, colorYellow)) HorParam (quotAposition Positionquot, 800,800,800,800) VerParam (quotVertical Positionquot, 50,50,250,50) GfxTextOut (quotquotC, Hor. Ver) YCTimeFrameGetPrice (quotCquot, inDaily, -1) DDPrec (C-YC, 2) xxPrec ((DDYC) 100,2) GfxSelectFont (quotArialquot, 12, 700, kursiv Falsch, unterstrichen False True) GfxSetBkMode (Farbeweiß) GfxSetTextColor ( ParamColor (quotColorquot, Coloryellow)) GfxTextOut (quotquotDDquot (quotxxquot) quot, Hor5, Ver45) SectionEnd () PriceLineColorParamColor (quotPriceLineColorquot, ColorRG B (82,82,82)) Preisstufen ParamField (quotPriceFieldquot, Feld 3) Daysback Param (quotBars Backquot, 100,10,500,1) FirstBar BarCount - DaysBack YY IIf (BarIndex () gt Firstbar, EndValue (Preisstufen), Null) Plot (YY, quotCurrent Pricequot, PriceLineColor, ParamStyle (quotLineStylequot, Stil LinestyleDashedstyleNoTitlestyleNoLabelstyleTh ick, MASKALL)) für (i 0 I lt BarCount i) if (iside BarCount) PlotText (quot PriceLevel i, i, YY i - disti, colorLightBlue) SECTIONBEGIN (quotLinear Regressionquot) P ParamField (quotPrice fieldquot, -1) Perioden Param (quotPeriodsquot, 15, 2, 300 , 1, 10) Plot (LinearReg (P, Perioden), DEFAULTNAME (), ParamColor (quotColorquot, colorCycle), ParamStyle (quotStylequot)) SECTIONEND () SECTIONBEGIN (quotLinear Regression1quot) P ParamField (quotPrice fieldquot, -1) Perioden Param ( quotPeriodsquot, 15, 2, 300, 1, 10) Grundstück (LinearReg (P, Perioden), DEFAULT (), ParamColor (quotColorquot, colorCycle), ParamStyle (quotStylequot)) SectionEnd () SECTIONBEGIN (quotPricequot) SetChartOptions (0, chartShowArrowschartShowDates) N (Titel StrFormat (offene g, Hi g, Lo g, Schließen g (.1f), O, H, L, C, SelectedValue (ROC (C, 1))) Plot (C, quotClosequot, ParamColor (Z. B. Strömungssumme) (Titel StrFormat) (Titel StrFormat (Og, Hg, Lg, Cg (.1f), O, H, L, C)) quatEncodeColor (colorPink) ----------------- ------------------------ - quot quotnquotEncodeColor (colorOrange) quotThe Sultan Foundation v 13.01 Intquot quotnquotEncodeColor (colorLightOrange) Zitat Sultanji quot quotnquotEncodeColor (colorPink) quot --- -------------------------------------- quot quotnquotEncodeColor (colorOrange) quotIf helle grüne Kerze BUY und If Rote Kerze SELLquot) quotnquotEncodeColor (colorLightOrange) Zitat Sultanji Zuerst bearbeitet von kgsirasangi 12th May 2012 at 09:12 PM.
Comments
Post a Comment