Monday 21 August 2017

Einfacher Gleit Durchschnitt Quellcode


Ich habe im Wesentlichen ein Array von Werten wie folgt. Das oben genannte Array ist vereinfacht, ich sammle 1 Wert pro Millisekunde in meinem realen Code und ich muss die Ausgabe auf einem Algorithmus verarbeiten, den ich schrieb, um den nächstgelegenen Peak vor einem Zeitpunkt zu finden Logik scheitert, weil in meinem Beispiel oben, 0 36 ist die reale Spitze, aber mein Algorithmus würde nach hinten schauen und sehen die letzte Zahl 0 25 als die Spitze, da es eine Abnahme auf 0 24 vor it. The Ziel ist, diese Werte zu nehmen Und wendet einen Algorithmus an sie an, die sie ein bisschen glätten wird, damit ich mehr lineare Werte habe, dh ich mag meine Resultate, um curvy zu sein, nicht jaggedy. Ich wurde gesagt, um einen exponentiellen gleitenden durchschnittlichen Filter auf meine Werte anzuwenden Wie kann ich Tu es das ist es wirklich schwer für mich, mathematische Gleichungen zu lesen, ich befasse mich viel besser mit Code. Wie verarbeite ich Werte in meinem Array und wende eine exponentielle gleitende durchschnittliche Berechnung an, um sie auch auszumachen. 8. Februar um 20 27.Zur berechnen Ein exponentieller gleitender Durchschnitt muss man einen Zustand um und halten Sie benötigen einen Tuning-Parameter Dies erfordert eine kleine Klasse, die davon ausgeht, dass Sie Java 5 oder höher verwenden. Mit dem Zerfallsparameter, den Sie tun möchten, sollte das Tuning zwischen 0 und 1 liegen und dann den Durchschnitt verwenden, um zu filtern. Wenn Sie eine Seite auf etwas mathematisch lesen Rezidiv, alles, was du wirklich wissen musst, wenn du es in Code umwandst, ist, dass Mathematiker gerne Indizes in Arrays und Sequenzen mit Indizes schreiben. Sie haben auch ein paar andere Notationen, die nicht helfen Aber die EMA ist ziemlich einfach, wie du nur brauchst An einen alten Wert zu erinnern, keine komplizierten Zustand Arrays erforderlich. answered Feb 8 12 bei 20 42. TKKocheran Ziemlich viel Isn t it nice, wenn die Dinge einfach sein können Wenn Sie mit einer neuen Sequenz beginnen, erhalten Sie einen neuen Mittelwert. Beachten Sie, dass die ersten paar Begriffe in der Gemittelte Sequenz springt um ein bisschen wegen der Brenneffekte, aber man bekommt die mit anderen gleitenden Durchschnitten auch Allerdings ist ein guter Vorteil, dass man die gleitende durchschnittliche Logik in den Mittelalter einpacken kann und ohne zu stören t Er Rest deines Programms zu viel Donal Fellows Feb 9 12 bei 0 06.Ich habe eine harte Zeit, deine Fragen zu verstehen, aber ich werde versuchen, irgendwie zu antworten.1 Wenn dein Algorithmus 0 25 statt 0 36 gefunden hat, dann ist es falsch Es ist falsch, weil es eine monotone Zunahme oder Abnahme annimmt, die immer aufwärts geht oder immer hinuntergeht, es sei denn, du durchschnittlich alle deine Daten, deine Datenpunkte - wie du sie vorstellst --- sind nichtlinear Wenn du wirklich das Maximum finden willst Wert zwischen zwei Punkten in der Zeit, dann schneiden Sie Ihr Array von tmin zu tmax und finden Sie die max von diesem subarray.2 Nun ist das Konzept der gleitenden Durchschnitte sehr einfach vorstellen, dass ich die folgende Liste 1 4, 1 5, 1 4, 1 5, 1 5 Ich kann es glätten, indem ich den Durchschnitt von zwei Zahlen 1 45, 1 45, 1 45, 1 5 Beachten Sie, dass die erste Zahl der Durchschnitt von 1 5 und 1 4 Sekunden und erste Zahlen die zweite neue Liste ist Ist der Durchschnitt von 1 4 und 1 5 Drittel und zweite alte Liste die dritte neue Liste der Durchschnitt von 1 5 und 1 4 vierte und dritte, und so weiter könnte ich Haben es Zeitraum drei oder vier, oder n Hinweis, wie die Daten ist viel glatter Ein guter Weg, um gleitende Durchschnitte bei der Arbeit zu sehen ist, um zu gehen, um Google Finance, wählen Sie eine Aktie Tesla Motors ziemlich volatile TSLA und klicken Sie auf technische an der Unterseite von Das Diagramm Wählen Sie Moving Average mit einer vorgegebenen Periode und Exponential gleitenden Durchschnitt, um ihre Unterschiede zu vergleichen. Exponential gleitenden Durchschnitt ist nur eine weitere Ausarbeitung dieser, aber gewichtet die älteren Daten weniger als die neuen Daten ist dies ein Weg, um die Glättung nach hinten voranzutreiben Bitte lesen Sie die Wikipedia-Eintrag. So, das ist mehr ein Kommentar als eine Antwort, aber die kleine Kommentar-Box war nur zu winzigen Viel Glück. Wenn Sie Probleme mit der Mathematik haben, könnten Sie mit einem einfachen gleitenden Durchschnitt statt exponentiellen So gehen Die Ausgabe, die du bekommst, wäre die letzten x Begriffe, die durch x Ungetestetes Pseudocode geteilt werden. Hinweis, dass du die Anfangs - und Endteile der Daten behandeln musst, da du die letzten 5 Begriffe, wenn du auf deinem zweiten Datenpunkt bist, , das Re sind effizientere Wege zur Berechnung dieser gleitenden durchschnittlichen Summe Summe - älteste neueste, aber dies ist, um das Konzept von dem, was passiert über. Erwerben 8. Februar 12 bei 20 41.MetaTrader 4 - Experts. Moving Average - Experte für MetaTrader 4. Der Moving Average-Experte für die Bildung von Handelssignalen verwendet einen gleitenden Durchschnitt. Das Öffnen und Schließen von Positionen wird durchgeführt, wenn der gleitende Durchschnitt den Preis des kürzlich gebildeten Bar-Bar-Index entspricht 1 Die Losgröße wird nach einem speziellen Algorithmus optimiert Berater analysiert die Überwindung des gleitenden Durchschnitts und der Marktpreiskarte Die Überprüfung erfolgt durch die CheckForOpen-Funktion Wenn der gleitende Durchschnitt die Bar so trifft, dass der erstere höher als der offene Preis ist, aber niedriger als der Preis ist, wird die BUY-Position sein Eröffnet Wenn der gleitende Durchschnitt die Bar so trifft, dass der erstere niedriger ist als der offene Preis, aber höher als der Schlosspreis, wird die SELL-Position eröffnet Sehr einfach, aber effektiv die Kontrolle über jedes Positionsvolumen wird in Abhängigkeit von den bisherigen Transaktionsergebnissen durchgeführt Dieser Algorithmus wird durch die LotsOptimized-Funktion implementiert Die Basis-Losgröße wird auf Basis des maximal zulässigen Risikos berechnet. Der MaximumRisk-Parameter zeigt den grundlegenden Risikoprozentsatz an Jede Transaktion Es hat in der Regel einen Wert zwischen 0 01 1 und 1 100 Zum Beispiel, wenn freie Marge AccountFreeMargin entspricht 20.500 und Regeln der Kapitalverwaltung verschreiben, um das Risiko von 2 zu verwenden, wird die grundlegende Losgröße 20500 0 02 1000 0 41 Es ist Sehr wichtig, um über die Losgrößengenauigkeit zu kontrollieren und das Ergebnis mit den zulässigen Werten zu normalisieren Normalerweise sind Bruchstücke mit Schritt 0 0 erlaubt Eine Transaktion mit einem Volumen von 0 41 wird nicht durchgeführt Um zu normalisieren, wird die Funktion NormalizeDouble mit Genauigkeit verwendet Bis zu 1 Charakter nach dem Punkt Dies führt zu der Grundpartie von 0 4 Die Grundsatzberechnung auf Basis der freien Marge erlaubt es, i zu erhöhen N Betriebsvolumen je nach Handelserfolg, dh Handel mit Reinvestition Dies ist der grundlegende Mechanismus mit obligatorischem Kapitalmanagement für die Erhöhung der Handelsdurchdringung. DecreaseFactor ist das Ausmaß, in dem die Losgröße nach dem unrentablen Handel reduziert wird. Normalwerte sind 2,3 , 4,5 Wenn die vorangegangenen Transaktionen unrentabel wären, werden die nachfolgenden Volumina um einen Faktor DecreaseFactor abnehmen, um durch die unrentable Periode zu warten. Dies ist der Hauptfaktor im Kapitalmanagement-Algorithmus Die Idee ist sehr einfach, wenn der Handel erfolgreich steigt, Der Experte arbeitet mit dem Grundpfad, das den maximalen Profit macht Nach dem allerersten unrentablen Transaktion wird der Experte die Geschwindigkeit reduzieren, bis eine neue positive Transaktion stattfindet. Der Algorithmus erlaubt es, die Geschwindigkeitsreduzierung zu deaktivieren. Dazu muss man DecreaseFactor 0 angeben Der letzten aufeinanderfolgenden unrentablen Transaktionen wird in der Handelsgeschichte berechnet. Das Grundprinzip wird zurückgerufen Auf diese Basis geplant. Damit erlaubt der Algorithmus, das durch eine Reihe von unrentablen Losgrößen auftretende Risiko effektiv zu reduzieren, wird am Ende der Funktion obligatorisch auf die minimal zulässige Losgröße überprüft, da die zuvor durchgeführten Berechnungen zu Los führen können 0. Der Experte ist vor allem für die Arbeit mit der täglichen Zeit und in der Test-Modus - für das Tun zu engen Preisen Es wird nur bei der Eröffnung einer neuen Bar handeln, das ist der Grund, warum die Modi von jeder-Tick-Modellierung nicht benötigt werden. Testing Ergebnisse sind in der report. hi dort dargestellt, ist es möglich, die Auto-Close-Features zu entfernen. Siehe diese Skalping EA. SymbolEURUSDFXF Euro gegenüber US-Dollar Periode1 Stunde H1 2007 03 30 17 01 - 2011 09 30 00 59 2007 03 01 - 2011 06 20 ModelEvery tick die genaueste Methode auf der Grundlage aller verfügbaren kleinsten Zeitrahmen ParameterLots 0 1 MaximumRisk 0 02 DecreaseFactor 3 MovingPeriod 12 MovingShift 6 Bars in test28117Ticks modelled34632921Modellqualität99 00 Nicht übereinstimmende Charts fehler0Initiale dep Osit10000 00Total Nettogewinn2786 20Grundgewinn71494 00Grossverlust-68707 80Profitfaktor1 04Ausgezahlter Auszahlungsbeginn16Absolute Drawdown600 60Maximaler Drawdown3375 60 24 72 Relative Drawdown24 72 3375 60 Total Trades2205Shortpositionen gewonnen 1102 25 50 Lange Positionen gewonnen 1103 28 92 Profit Trades von insgesamt 600 27 21 Loss Trades insgesamt 1605 72 79 Largestprofit trade1155 60loss trade-1006 80Geschäfts-Profi-Handel119 16loss Handel-42 81Maximum konsekutiv gewinnt Gewinn in Geld 6 353 40 aufeinanderfolgende Verluste Geldverlust 18 -650 40 Maximaler Gewinnsumme von Gewinnen 1170 00 4 aufeinanderfolgende Verlustzahl von Verlusten -1280 80 9 Durchschnittlich aufeinanderfolgend Wins1consecutive losses4.DIFFERENTEINSTELLUNGEN - WIE DIE ONES METAQUOTES VERWENDETES SymbolEURUSDFXF Euro gegenüber US-Dollar Periode1 Stunde H1 2007 03 30 17 01 - 2011 09 30 00 59 2007 03 01 - 2011 06 20 ModelEvery tick die genaueste Methode auf der Grundlage aller verfügbaren kleinsten Zeitrahmen ParameterLots 0 1 MaximumRisk 0 01 DecreaseFactor 1 MovingPeriod 16 MovingShift 11 Bars in test28117Ticks Modelled34632921Modellqualität99 00 Nicht übereinstimmende Charts fehler0Initiale Einzahlung1000000 00Notal Nettogewinn-424287 00Grundgewinn1015708 80Grossverlust-1439995 80Profitfaktor0 71Erweiterte Auszahlung-272 50Absolute Drawdown426566 80Maximal Drawdown445606 40 43 73 Relative Drawdown43 73 445606 40 Total Trades1557Short Positionen gewonnen 778 21 34 Lange Positionen gewonnen 779 29 40 Profit Trades von insgesamt 395 25 37 Loss Trades von insgesamt 1162 74 63 Largestprofit trade101270 40loss trade-36944 00Averageprofit trade2571 41loss trade-1239 24Maximum konsekutiv gewinnt Gewinn in Geld 4 17427 00 aufeinanderfolgende Verluste Verlust an Geld 23 -2310 40 Maximale aufeinanderfolgende Gewinnzahl von Siegen 129294 80 3 Aufeinanderfolgende Verlustzahl von Verlusten -44613 40 4 Durchschnittlich aufeinanderfolgende Gewinne1Erfolgende Verluste4.MetaTrader 4 - Indikatoren. Mehr Mittelwerte, MA - Indikator für MetaTrader 4.Die Moving Average Technical Indicator zeigt den durchschnittlichen Instrument Preiswert für eine bestimmte Zeitspanne Wenn man die Bewegung berechnet Durchschnittlich, man durchgibt die in Strument-Preis für diesen Zeitraum Wenn sich der Preis ändert, steigt der gleitende Durchschnitt entweder an oder sinkt. Es gibt vier verschiedene Arten von sich bewegenden Mittelwerten Einfache, auch als arithmetische, exponentielle, geglättete und linear gewichtete Bewegungsdurchschnitte bezeichnet, können für jeden sequentiellen Datensatz berechnet werden , Einschließlich der Eröffnungs - und Schlusskurse, der höchsten und niedrigsten Preise, des Handelsvolumens oder anderer Indikatoren Es ist oft der Fall, wenn doppelte Durchlaufwerte verwendet werden. Das einzige, wo sich die gleitenden Mittelwerte verschiedener Typen erheblich voneinander unterscheiden, ist, wenn Gewichtskoeffizienten, die Sind den letzten Daten zugeordnet, sind unterschiedlich Wenn wir von einfachem gleitendem Durchschnitt sprechen, sind alle Preise des jeweiligen Zeitraums gleich wert. Exponential - und Lineargewichtete Moving Averages legen mehr Wert auf die neuesten Preise. Der häufigste Weg zu Interpretation der Preis gleitenden Durchschnitt ist es, seine Dynamik mit der Preis-Aktion zu vergleichen Wenn der Instrument Preis steigt über seinem bewegten aver Alter, ein Kaufsignal erscheint, wenn der Preis unter seinen gleitenden Durchschnitt fällt, was wir haben, ist ein Verkaufssignal Dieses Handelssystem, das auf dem gleitenden Durchschnitt basiert, ist nicht dafür ausgelegt, in den tiefsten Punkt des Marktes zu gelangen Seine Ausfahrt direkt auf dem Gipfel Es erlaubt, nach dem folgenden Trend zu handeln, um zu kaufen, sobald die Preise den Boden erreichen und bald zu verkaufen, nachdem die Preise ihren Höhepunkt erreicht haben. Simple Moving Average SMA. Simple, mit anderen Worten, arithmetische Bewegung Durchschnitt wird berechnet durch die Zusammenfassung der Preise der Instrumentenschließung über eine bestimmte Anzahl von einzelnen Perioden zum Beispiel, 12 Stunden Dieser Wert wird dann durch die Anzahl solcher Perioden dividiert. SMA SUM CLOSE, N N. Wo N ist die Anzahl der Berechnungsperioden. Exponential Moving Average EMA. Exponentiell geglätteten gleitenden Durchschnitt wird berechnet, indem man den gleitenden Durchschnitt eines bestimmten Anteils des aktuellen Schlusskurses auf den vorherigen Wert addiert. Mit exponentiell geglätteten gleitenden Durchschnitten sind die neuesten Preise von Mehr Wert P-Prozent exponentieller gleitender Durchschnitt wird aussehen. Wo SCHLIESSEN ich den Preis der aktuellen Periodenabschluss EMA i-1 Exponentiell verschieben Durchschnitt der vorherigen Periode Schließung P der Prozentsatz der Verwendung der Preis value. Smoothed Moving Average SMMA. Das erste Wert dieses geglätteten gleitenden Durchschnittes wird berechnet als der einfache gleitende Durchschnitt SMA. SUM1 SUM CLOSE, N. Die zweiten und nachfolgenden gleitenden Durchschnitte werden nach dieser Formulierung berechnet. Wo SUM1 die Gesamtsumme der Schlusskurse für N Perioden ist SMMA1 ist die geglättete Gleitender Durchschnitt der ersten Bar SMMA i ist der geglättete gleitende Durchschnitt der aktuellen Bar mit Ausnahme der ersten CLOSE i ist der aktuelle Schlusskurs N ist die Glättung Zeitraum. Linear Weighted Moving Average LWMA. Im Falle von gewichteten gleitenden Durchschnitt, die Die jüngsten Daten sind mehr wert als frühere Daten Der gewichtete gleitende Durchschnitt wird berechnet, indem jeder der Schlusskurse innerhalb der betrachteten Serie mit einem gewissen Gewichtungskoeffizienten multipliziert wird. LWMA SUM Clo Sei, N SUMI, N. Wo SUMI, N ist die Gesamtsumme der Gewichtskoeffizienten. Moving Mittelwerte können auch auf Indikatoren angewendet werden, wo die Interpretation der Indikatorbewegungsdurchschnitte ähnlich der Interpretation der Preisbewegungsdurchschnitte ist, wenn die Indikator steigt über seinen gleitenden Durchschnitt, das bedeutet, dass die aufsteigende Indikatorbewegung wahrscheinlich weitergehen wird, wenn der Indikator unter seinen gleitenden Durchschnitt fällt, bedeutet dies, dass es wahrscheinlich weiter nach unten geht. Hier sind die Arten der sich bewegenden Mittelwerte auf dem Diagramm. Einfache Moving Average SMA. Exponential Moving Average EMA. Smooted Moving Durchschnittliche SMMA. Linear Weighted Moving Average LWMA.

No comments:

Post a Comment