Saturday, 25 February 2017

C # Moving Average Warteschlange

Wenn Leistung dieses Codes kritisch ist, dann könnte es sinnvoll sein, Heapzuweisungen für Kerzen zu vermeiden. Ich denke, die vernünftigste Art, dies zu tun, wäre, Candle zu einer Struktur zu machen. Obwohl veränderliche Werttypen sind böse. So würde ich auch Refactor Kerze unveränderlich sein. Dies bedeutet auch, dass sich die Implementierung von newestCandle ändern müsste, wahrscheinlich in ein Paar von Doppelfeldern (oder alternativ eine separate veränderliche und rücksetzbare Klasse). Ich sehe keine andere potenzielle Leistungsproblem in Ihrem Code. Aber wenn es um die Leistung geht, sollten Sie sich immer auf Profiling, nicht Ihre (oder jemand elses) Intuition verlassen. Auch ich mag nicht einige Namen Ihrer Methoden. Speziell: ValueUpdated. Methodennamen sollten in der Regel in der Form etwas tun, nicht etwas passiert. Also ich denke, ein besserer Name wäre UpdateValue. Hinzufügen. Ändern. Dies sind die beiden grundlegenden Operationen Ihres MovingAverage und ich denke, dass diese Namen nicht ausdrücken die Bedeutung gut. Ich würde sie so etwas wie MoveAndSetCurrent und SetCurrent nennen. beziehungsweise. Obwohl diese Benennung bedeutet, dass die grundlegenden Operationen sollte eher Move und SetCurrent. Calculate Exponential Moving Average auf eine Warteschlange in C Ich habe eine einfache Klasse für die Berechnung der gleitenden Durchschnitt der Werte, die ich hinzufügen. Ich benutze es so: Ich möchte diese Klasse erweitern, um auch das ExponentialMovingAverage zurückzugeben. Wie würden Sie schreiben den exponentiellen Durchschnitt der Queued-Elemente in Anführungszeichen Ich verwirkliche Sie müssen eine Alpha-Eigenschaft zur Klasse hinzufügen, aber Im nicht sicher, wie die Mathe für die Berechnung abzuschließen. Wie wäre es mit LINQ: return Quotes. DefaultIfEmpty ().Aggregate ((ema, nextQuote) gt alpha nextQuote (1 - alpha) ema) Ich würde darauf hinweisen, dass für Echtzeit-Finanzdaten ist dies sehr ineffizient. Viel besser wäre es, den vorherigen EMA-Wert zwischenzuspeichern und ihn auf eine neue Quote mit der obigen (konstanten) Wiederholungsformel zu aktualisieren. Dieser Artikel listet eine Formel. Es hilft en. wikipedia. orgwikiMovingaverageExponentialmovingaverage Related Post Im Versuch, einen exponentiellen gleitenden Durchschnitt (EMA) auf postgres zu implementieren, aber wie ich die Dokumentation zu überprüfen und darüber nachzudenken, desto mehr versuche ich die mehr verwirrt bin ich. Die Formel für EMA (x) lautet: EMA (xn) xn (1 -) EMA (xn-1) Es scheint, dass ich einen kontinuierlichen Wert habe, für den Id einen exponentiellen gleitenden Durchschnitt berechnen möchte. Normalerweise benutze ich nur die Standardformel dafür: Sn Y (1-) Sn-1 wobei Sn der neue Durchschnitt ist, das Alpha ist, Y die Stichprobe ist und Sn-1 die vorherige a ist, habe ich einen exponentiellen gleitenden Durchschnitt (Doppelter Preis, double smoothingValue, int dataSetSize) CREATE DEFINER ninjadba PROCEDURE adb. MACD12 (x int) LANGUAGE SQL DETERMINISTISCHE READS SQL DATEN SQL SECURITY DEFINER COMMENT BEGIN MACD12: BEGIN DECLARE z FLOAT DECLARE und FLOAT default 56.41 DECLARE w float WHILE x lt 10 do INSERT Ich habe eine Zeitreihe in Form einer SortedListltdateTime, doublegt. Ich möchte einen gleitenden Durchschnitt dieser Serie berechnen. Ich kann dies mit einfachen für Schleifen tun. Ich frage mich, ob es einen besseren Weg, dies zu tun mit linq. Meine Version: usin Wenn ich Zeitreihendaten - eine Liste von Paaren - habe und will, um es zu glätten, kann ich einen Exponential Moving Average wie folgt verwenden: EMAdata, alpha: .1: Transpose amp email160protected Wie würden Sie mich im Wesentlichen implementieren Haben eine Reihe von Werten wie folgt: 0.25, 0.24, 0.27, 0.26, 0.29, 0.34, 0.32, 0.36, 0.32, 0.28, 0.25, 0.24, 0.25 Das obige Array ist vereinfacht, Im sammeln 1 Wert pro Millisekunde in meinem realen Code und Ich muss die Ausgabe verarbeiten o Ich möchte einen Zeitleistenbericht erstellen, der für jedes Datum in der Zeitleiste einen gleitenden Durchschnitt der letzten N Datenpunkte in einem Datensatz zeigt, der einige Maßnahmen und die Daten hat, die gemessen wurden. Ich habe eine Kalender-Tabelle mit jedem Tag zu prov Hi. Ich bin neu für SharePoint 2010. Ich habe Anforderung für die Anzeige von Daten als ein Diagramm aus SQL-Datenbank für diese habe ich ein Business-Data-Chart-Webpart und ausgewählten Business-Daten-Katalog Datenquelle erstellt. In Grafik zwei Data-Serie habe ich x - Ill geben einige Kontext, so macht es Sinn. Ich erfasse Kundenbewertungen für Produkte in einer Tabelle (Rating) und möchte in der Lage sein, einen kumulativen Moving Average der Ratings basierend auf der Zeit zurückzugeben. Ein grundlegendes Beispiel folgt eine Bewertung pro Tag: 02 FEB Ich versuche, zu berechnen exponentiellen gleitenden Durchschnitt auf 15 Tage Bars, sondern wollen die Entwicklung der 15-Tage-Bar EMA auf jeder (Ende) Tagbar zu sehen. Also, das bedeutet, dass ich 15 Tage Bars haben. Wenn neue Daten in einer täglichen Basis kommt, möchte ich neu berechnen Ich möchte einen gleitenden Durchschnitt der letzten, sagen 20, Zahlen einer Spalte zu berechnen. Ein Problem ist, dass einige Zellen der Spalte leer sein können, sie sollten ignoriert werden. Beispiel: A 175 154 188 145 155 167 201 Ein gleitender Durchschnitt der letzten drei wäre Im noch auf Groking der F-Sache arbeiten - versuchen, herauszufinden, wie man in F zu denken, anstatt nur die Übersetzung von anderen Sprachen, die ich kenne. Ive vor kurzem denkend über die Fälle, in denen Sie nicht eine 1: 1 Karte zwischen vorher und nach haben. Fälle w Dieses Wochenende beschloss ich, meine Hand an einigen Scala und Clojure versuchen. Im kompetent mit objektorientierten Programmierung, und so Scala war leicht zu holen als eine Sprache, wollte aber versuchen, funktionale Programmierung. Hier wurde es hart. Ich kann einfach nicht Im Im Versuch, einen variablen exponentiellen gleitenden Durchschnitt auf einer Zeitreihe von Intraday-Daten (d. H. 10 Sekunden) zu implementieren. Durch Variable, ich meine, dass die Größe des Fensters, die in dem gleitenden Durchschnitt enthalten ist, von einem anderen Faktor (d. h. Flüchtigkeit) abhängt. Ich war thinki Mit der folgenden Tabelle, Wie würde eine Spalte für 5 Perioden gleitenden Durchschnitt erhalten, 10 Perioden gleitenden Durchschnitt, 5 Zeitraum exponentiellen gleitenden Durchschnitt. -------------------- Preis datadate -------------------- 122.29 2009-10-08122.78 2009- 10-07 Hallo Ich habe ein Problem. Ich weiß, wie zu berechnen gleitenden Durchschnitt letzten 3 Monate mit oracle analytischen Funktionen. Aber meine situatiion ist ein wenig anders Monat ----- ProductType ----- Verkäufe ---------- Durchschnitt (HAVE TO FIND THIS) 1 --------- A-- ------------- 10 1 Ich suche eine Funktion zur Berechnung der exponentiellen Bewegungssumme in numpy oder scipy. Ich möchte vermeiden, mit Python-Schleifen, weil sie wirklich langsam sind. Um genau zu sein, habe ich zwei Serien A und T. Ti ist der Zeitstempel des Werts Ai. Ich definiere ein halb-deProduce A Moving Average aus einer Warteschlange (of MyDataClass) Ich habe ein wissenschaftliches Datenlogging-Programm, das ich seit einer Reihe von Jahren entwickelt habe. Wir müssen nun etwas Funktionalität hinzufügen, so dass es einen gleitenden Durchschnitt der gesammelten Daten erzeugt. Ich kann eine Warteschlange von myDataClass erstellen, um den Fifo-Puffer zu tun, aber ich frage mich, was der beste Weg, der die Mittelung tut, sein könnte. Wie Sie aus dem folgenden Codebeispiel sehen können, enthält myDataClass verschiedene Datenstrukturen, von denen einige gemittelt werden können und einige, die nicht (z. B. die Zeichenfolge) sein können. I039m arbeiten an einer Funktion, um einen exponentiellen Durchschnitt zurückzukehren, und es gibt viele Beispiele für exponentielle gleitende Durchschnittswerte, aber alle beginnen mit einem gleitenden Durchschnitt, der nur der Mittelwert als Vorsprung zur Berechnung des anhaltenden gleitenden Durchschnitts ist. Ich brauchte nur einen exponentiellen Durchschnitt eines Wertsatzes. Nach Googeln mein Bing aus Ich habe immer noch haven039t nichts gesehen, so ist hier mein Versuch, eine grundlegende exponentiellen Durchschnitt. Ist dies richtig Gibt es Fehler, die ich gesehen habe einige Text über das Hinzufügen eines Glättungswertes, um die Kurve des exponentiellen Durchschnitt ändern, aber nicht, wie das implementiert werden würde. Ich bin auf der Suche nach einem Weg, um den gleitenden Durchschnitt für Kunden über einen Zeitraum von 30 Tagen zu finden. Allerdings war ich nicht in der Lage, jede Probe VB-Code zu helfen, mich zu finden. Ich habe diese C-Beispiel auf Code-Projekt, aber meine Versuche zur Konvertierung nicht erfolgreich gewesen. Hat jemand eine vorhandene VB-Klasse, die sie teilen möchten oder kennen Sie ein Beispiel, das ich verwenden konnte, um mein eigenes zu bauen, das ich einen Durchschnitt in einer Spalte einschließen möchte, in der der Durchschnitt Nullwerte in einer Reportzelle ignoriert, in der die Spalte kann Ich möchte, dass 16, nicht 11 so (17 19 12 13 19) 5 nicht (17 19 0 0 12 13 19) 7 So etwas, wenn es funktionieren würde. SUM (Fieldsfieldname. Value) Count (iif (Fieldscountcycleperhour. Value gt 0, Fieldsfieldname. Value, 0)) Im Wesentlichen nur durchschnittlich alles in der Spalte NOT a zero Ich sage Kommentare auf die durchschnittliche Ausgabe, da ich immer Fehlermeldungen darüber erhalten. Mein Out sagt immer noch: Maximalwert: 33 Minimalwert: 33 was mache ich falsch Option Explicit On Option Strict Auf I039m in einer Computerwissenschaft Klasse und wir schreiben einfache Programme mit Visual Basic 2008. Ich bin wirklich unfähig, wenn es darum geht Dies, wie ich es noch nie getan habe. Ich muss ein Programm schreiben, dass: quotAsks der Benutzer für 5 Zahlen und berechnet den Durchschnitt. Es zeigt dann den Durchschnitt mit einer angemessenen Mitteilung vor dem average. quot an, das ich wirklich nah mit diesem gewesen bin, aber ich can039t die Zahlen erhalten, um oben zu addieren, dann durch 5 zu teilen und eine Pop-upmitteilung anzuzeigen. Ich habe ein Formular, das eine Warteschlange hat und ich möchte diese Warteschlange in eine andere Warteschlange in einer anderen Form übertragen. Aber wenn ich versuche, die Elemente in der zweiten Warteschlange nach der Übertragung verwenden, bekomme ich die Fehlermeldung Warteschlange emptybelow ist mein Code Erste Form Imports System. Collections. Generic Öffentliche Klasse Form1 Private mPerformanceCounter Als neue System. Diagnostics. PerformanceCounter (quotProcessorquot, Prozessor Timequot, quotTotalquot) Ich habe ein Array, das I039m im Grunde behandeln wie eine Warteschlange (FIFO) I039m versuchen, den schnellsten Weg zu implementieren this. Currently I039m nur Iteration durch und verschieben alles bis ein Element und Platzierung der neuen Daten 0. Das war in Ordnung Wenn ich mit 1000-Element-Arrays, aber jetzt I039m bewegen bis zu 100k-Element-Arrays und it039s stalling meinen Code. Es war nützlich, um die Daten in Array-Form zu haben, weil I039m mit der array. sort-Methode und ein paar andere statistische Modifikationen, die Verwenden Sie die Element-Nummer (der sortierten Liste) zu arbeiten. I039m nicht sicher, ob VB-Listen sind (wie Java) Zeiger basiert, und wenn ja Ich denke, dass Verschiebung Zeiger würde schneller ausführen als meine aktuelle approach. My Frage ist, wenn ich tat Verschieben, um eine Liste würde es a) schneller sein, und b) gibt es eine Möglichkeit, eine schnelle Art aus der Liste aufrufen classIf die Ausführungszeit ist das gleiche für das Array vs Liste gibt es eine bessere Möglichkeit, eine FIFO-Struktur in machen VB wie quotpeekquot wirklich funktioniert oder etwas, aber was I039m versuchen zu tun ist, haben 2 separate Audio-Dateien spielen ein nach dem anderen immer und immer wieder. Ich erwartete, dass ich wav1 und wav2 abwechselnd hören würde, aber ich höre nur wav1 auf jedem cycle. Doesn039t Peek verwenden Sie die ersten Daten dann schieben Sie es auf die Rückseite, ohne zu verwerfen itTherefore wav2 wäre als nächstes in der Zeile gespielt werden Code Hat jemand eine E-Mail-Warteschlange gesehen Ich möchte in der Lage sein, um den SMTP-Server zu senden über, melden Probleme und E-Mails erneut versuchen, wenn Erforderlich oder beantragt. 039 Ich habe Probleme mit der Zeile quotsenda suba (sendaobj, EventArgs. Empty) quot. Code. Ich bin eine Frisur und Make-up-Software in VB und ich muss das Bild hochladen, das bearbeitet werden, um eine Frisur und Make-up auf . Ive keine Ahnung, wie ich es tun kann. Es ist eine virtuelle Makeover-Software, und ich brauche, um die vor und nach Bildern zu produzieren. Bitte jemand mir helfen, meine Frist ist am 31. Wie kann ich die Drucker-Warteschlange von VB löschen, wenn ich es manuell tun würde ich Spooler-Dienst beenden, leeren Sie den Ordner windowssystem32spoolprinters und starten Sie den Dienst Was ist der Unterschied zwischen einer Warteschlange (von t ) Und Liste (von t) I039ve arbeitete viel mit Liste (von t), aber bis vor kurzem habe ich haven039t sogar von Warteschlange (von t) gehört. Ich weiß, dass sie beide allgemeine Liste sind. Ich bin derzeit die Schaffung eines FTPWebrequest, um mit meinem Upload (die webrequest Abschnitt meiner Funktion ist unten). Im Moment schlägt mein Code durch diese webrequest Abschnitt für jede Datei - geben Sie den Dateipfad jeder Datei in der Zeichenfolge quotCompleteLocalPathquot. Für jede Datei erstellt es eine webrequest und geben den erforderlichen Dateipfad, Hochladen der Datei mit einem Datei-Stream, und schließen Sie dann den Stream. Das funktioniert, scheint aber ziemlich lange zu dauern. Können Sie eine effizientere Möglichkeit empfehlen Vielleicht durch die Verwendung einer webrequest aber Änderung der Upload-Pfad Ich habe ein Programm, das mit API039s zu senden Mausereignisse und Tastaturereignisse zu einer anderen Anwendung, die ausgeführt wird. Ich muss wissen, wie zu sagen, wenn es irgendwelche Nachrichten übrig, um für das Fenster zu verarbeiten, nachdem ich auf eine Schaltfläche klicken oder auf das nächste Feld verschoben. Ich muss dies wissen, damit ich don039t senden mehr Maus oder Tastatur Ereignisse, bis es Finishing Verarbeitung alles in seiner Message-Warteschlange. Ein Beispiel ist, dass ich aus dem Schlüsselfeld klicke und das Formular ausgehen muss und einen Client-Datensatz lesen. Dies kann eine zweite oder zwei, so muss ich warten, bis das Formular für weitere Eingabe bereit ist. Der unten stehende Code (VB 2008) überprüft die Druckwarteschlange jede Millisekunde für einen Job. Es zeigt dann die pagecount in einem Textfeld an. Es funktioniert gut, wenn im Druck auf einem lokalen Drucker, aber Sobald ich meinen PC-Standard-Drucker auf einem Netzwerk-Drucker, ich kann nicht erfassen alle Daten. I039m auf der Suche nach einer Möglichkeit, einen Druckjob von einem pausierten Drucker auf einen anderen Drucker zu verschieben. Ich habe auf den neuen Namensraum System. printing im Rahmen 3.X. Is dort eine Möglichkeit, es zu tun in einem externa-Anwendung erstellt ein printjob. I fangen die Ereignisquote printjob addquot in der printqueue. I pause die printjob. Now I Wollen die printjob zu einem anderen printerIs es eine Möglichkeit, es zu tun in Say Ich habe eine rollende Sammlung von Werten, wo ich die Größe der Sammlung und jedes Mal, wenn ein neuer Wert hinzugefügt wird, werden alle alten Werte außerhalb dieser angegebenen Größe abgefallen sind. Abviously (und I039ve getestet diese) die beste Art der Sammlung für dieses Verhalten zu verwenden ist eine Warteschlange: myQueue. Enqueue (newValue) Wenn myQueue. Count gt angegebenSize Then myQueue. Dequeue () Wir haben Code für das Schreiben von und von einem IBM Message Queue. Writin geht gut, aber das Lesen gibt einen Fehler, siehe fette Text Sind die folgenden 2 SQL-Anweisungen die gleichen werden sie die gleichen Ergebnisse liefern sql1 quotWählen Sie aus StudentDetials WHERE (Subject1 LIKE 039quot amp Thema (0) amp quot039 OR Subject2 LIKE 039quot amp Subject (0) amp quot039) und (Tag1 LIKE 039quot amp TabDay amp quot039 OR Day2 LIKE 039quot amp TabDay amp quot039) und (Zeit1 gt 039quot amp Time (0) amp quot039 UND ETime1 lt 039quot amp Zeit (1) Verstärker quot039 OR Time2 gt 039quot amp Time (0) amp quot039 UND ETime2 lt 039quot amp Zeit (1) amp quot039) quot sql1 quotSELECT VON StudentDetials WHERE (Subject1 LIKE 039quot amp Subject (0) amp quot039 UND Day1 LIKE 039quot amp TabDay amp quot039 UND Zeit1 gt 039quot amp Time (0) amp quot039 UND ETime1 lt 039quot amp Zeit (1) Verstärker quot039) OR (Subject2 LIKE 039quot amp Subject (0) amp quot039 UND Day2 LIKE 039quot amp TabDay amp quot039 UND Time2 gt 039quot amp Time (0) Amp quot039 UND ETime2 lt 039quot amp Zeit (1) amp quot039) quot In meinem Fall produzieren sie einfach die gleichen Ergebnisse, aber that039s wegen der Daten i039m mit. Ich habe versucht, folgende C-Code in VB zu konvertieren und bekam quotExpression keinen valuequot Fehler produzieren, während Sie den Code Rückkehr Fluently. Configure Kompilieren (). Mappings (m gt m. FluentMappings. AddFromAssemblyOfltMyEntityMappinggt ()).Database (SQLiteConfiguration. Standard. InMemory ( ).ShowSql ()).ExposeConfiguration (x gt neue Schema (x).Execute (false, true, false)).BuildSessionFactory () Rückgabe Fluently. Configure ().Mappings (Funktion (m) m. FluentMappings. AddFromAssemblyOf (Of SubscriptionMap) ().Database (SQLiteConfiguration. Standard. InMemory (). ShowSql ()).ExposeConfiguration (Funktion (x) Neues SchemaExport (x).Execute (False, True, False)).BuildSessionFactory () Der Fehler tritt auf 2. letzte Zeile der VB-Code, während C-Code ohne Problem kompiliert wird. Was ist falsch mit der Konvertierung Ich habe versucht, die folgenden C-Code in VB zu konvertieren und bekam quotExpression erzeugt keinen Wertquot Fehler beim Kompilieren der Code, den ich über einen Code aus portieren (Vb) zu php und ich stieß auf einige md5 Hashing, dass ich can039t reproduzieren in PHP. In der einen gibt es zwei Funktionen verwendet man UTF-8-Codierung und die andere verwendet Unicode-Codierung. Die Ausgabe ist ein unterschiedlicher Hash, wenn sie in einer Zeichenfolge übergeben werden. Die erste Funktion (liefert GUID) Dim OHasher als Cryptography. MD5 Cryptography. MD5.Create () Dim OEncoder als neue System. Text. UTF8Encoding () Dim csData () As Byte aber sie beide Das gleiche Ergebnis. Ist es möglich, die gleichen Ergebnisse in PHP mit md5 Hashing I039m mit dem unten genannten Code zu produzieren eine ToolTip für jede Zeile einer ListView zu produzieren. Bei vertikalem Bewegen über die ListView wird eine ToolTip angezeigt, wenn die Maus zwischen zwei Zeilen berührt - unter Umgehung einer der ToolTip039s Optionen. Privat mHoveredItem Als ListViewItem Private Sub ListView1MouseMove (ByVal Absender als Gegenstand, ByVal e As System. Windows. Forms. MouseEventArgs) Griffe lv. MouseMove I039m die ShowItemToolTips Eigenschaft des Listview nicht verwenden, weil ich eine formatierte ToolTip (ToolTipIcon, Titel haben wollen Etc) Ich glaube nicht, dass diese Optionen für die ListViews ToolTip gesetzt werden können I039ve aktualisiert ein Beispielprojekt des Problems hier: URL. Ich habe ein Programm, das eine XML-Datei aus der SQL-Datenbank erzeugen kann erstellt. und der Code sieht wie unten: Warum gibt es eine ltNewDataSetgtltNewDataSetgt node2. Wie zu entfernen, dass Knoten Ich bin jetzt auf der Suche nach einem Weg, um PDF-Dateien aus xls-Dateien zu erzeugen. Da das abgeschlossene Programm auf andere verteilt werden, müsste es auf der Umgebung ohne die quotpdf producerquot Ich bin using. Which ist das quotpdf producerquot to usequot Ich arbeite jetzt an der Express-Version der VB 2005 (die nicht über Crystal-Bericht) . Ich habe Acrobat 8.0 installiert, aber habe nicht herausgefunden, wie das zu tun.


No comments:

Post a Comment