Thursday 20 April 2017

Moving Average Filter Geschwindigkeit

Eine der Hauptanwendungen für die Arduino-Platine ist das Lesen und Protokollieren von Sensordaten. Zum Beispiel überwacht man den Druck jede Sekunde des Tages. Da hohe Abtastraten oft Spikes in den Graphen erzeugen, möchte man auch einen Durchschnitt der Messungen haben Nicht statisch in der Zeit, was wir oft brauchen, ist ein laufender Durchschnitt Dies ist der Durchschnitt einer bestimmten Periode und sehr wertvoll bei der Trendanalyse. Simplest Form eines laufenden Durchschnitts kann durch Code, der auf dem vorherigen laufenden Durchschnitt aufbaut. Wenn man doesn Ich möchte Floating-Point-Mathematik verwenden - da das Speicher aufnimmt und die Geschwindigkeit verringert - man kann das gleiche vollständig in der Integer-Domain machen Die Division von 256 im Sample-Code ist ein Shift-Right 8, was schneller ist, als zB Division zu zählen 100 Das gilt für jede Macht von 2 als Teiler und man muss nur darauf achten, dass die Summe der Witterungen gleich der Kraft von 2 ist. Und natürlich sollte man darauf achten, dass kein Zwischenüberlauf mit unsigned long. If y gilt Ou brauchen einen genaueren laufenden Durchschnitt, in concreto von den letzten 10 Messungen, benötigen Sie ein Array oder verknüpfte Liste, um sie zu halten Dieses Array fungiert als kreisförmiger Puffer und bei jeder neuen Messung wird der älteste entfernt. Der laufende Durchschnitt wird als der berechnet Summe aller Elemente geteilt durch die Anzahl der Elemente in der Array Der Code für den laufenden Durchschnitt wird so etwas wie dies sein. Drawback dieses Codes ist, dass das Array, um alle Werte zu halten kann ziemlich groß werden Wenn Sie eine Messung pro Sekunde und Sie haben Ich möchte einen laufenden Durchschnitt pro Minute, die Sie benötigen eine Reihe von 60 ein Durchschnitt pro Stunde würde ein Array von 3600 Das könnte nicht auf diese Weise auf einem Arduino getan werden, da es nur 2K RAM Aber durch den Aufbau eines 2-Bühnen-Durchschnitt kann es angefahren werden Ganz gut Haftungsausschluss nicht für alle Messungen In psuedo code. As ein neues internes statisches Array wird für jede runningAverage Funktion benötigt, diese schreit, um als class. RunningAverage Bibliothek implementiert zu werden. Die runningAverage Bibliothek macht eine Klasse Der Funktion oben, so kann es mehrfach in einer Skizze verwendet werden Es entkoppelt die add und die avg-Funktion, um ein bisschen flexibler zu sein, zB kann man den Durchschnitt mehrfach anrufen, ohne eine Sache hinzuzufügen. Bitte beachten Sie, dass jede Instanz der Klasse ihre Eigenes Array, um Messungen zu halten, und das fügt dem Speicherverbrauch hinzu Die Schnittstelle der Klasse wird so klein wie möglich gehalten. Hinweis mit Version 0 2 Die Namen der Methoden werden alle beschreibender gemacht. Eine kleine Skizze zeigt, wie es kann Verwendet werden Ein zufälliger Generator wird verwendet, um einen Sensor zu imitieren. In Setup ist die myRA gelöscht, so dass wir beginnen können, neue Daten hinzuzufügen. In der Schleife wird zuerst eine Zufallszahl generiert und in einen Float umgewandelt, um zu myRA hinzugefügt zu werden. Dann wird das runningAverage gedruckt Der serielle Port Man könnte es auch auf einem LCD anzeigen oder über Ethernet versenden. Wenn 300 Items hinzugefügt werden, wird myRA gelöscht, um wieder von vorne zu beginnen. Um die Bibliothek zu benutzen, mache ich einen Ordner in deiner SKETCHBOOKPATH libaries mit dem Namen RunningAverage und setze den h und Dort opt Ionally machen ein Beispiel-Unterverzeichnis, um die Probe zu platzieren app.2011-01-30 initial version.2011-02-28 fester fehlender destruktor in h file.2011-02-28 entfernt default constructor.2012- - trimValue Yuval Naveh hat TrimValue gefunden Web.2012-11-21 refactored.2012-12-30 hinzugefügt fillValue refactored für publishing.2014-07-03 hinzugefügt Memory-Schutz-Code - wenn interne Array nicht zugeordnet werden kann Größe wird 0 Dies ist zu lösen Problem beschrieben hier. Test extensiv. Template class. RunningAverage h. RunningAverage. Moving Mittelwerte Was sind sie. Among die beliebtesten technischen Indikatoren, gleitende Durchschnitte werden verwendet, um die Richtung der aktuellen Trend zu beurteilen Jede Art von gleitenden Durchschnitt häufig in diesem Tutorial geschrieben, wie MA ist ein mathematisches Ergebnis, dass Wird durch Mittelung einer Anzahl von vergangenen Datenpunkten berechnet. Sobald sie bestimmt sind, wird der daraus resultierende Durchschnitt dann auf ein Diagramm aufgetragen, um es den Händlern zu ermöglichen, geglättete Daten zu betrachten, anstatt sich auf die laufenden Preisschwankungen zu konzentrieren Alle Finanzmärkte Die einfachste Form eines gleitenden Durchschnitts, die in geeigneter Weise als einfacher gleitender Durchschnitts-SMA bekannt ist, wird berechnet, indem man das arithmetische Mittel eines gegebenen Satzes von Werten annimmt. Zum Beispiel, um einen grundlegenden 10-Tage gleitenden Durchschnitt zu berechnen, würden Sie addieren Die Schlusskurse aus den letzten 10 Tagen und teilen dann das Ergebnis um 10 In Abbildung 1 ist die Summe der Preise für die letzten 10 Tage 110 durch die Anzahl der Tage 10 geteilt, um den 10-Tage-Durchschnitt zu erreichen Wenn ein Händler wünscht Um einen 50-tägigen Durchschnitt zu sehen, würde die gleiche Art der Berechnung gemacht werden, aber es würde die Preise in den letzten 50 Tagen enthalten. Der daraus resultierende Durchschnitt unter 11 berücksichtigt die letzten 10 Datenpunkte, um den Händlern eine Vorstellung zu geben Wie ein Vermögenswert in Bezug auf die letzten 10 Tage festgesetzt wird. Vielleicht fragen Sie sich, warum technische Händler dieses Werkzeug einen gleitenden Durchschnitt nennen und nicht nur ein normales Mittel. Die Antwort ist, dass als neue Werte verfügbar werden, müssen die ältesten Datenpunkte aus dem Set und neue Datenpunkte Muss kommen, um sie zu ersetzen So wird der Datensatz ständig auf neue Daten übertragen, sobald er verfügbar ist. Diese Berechnungsmethode stellt sicher, dass nur die aktuellen Informationen berücksichtigt werden. In Abbildung 2, sobald der neue Wert von 5 hinzugefügt wird Der Satz, der rote Kasten, der die letzten 10 Datenpunkte repräsentiert, bewegt sich nach rechts und der letzte Wert von 15 wird aus der Berechnung gelöscht Weil der relativ kleine Wert von 5 den hohen Wert von 15 ersetzt, würden Sie erwarten, dass der Durchschnitt der Datensatz verringern, was es tut, in diesem Fall von 11 bis 10.Was do Moving Averages aussehen Wie Sobald die Werte der MA berechnet wurden, werden sie auf ein Diagramm gezeichnet und dann verbunden, um eine gleitende durchschnittliche Linie zu erstellen Diese geschwungenen Linien Sind auf den Charts von technischen Händlern üblich, aber wie sie verwendet werden, kann drastisch mehr an diesem später variieren Wie Sie in Abbildung 3 sehen können, ist es möglich, mehr als einen gleitenden Durchschnitt zu jedem Diagramm hinzuzufügen, indem Sie die Anzahl der verwendeten Zeiträume anpassen im Die Berechnung Diese geschwungenen Linien können zuerst ablenkend oder verwirrend erscheinen, aber du wirst sie gewöhnen, wie die Zeit vergeht Die rote Linie ist einfach der durchschnittliche Preis in den letzten 50 Tagen, während die blaue Linie der Durchschnittspreis in den letzten 100 ist Tage. Jetzt, dass Sie verstehen, was ein gleitender Durchschnitt ist und wie es aussieht, werden wir eine andere Art von gleitenden Durchschnitt vorstellen und untersuchen, wie es sich von der oben erwähnten einfachen gleitenden Durchschnitt unterscheidet. Der einfache gleitende Durchschnitt ist bei den Händlern sehr beliebt Wie alle technischen Indikatoren, hat es seine Kritiker Viele Einzelpersonen argumentieren, dass die Nützlichkeit der SMA begrenzt ist, weil jeder Punkt in der Datenreihe gleich gewichtet wird, unabhängig davon, wo es in der Sequenz auftritt. Kritiker argumentieren, dass die aktuellsten Daten mehr sind Signifikant als die älteren Daten und sollte einen größeren Einfluss auf das endgültige Ergebnis haben Als Reaktion auf diese Kritik begannen die Händler, mehr Gewicht auf die jüngsten Daten zu geben, die seither zum Erfindung von verschiedenen Arten von neuen Mitteln, die beliebteste ist die exponentielle gleitenden Durchschnitt EMA Für weitere Lesung, siehe Grundlagen der gewichteten Moving Averages und was ist der Unterschied zwischen einem SMA und ein EMA. Exponential Moving Average Der exponentielle gleitenden Durchschnitt ist ein Art der gleitenden Durchschnitt, die mehr Gewicht auf die jüngsten Preise in einem Versuch, um es mehr reagiert auf neue Informationen Lernen die etwas komplizierte Gleichung für die Berechnung einer EMA kann für viele Händler unnötig sein, da fast alle Charting-Pakete die Berechnungen für Sie machen, Für Sie Mathe Geeks da draußen, hier ist die EMA Gleichung. Wenn mit der Formel, um den ersten Punkt der EMA zu berechnen, können Sie feststellen, dass es keinen Wert zur Verfügung, um als die vorherige EMA verwenden kann Dieses kleine Problem kann durch das Starten der zu lösen Berechnung mit einem einfachen gleitenden Durchschnitt und weiter mit der obigen Formel von dort aus haben wir Ihnen eine Beispielkalkulationstabelle mit realen Beispielen gegeben Wie man sowohl einen einfachen gleitenden Durchschnitt als auch einen exponentiellen gleitenden Durchschnitt berechnet. Der Unterschied zwischen EMA und SMA Nun, da du ein besseres Verständnis dafür hast, wie die SMA und die EMA berechnet werden, lass uns einen Blick darauf werfen, wie sich diese Durchschnittswerte unterscheiden Bei der Berechnung der EMA werden Sie feststellen, dass mehr Aufmerksamkeit auf die jüngsten Datenpunkte gelegt wird, so dass es eine Art von gewichteten Durchschnitt ist. In Abbildung 5 ist die Anzahl der Zeiträume, die in jedem Durchschnitt verwendet werden, identisch 15, aber die EMA reagiert mehr Schnell zu den wechselnden Preisen Beachten Sie, wie die EMA einen höheren Wert hat, wenn der Preis steigt, und fällt schneller als die SMA, wenn der Preis sinkt. Diese Reaktionsfähigkeit ist der Hauptgrund, warum viele Händler es vorziehen, die EMA über die SMA. What Do zu verwenden Die verschiedenen Tage Mean Moving Mittelwerte sind ein völlig anpassbarer Indikator, was bedeutet, dass der Benutzer frei wählen kann, was Zeitrahmen sie wollen, wenn die Erstellung des Durchschnitts Die häufigsten Zeiträume, die in gleitenden Durchschnitten verwendet werden, sind 15, 2 0, 30, 50, 100 und 200 Tage Je kürzer die Zeitspanne, die verwendet wird, um den Durchschnitt zu schaffen, desto empfindlicher wird es Preisänderungen sein. Je länger die Zeitspanne, desto weniger empfindlich oder mehr geglättet wird, wird der Durchschnitt dort sein Ist kein richtiger Zeitrahmen, um bei der Einrichtung Ihrer bewegten Durchschnitte zu verwenden Der beste Weg, um herauszufinden, welche am besten für Sie arbeitet, ist, mit einer Reihe von verschiedenen Zeiträumen zu experimentieren, bis Sie eine finden, die zu Ihrer Strategie passt. Moving Average - MA. BREAKING DOWN Moving Average - MA. As ein SMA Beispiel, betrachten Sie eine Sicherheit mit den folgenden Schlusskurse über 15 Tage. Week 1 5 Tage 20, 22, 24, 25, 23.Week 2 5 Tage 26, 28, 26, 29, 27.Week 3 5 Tage 28, 30, 27, 29, 28.A 10-Tage-MA würde die Schlusskurse für die ersten 10 Tage als der erste Datenpunkt ausgleichen Der nächste Datenpunkt würde den frühesten Preis fallen lassen, den Preis hinzufügen Tag 11 und nehmen Sie den Durchschnitt, und so weiter wie unten gezeigt. Wie bereits erwähnt, MAs lag die aktuelle Preisaktion, weil sie auf vergangene Preise basieren die längere th E Zeitraum für die MA, desto größer die Lag So ein 200-Tage-MA wird eine viel größere Verzögerung als ein 20-Tage-MA, weil es Preise für die letzten 200 Tage enthält Die Länge der MA zu verwenden, hängt von der Handels-Ziele, mit kürzeren MAs für kurzfristige Handel und längerfristige MAs mehr geeignet für langfristige Investoren Die 200-Tage-MA ist weit gefolgt von Investoren und Händlern, mit Pausen über und unter diesem gleitenden Durchschnitt als wichtiger Handel Signale. MAs vermitteln auch wichtige Handelssignale auf eigene Faust, oder wenn zwei Durchschnitte kreuzen Ein aufsteigender MA zeigt an, dass die Sicherheit in einem Aufwärtstrend ist, während ein abnehmender MA anzeigt, dass es sich in einem Abwärtstrend befindet. Ähnlich wird die Aufwärtsbewegung mit einem bullish Crossover bestätigt Die auftritt, wenn ein kurzfristiges MA über einen längerfristigen MA-Abwärtsimpuls überquert, wird mit einem bärigen Crossover bestätigt, der auftritt, wenn ein kurzfristiges MA unter einem längerfristigen MA übergeht.


No comments:

Post a Comment