Monday 27 November 2017

Exponential Moving Average Algorithm C


Im in den Prozess der Schaffung eines Forex Trading-Algorithmus und wollte meinen Versuch bei der Berechnung EMA (Exponential Moving Averages) versuchen. Meine Ergebnisse scheinen korrekt zu sein (im Vergleich zu den Berechnungen, die ich von Hand gemacht habe), so dass ich glaube, die folgende Methode funktioniert, aber wollte nur eine zusätzliche Menge von Augen, um sicherzustellen, dass im nicht fehlt etwas zu bekommen. Beachten Sie, dass dies nur die EMA für den letzten Preis zurückgibt, gibt es nicht ein Array von EMAs, wie das ist nicht das, was ich für meine Anwendung benötigen. Rekursion ist ein gutes Werkzeug für den richtigen Job, aber hier wird es verwendet, um einfaches Looping zu erreichen. Als solcher der Code. Ist schwerer zu lesen und zu begründen. Ist langsamer, da ein Großteil des Codes in ema nur einmal ausgeführt werden muss. Wird fehlschlagen mit groß genug Wert des Fensters durch überlaufende Python-Aufruf-Stack. Bitte dokumentieren Sie mindestens die Parameter jeder Funktion, zB. Dieses Fenster ist die Länge des Fensters, und diese Position zählt rückwärts vom Ende der Daten. (In der Tat wäre es klarer, wenn Position waren ein normaler Vorwärts-Index in Daten) Heben Sie eine Ausnahme, wenn Sie einen Parameter einen ungültigen Wert finden. Wenn Sie stattdessen nichts zurückgeben, wird dies später nur zu einer verwirrenden Ausnahme führen. In der Tat, wenn ich Indicators () versuchen. Ema (closeprices, 600) Ich bekomme unendliche Rekursion, weil sma keine zurückgibt. Das macht ema sma immer und immer wieder. Der vorhergehende Punkt zeigt auch, dass wenn len (data) lt window 2 nicht die richtige Gültigkeitsprüfung ist. Die 1 in data-window2 1: - window 1 scheint mir nicht richtig zu sein. Ich nehme an, Sie möchten data-window2: - window Die Anweisung return previousema ist an einem ungeraden Ort, da Sie an diesem Punkt haben Sie eine neue currentema berechnet. Dies ist der Basisfall der Rekursion, und es ist üblich, das Basisgehäuse zuerst zu behandeln. Mein Vorschlag für ema: antwortete am 26. November um 18:56 Hübsche flache Überprüfung: Sie müssen nicht eine Klasse für das, was Sie tun, schreiben (und ich schlage vor, Sie haben einen Blick auf dieses Video). Ihre Klasse kapselt keine Daten und Sie verwenden es nur, um Ihre Funktionen in einer gleichen Entität haben. Ich denke, Dinge wäre leichter zu verstehen, wenn Sie classmethod zu definieren, um es offensichtlich, dass Sie nicht wirklich auf irgendeine Instanz verlassen wollen. Eine noch bessere Möglichkeit wäre jedoch, Funktionen in einem Indikatormodul zu definieren. Antwortete Nov 24 14 am 18:04 Vielen Dank für die Vorschläge, die ich tatsächlich haben sie als classmethods und debattiert hin und her zwischen sogar mit einer Klasse oder einfach nur definieren Funktionen in einem Indikator-Modul (was ich jetzt tun). Ndash ChrisC Nov 25 14 am 19:12 Nur gerade das Video zu, große Sachen. Ndash ChrisC 2016 Stack Exchange, IncI Ich versuche, einen Weg zu finden, um einen bewegenden kumulativen Durchschnitt zu berechnen, ohne die Zählung und die insgesamt Daten, die bisher empfangen wird, zu speichern. Ich kam mit zwei Algorithmen, aber beide müssen die Zähler zu speichern: neue durchschnittliche (alte Daten alte Daten) nächste / nächste Anzahl neue durchschnittliche alte Durchschnitt (nächste Daten - alter Durchschnitt) / nächste Zählung Das Problem mit diesen Methoden ist, dass Wird die Zählung größer und größer, was zu einer Präzision in dem resultierenden Mittel führt. Die erste Methode verwendet die alte Zahl und die nächste Zahl, die offensichtlich 1 auseinander liegen. Dies hat mich denken, dass vielleicht gibt es einen Weg, um die Zählung zu entfernen, aber leider habe ich es noch nicht gefunden. Es hat mich ein bisschen weiter aber, was in der zweiten Methode aber noch zählen vorhanden ist. Ist es möglich, oder bin ich nur auf der Suche nach dem Unmöglichen gefragt 28. September um 8: 46An exponentiellen gleitenden Durchschnitt Algorithmus. / Haynes, David Corns, Steven Venayagamoorthy, Ganesh Kumar. 2012 IEEE-Kongress zur Evolutionären Berechnung, CEC 2012. 6252962. Forschungsleistung. Kapitel in Buch / Bericht / Konferenzvorbereitung Konferenzbeitrag Haynes, D, Corns, S amp Venayagamoorthy, GK 2012, Ein exponentieller gleitender Mittelalgorithmus. Im Jahr 2012 IEEE-Kongress für evolutionäre Berechnung, CEC 2012.. 6252962, 2012 IEEE Kongress über Evolutionäre Berechnung, CEC 2012, Brisbane, QLD, Australien, 10-15 Juni. DOI: 10.1109 / CEC.2012.6252962 Haynes, D. Corns, S. amp Venayagamoorthy, G. K. (2012). Ein exponentieller gleitender Mittelalgorithmus. Im Jahr 2012 IEEE-Kongress für evolutionäre Berechnung, CEC 2012. 6252962 DOI: 10.1109 / CEC.2012.6252962 Haynes D, Corns S. Venayagamoorthy GK. Ein exponentieller gleitender Mittelalgorithmus. Im Jahr 2012 IEEE Congress on Evolutionary Computation, CEC 2012. 6252962. Verfügbar von, DOI: 10.1109 / CEC.2012.6252962 Haynes, David Corns, Steven Venayagamoorthy, Ganesh Kumar / Ein exponentieller gleitender Durchschnitt Algorithmus. 2012 IEEE-Kongress zur Evolutionären Berechnung, CEC 2012. 6252962. Forschungsleistung. Kapitel in Buch / Bericht / Konferenzvorgang Konferenzbeitragstitel Ein exponentieller gleitender Durchschnittsalgorithmus, Stichwörter Computational Intelligence, Evolutionary Computation, Spiele, Mittelwertoptimierung, Sudoku, Autor David Haynes und Steven Corns und Venayagamoorthy,, Buchtitel 2012 IEEE-Kongress zur Evolutionären Berechnung , CEC 2012, T1 - Ein exponentieller gleitender Durchschnittsalgorithmus AU - Venayagamoorthy, Ganesh Kumar N2 - Techniken, um den Suchraum zu reduzieren, wenn ein Optimierer einen optimalen Wert sucht, werden in diesem Papier untersucht. Eine neue Mutationsmethode, die so genannte Exponential Moving Average Algorithmus (EMA), wird eingeführt. Die Performance von EMA-Algorithmen wird mit zwei anderen ähnlichen Computational Intelligence (CI) Algorithmen verglichen (ein gewöhnlicher Evolutionary Algorithm (EA) und eine Mean-Variance Optimization (MVO)), um ein mehrdimensionales Problem mit einem großen Suchraum zu lösen. Das klassische Sudoku-Puzzle wird als Problem mit einem großen Suchraum gewählt. 2012 IEEE. AB - Techniken, um den Suchraum zu reduzieren, wenn ein Optimierer einen optimalen Wert sucht, werden in diesem Papier untersucht. Eine neue Mutationsmethode, die so genannte Exponential Moving Average Algorithmus (EMA), wird eingeführt. Die Performance von EMA-Algorithmen wird mit zwei anderen ähnlichen Computational Intelligence (CI) Algorithmen verglichen (ein gewöhnlicher Evolutionary Algorithm (EA) und eine Mean-Variance Optimization (MVO)), um ein mehrdimensionales Problem zu lösen, das einen großen Suchraum aufweist. Das klassische Sudoku-Puzzle wird als Problem mit einem großen Suchraum gewählt. 2012 IEEE. KW - Berechnungsinformatik KW - Evolutionäre Berechnung KW - Mean-Variance Optimierung M3 - Konferenzbeitrag BT - 2012 IEEE Kongress zur Evolutionären Berechnung, CEC 2012 Ähnliche Forschungsergebnisse Cai, X. Zhang, N. Venayagamoorthy, GK amp Wunsch, IEEE Internationale Konferenz über Neuronale Netze - Tagungsberichte. Vol. 2. p. 1647-1652 6 p. Forschung. Kapitel in Buch / Bericht / Konferenzbericht Konferenzbeitrag Bakare, G. A. Krost, G. Venayagamoorthy, G. K. amp Aliyu, U. O. Dez 1 2007 2007 IEEE Power Engineering Society Generalversammlung, PES. 4275781 Forschungsleistung. Kapitel in Buch / Bericht / Konferenzvorbereitung Konferenzbeitrag Folly, K. A. amp Venayagamoorthy, G. K. 18.11.2009 Proceedings of the International Joint Conference on Neural Networks. P. 861-868 8 p. 5179080 Forschungsleistung. Kapitel in Buch / Bericht / Konferenzveranstaltung Konferenzbeitrag Cai, X. Zhang, N. Venayagamoorthy, G. K. amp Wunsch, D. C. Aug 1 2007 In. Neurocomputer. 70. 13-15. P. 2342-2353 12 p. Forschung. Beitrag zum Zeitschriftenartikel Venayagamoorthy, G. K. amp Singhal, G. Zeitschrift für anorganische und allgemeine Chemie. 2. 4. p. 561-568 8 p. Forschung. Beitrag zur Zeitschriftenartikel Powered by Pure und die Elsevier Fingerprint Engine Die US-Nationalbibliothek für Medizin ist die Quelle des in dieser Lösung verwendeten MeSH-Thesaurus 2012. Die National Agricultural Library ist die Quelle des NAL-Thesaurus 2012, der in dieser Lösung verwendet wird. NASA ist die Quelle des NASA-Thesaurus, der in dieser Lösung verwendet wird. Cookies werden von dieser Site festgelegt. Um sie abzulehnen oder mehr zu erfahren, besuchen Sie unsere Cookies-Seite. Kopie 2013 Elsevier B. V Alle Rechte vorbehalten.

No comments:

Post a Comment