Sunday, 12 November 2017

Berechnen Exponentiell Gleitend Durchschnittlich In Sql


Ich habe die Diskussion gelesen, die du erwähnt hast. Es gilt für PostgreSQL, da es erlaubt ist, benutzerdefinierte Aggregatfunktion mit SQL in PostgreSQL zu erstellen, aber nicht in SQL Server erlaubt. Mit rekursiven CTE ist ein machbarer Weg in SQL Server, aber ich merke, dass CTE-Weg kann mehr Tabellen-Scan als Fenster-Funktionen entstehen. Also mache ich diesen Beitrag zu fragen, ob es möglich ist, exponentiell gleitenden Durchschnitt mit SQL Server 2012 Fenster Funktion zu berechnen, wie die Berechnung einfacher gleitender Durchschnitt. Ndash xiagao1982 Apr 14 13 at 2:53 Zuerst berechnen Sie die EMA (SMA (x)) anstelle der EMA (x). Zweitens ist dein quotsmoothing constantquot eigentlich der Beta-Wert in meiner Formel, nicht das Alpha. Mit diesen beiden Änderungen sieht das SQLFiddle so aus: sqlfiddle6191921 Allerdings gibt es noch einen kleinen Unterschied zwischen dem tatsächlichen Ergebnis und dem erwarteten Ergebnis. Ich würde zurückgehen und sehen, ob ihre EMA-Definition mit dem übereinstimmt, den ich kenne. Ndash Sebastian Meine Mai 7 13 um 13:46 Ich habe gerade auf die Formular in der Kalkulationstabelle Sie befestigt und es ist weg von der Standard-EMA-Definition. Meine Formel berechnet den exponentiellen gleitenden Durchschnitt der letzten zehn Zeilen. Die Kalkulationstabelle berechnet zunächst den Standard-Durchschnitt über die letzten zehn Zeilen und dann den unbeschränkten exponentiell gewichteten gleitenden Durchschnitt über alle Mittelwerte. Dies folgt dem Formular hier: en. wikipedia. orgwikiEWMAchart ndash Sebastian Meine 7. Mai 13 um 13: 52Im Versuch, einen exponentiellen gleitenden Durchschnitt (EMA) auf postgres zu implementieren, aber wie ich die Dokumentation überprüfe und darüber nachdenke, desto mehr versuche ich das mehr verwirrt Ich bin. Die Formel für EMA (x) lautet: Es scheint perfekt für einen Aggregator zu sein, wobei das Ergebnis des zuletzt berechneten Elements genau das ist, was hier zu tun ist. Allerdings erzeugt ein Aggregator ein einziges Ergebnis (wie reduzieren oder falten) und hier benötigen wir eine Liste (eine Spalte) von Ergebnissen (als Karte). Ich habe überprüft, wie Prozeduren und Funktionen funktionieren, aber AFAIK produzieren sie eine einzelne Ausgabe, keine Spalte. Ich habe viele Prozeduren und Funktionen gesehen, aber ich kann nicht herausfinden, wie dies mit der relationalen Algebra interagiert, besonders wenn man so etwas macht, eine EMA. Ich hatte noch kein Glück, die Internets zu suchen. Aber die Definition für eine EMA ist ganz einfach, ich hoffe es ist möglich, diese Definition in etwas zu übersetzen, das in postgres arbeitet und einfach und effizient ist, weil das Umziehen auf NoSQL in meinem Kontext übertrieben wird. Ist das Berechnen der Aggregation, die das Ergebnis in jeder Zeile für jede Unterliste der Eingabedaten erzeugt. Da es so aussieht, dass es den Aggregator bis zur Zeile n verwendet, kehrt das Ergebnis zurück und geht dann in die Zeile 0, um die Aggregation bis zur Zeile n1 zu berechnen Nochmals. Gibt es eine Möglichkeit, die Akkumulation oder eine statische Variable (wie in C) zu verwenden, so dass dies einmal berechnet werden muss Danke. Ndash Trylks Jan 20 12 um 11:59 Nein, es kennt den kumulierten Wert. Wenn Sie die Abfrage mit dem Quoten-Info-Quot-Befehl unkommentiert ausführen, können Sie sehen, dass die Funktion nur einmal für jede Zeilenausgabe aufgerufen wird. Postgresql gibt den Statuswert auf jeder Zeile aus (falls ein finalfunc definiert ist, der aufgerufen wird, den Zustand in einen Ausgangswert umzuwandeln). Ndash araqnid 20. Januar um 12:04 ErwinBrandstetter: Ich habe die meisten Änderungen zurückgestellt - bei dem Format des ersten (Anker-) Teils der Abfrage kann EMA (x1) mit einer einzigen Zeile klar dargestellt werden Corespnds auf die einzelne Zeile definieren sie in der Frage. Im Falle des rekursiven Teils der Abfrage habe ich mn - 1 in der Join - Bedingung verwendet, um die Äquivalenz der Beziehung zu EMA (xn - 1) in der Frage anzuzeigen, obwohl dies weniger performant ist, wenn die Leistung ein ist Problem, das OP kann die Join-Bedingung ändern, um zu sein, wie Sie vorgeschlagen haben. Ndash Mark Bannister Jan 16 12 at 9: 27Exponential Moving Average - EMA BREAKING DOWN Exponential Moving Average - EMA Die 12- und 26-Tage-EMAs sind die beliebtesten Kurzzeitdurchschnitte und sie werden verwendet, um Indikatoren wie die gleitende durchschnittliche Konvergenz zu schaffen Divergenz (MACD) und dem prozentualen Preisoszillator (PPO). Im Allgemeinen werden die 50- und 200-Tage-EMAs als Signale von Langzeittrends verwendet. Händler, die technische Analysen verwenden, finden bewegte Durchschnitte sehr nützlich und aufschlussreich, wenn sie richtig angewendet werden, aber schaffen Verwüstung, wenn sie unsachgemäß verwendet oder falsch interpretiert werden. Alle gleitenden Mittelwerte, die üblicherweise in der technischen Analyse verwendet werden, sind ihrer Natur nach hintere Indikatoren. Folglich sollten die Schlussfolgerungen, die aus der Anwendung eines gleitenden Durchschnitts auf eine bestimmte Marktkarte gezogen werden, darin bestehen, eine Marktbewegung zu bestätigen oder ihre Stärke anzugeben. Sehr oft, bis zu der Zeit, in der eine gleitende durchschnittliche Indikatorlinie eine Änderung vorgenommen hat, um einen bedeutenden Marktzugang zu reflektieren, ist der optimale Markteintritt bereits vergangen. Eine EMA dient dazu, dieses Dilemma zu einem gewissen Grad zu lindern. Weil die EMA-Berechnung mehr Gewicht auf die neuesten Daten setzt, umarmt sie die Preisaktion etwas fester und reagiert daher schneller. Dies ist wünschenswert, wenn eine EMA verwendet wird, um ein Handelseingangssignal abzuleiten. Interpretation der EMA Wie alle gleitenden durchschnittlichen Indikatoren sind sie für die Trends in den Märkten besser geeignet. Wenn der Markt in einem starken und anhaltenden Aufwärtstrend ist. Die EMA-Indikatorlinie zeigt auch einen Aufwärtstrend und umgekehrt für einen Down-Trend. Ein wachsamer Trader wird nicht nur auf die Richtung der EMA-Linie achten, sondern auch auf das Verhältnis der Änderungsrate von einem Bar zum nächsten. Zum Beispiel, da die Preiswirkung eines starken Aufwärtstrends beginnt zu glätten und umzukehren, beginnt die EMAs-Änderungsrate von einem Bar zum nächsten zu verkleinern, bis zu diesem Zeitpunkt die Indikatorlinie abflacht und die Änderungsrate Null ist. Wegen der nacheilenden Wirkung, bis zu diesem Punkt, oder sogar ein paar Takte vorher, sollte die Preisaktion bereits umgekehrt sein. Daraus folgt, dass die Beobachtung einer konsequenten Abnahme der Änderungsrate der EMA selbst als Indikator verwendet werden könnte, der dem Dilemma, das durch die nacheilende Wirkung der sich bewegenden Mittelwerte verursacht wurde, weiter entgegenwirken könnte. Gemeinsame Verwendungen der EMA EMAs werden häufig in Verbindung mit anderen Indikatoren verwendet, um signifikante Marktbewegungen zu bestätigen und ihre Gültigkeit zu beurteilen. Für Händler, die intraday und schnell bewegte Märkte handeln, ist die EMA mehr anwendbar. Häufig verwenden Händler EMAs, um eine Handelsvorspannung zu bestimmen. Zum Beispiel, wenn ein EMA auf einer Tageskarte einen starken Aufwärtstrend zeigt, kann eine Intraday-Trader-Strategie sein, nur von der langen Seite auf einem Intraday-Chart zu handeln.

No comments:

Post a Comment