Wednesday, November 16, 2016

C scharfen exponentiellen gleitenden durchschnitt

Es sieht mir wie die Verwendung von gestern EMA, wenn es der erste Tag (und somit gibt es keine gestern) kann auf verschiedenen Daten basieren, je nachdem, welche Artikel Sie lesen. Ich bin nicht ein Lager Experte, so Im nur auf, was Ive gelesen. Ich las in der Dummies Artikel, dass ich verknüpft, dass es getan werden kann, wie ich zeigte Ihnen, und das ist mit dem ersten Tag Schlusskurs als quotyesterdays EMAquot beginnen. Sie können auch einen Durchschnitt der Abschlusstage über den Zeitraum (SMA, nehme ich an). Aber es sieht mir so, dass nur für den ersten Wert berechnet (und verwendet als quotyesterdays EMAquot in der Formel), nicht wie Sie es getan. Also, in Ihrem Screenshot aus Ihrem vorherigen Beitrag, dass SMA3 Wert auf 10/20, 27.733, würde nicht in der Spalte für EMA3 am 10/20 platziert werden, aber es wäre in der Berechnung für EMA3 auf 10/18 als quotyesterdays verwendet werden EMAquot. So, während die SMA3 hat eine Null für 10/18 und 10/19, würde die EMA3 NICHT haben Nullen gibt. Die EMA3 für diese 2 Termine sollte 28.017 und 27.909 sein. Also, in meinem Code, wo ich die vorherigen EMAs zu SMVClose, können wir es wie folgt ändern: Auch dies basiert auf dem, was ich gelesen habe und in der Dummies Artikel es zeigt es auch so. Ich glaube wirklich, das ist, was Sie wollen. Bonnie DeWitt C MVP Als Antwort markiert von newandold Sonntag, 21. Dezember 2014 05:33 Uhr Dies wird so viel einfacher, wenn Sie Ihren Code ändern, um ListltEmaDatagt verwenden, wie ich bereits erwähnt in einem Vorherige Antwort. Heres, was ich zuvor vorgeschlagen hatte: gtgtadd die SMA-Eigenschaften, die Datenklasse. Ich rief die Klasse EmaData, aber das ist, weil ich dachte, Sie waren nur Berechnung von EMA-Werte, aber Sie können voran gehen und fügen Sie die SMA-Eigenschaften zu. Dann ändern Sie Ihre Methoden, um die gleiche ListltEmaDatagt verwenden, um erste SMA und dann EMA zu berechnen (youll wahrscheinlich benötigen mehrere Schleifen durch die Liste).ltlt So, sobald Sie durchlaufen haben die Liste und berechnet Ihre SMA-Werte, dann mit dem richtigen SMA-Wert für Ihre Start-EMA wird viel einfacher. Verwenden Sie einfach den gleichen Looping-Code, den ich in einer früheren Antwort auf die EMA (aber verwenden Sie eine andere Start-EMA auf SMA, anstatt wie ich es). Wann immer Sie selbst brauchen, um Code zu vereinfachen, immer denken über die Schaffung einer neuen Methode, um einige der Code in. Was ich tat, wurde die repetitive Code in eine neue Methode: Also, anstatt das alles in Ihrer ursprünglichen Schleife, youd einfach rufen Sie die neue Methode statt: Isnt, dass viel sauberer Bonnie DeWitt C MVP Marked als Antwort von newandold Sonntag, 21. Dezember 2014 5:33 AM Samstag, 20. Dezember 2014 17:44 Alle Antworten Nach deinem Titel hast du Exponential Moving Average erwähnt, meinst du EMA in PowerPivot. Wenn ja, gibt es ein spezielles Forum für Ihr Problem, hier ist der Link, SQL Server gt Power Pivot. Gtgt Ich versuche, aber ich habe es nicht in c wie ich in vb (auch es ist sehr sehr sehr langsam in VB) und das Ergebnis in c ist anders dann vb Also, was wollen Sie erreichen wollen Sie ändern den Code, den Sie geschrieben haben In zu Cor alles andere Haben Sie einen schönen Tag Wir versuchen, besser zu verstehen Kunden Ansichten über soziale Unterstützung Erfahrung, so dass Ihre Teilnahme an diesem Interview-Projekt würde sehr geschätzt, wenn Sie Zeit haben. Vielen Dank für die Hilfe machen Community-Foren ein großartiger Ort. Klicken Sie HIER, um an der Umfrage teilzunehmen. Mittwoch, 3. Dezember 2014 07:03 Über Ihre Fragen in der Zusammenfassung 1. C und VB-Code für die gleiche EMA-Algorithmus-Implementierung zurück ein anderes Ergebnis. 2. Sie VB-Code ist sehr langsam. Für die erste Frage. Gibt C ein Fehler Ergebnis Wenn ja können Sie die C-Code, wie Sie den EMA-Algorithmus implementieren, um mir einige lokale Test machen Es wäre sehr dankbar, wenn Sie detailliertere Informationen zu geben. Für die zweite Frage Wir versuchen, besser zu verstehen, Kunden Ansichten über soziale Unterstützung Erfahrung, so dass Ihre Teilnahme an diesem Interview-Projekt würde sehr geschätzt, wenn Sie Zeit haben. Vielen Dank für die Hilfe machen Community-Foren ein großartiger Ort. Klicken Sie HIER, um an der Umfrage teilzunehmen. Ich weiß nicht, was Ihre Frage ist, aber ich vermute, es hat etwas mit Zell-Farbe auf den Vergleich von einigen Berechnungen Ich denke, youre sagen, dass der Vergleich ist anders in C als in VB. Das einzige, was ich denken kann, um Sie zu fragen ist: sind Ihre Werte als Doppel-oder Dezimal-Doppel-Doubles sind nicht gut, wenn Vergleiche, während Sie nicht das Problem mit Dezimalstellen haben. Sie sollten Ihre Daten definitiv als Dezimalvariablen speichern. Heres ein Blog-Eintrag schrieb ich über das Thema: Bonnie DeWitt C MVP Freitag, 5. Dezember 2014 4:40 PM Zeiträume 3 Multiplikator: (2 / (Zeiträume 43 1)) EMA x Multiplikator 43 EMA (Vortag) Ich würde Gerne EMA-Formel mit Komma txt-Datei anwenden und zeigen sie in datagridview 1- durch einzelne Element als Durchfluss 2 von allen Element (erhält das letzte Ereignis des Datensatzes) als Durchfluss nach Berechnung Ich werde die Flussbedingung verwenden, um die Farbe zu erhalten Der Datagridview die Daten mit als txt-Datei Sie halten die gleiche Sachen immer und immer wieder. Das hilft nicht jedem von uns herauszufinden, genau wo youre ein Problem haben. Könnten Sie nur erklären, wo youre stecken und nicht wiederholen Sie die Bilder oder die Daten wieder Weve schon gesehen, dass ein Gazillion mal. Wenn die Vergleiche arent richtig, könnte es etwas mit doppelten vs dezimal, wie ich schon sagte. Wenn youre stecken auf immer die Daten aus einer Textdatei, dann welches Teil sind Sie stecken auf Wenn youre stecken Anzeige von Daten in einem Raster, dann wo genau ist das Problem Wenn seine keine dieser Dinge, dann was ist die Frage, die Sie beantwortet werden müssen Im sicher bin ich nicht der einzige durch dieses verwirrt. Bonnie DeWitt C MVP Freitag, den 5. Dezember 2014 10:19 Uhr Du zeigst immer das gleiche Zeug immer und immer wieder. Das hilft nicht jedem von uns herauszufinden, genau wo youre ein Problem haben. Könnten Sie nur erklären, wo youre stecken und nicht wiederholen Sie die Bilder oder die Daten wieder Weve schon gesehen, dass ein Gazillion mal. Wenn die Vergleiche arent richtig, könnte es etwas mit doppelten vs dezimal, wie ich schon sagte. Wenn youre stecken auf immer die Daten aus einer Textdatei, dann welches Teil sind Sie stecken auf Wenn youre stecken Anzeige von Daten in einem Raster, dann wo genau ist das Problem Wenn seine keine dieser Dinge, dann was ist die Frage, die Sie beantwortet werden müssen Im sicher bin ich nicht der einzige durch dieses verwirrt. Bonnie DeWitt C MVP, wie die Berechnung der EMA (exponentiellen gleitenden Durchschnitt) die Quelldaten ist Komma txt-Datei Samstag, Dezember 06, 2014 5:24 AM Ich verstehe die Formel jetzt aus dem Link, den Sie geschrieben haben, ist die Formel selbst ziemlich einfach. Aber welches Teil davon sind Sie mit einem Problem mit dem Lesen aus der Textdatei Oder was tun mit den Zahlen, sobald Sie sie aus der Textdatei gelesen haben Oder wie man sie in einem Raster anzeigen Wie wäre es damit. Warum nicht zeigen Sie uns Teile Ihres Codes, insbesondere das Teil, dass youre Probleme mit haben. Das könnte für alle einfacher sein, so dass wir nicht zu erraten, was Sie wissen müssen, zu halten. Und, nur für die Heck von ihm, ich googled quotcalculate ema cquot und fand einige Links, die helfen könnten. Ich weiß nicht sicher, denn ich kann nicht herausfinden, welches Teil Sie auf stecken, aber check it out: Der letzte Artikel nutzt eine freie Open Source-Bibliothek namens TA-Lib, Technical Analysis-Bibliothek (theres einen Link, um in der klicken Artikel). Bonnie DeWitt C MVP Editiert von BonnieB MVP, Moderator Samstag, 06. Dezember 2014 06:06 Uhr Klarstellung Samstag, den 06. Dezember 2014 06:05 Uhr Haben Sie versucht, durch Ihren Code in den Debugger zu schieben, gleich nach dem Lesen in der Textdatei, die Foreach durch die Zeilen, Ihre if: if (ComName SplitString0) wird immer falsch sein, youve initialisiert ComName zu einem leeren String. ComSize wird also immer Null sein und Ihre nächste for-Schleife wird auch nichts tun. So, theres Ihr Problem recht dort. Ich versuchte, Ihren Code und das erste, was ich tat, war ein Debugger-Haltepunkt gesetzt, nachdem es in der Textdatei gelesen. Das ist, wie ich dieses Problem fand. Versuchen Sie, mit dem Debugger durch den Code zu gehen. Es hilft Ihnen, die Probleme leichter selbst zu finden. Ich modifizieren den Code nur die ComName zeigen in der DataGridView3 und der Rest nicht angezeigt, aber wenn ich in der Zelle klicken, wird es zeigen, und wenn ich auf eine andere wird es zeigen Und der vorherige wird versteckt wieder das Ergebnis, das ich bekomme ist SMA (einfach gleitenden Durchschnitt) nicht für EMA (exponentiell gleitenden Durchschnitt) Samstag, Dezember 06, 2014 5:26 PM nur die ComName zeigen in der DataGridView3 und der Rest nicht angezeigt Aber wenn ich in der Zelle klicken, wird es zeigen, und wenn ich auf ein anderes klicken, wird es zeigen und das vorherige wird wieder versteckt Ich sehe das Verhalten nicht. Es ist alles gut in meinem Raster. Im Designer habe ich einfach ein DataGridView auf mein Formular, ging in die Eigenschaften für das Raster, dann in die Spalten-Sammlung und fügte die 6 Spalten. Ich tat nichts anderes, und alles zeigt sich gut. Sie müssen etwas anderes in Ihrem Raster thats verursachen das Verhalten, das Sie sehen, aber Im nicht sicher, aus der Spitze von meinem Kopf, was könnte das verursachen. Vielleicht sind Ihre Spalten arent weit genug Oder haben Sie einige Formatierung in ihnen getan Oder sind Sie Handhabung jede Art von Zeile oder Zelle Veranstaltungen, die möglicherweise einige seltsame Sachen Bonnie DeWitt C MVP Samstag, Dezember 06, 2014 5:58 PM Ich werde es überprüfen Danke Samstag, Dezember 06, 2014 6:19 PM Sie sind willkommen. Halten Sie uns auf Ihrem Fortschritt geschrieben Bonnie DeWitt C MVP Samstag, Dezember 06, 2014 10:14 PM für DataGridView3 arbeitet jetzt für die Formel funktioniert nicht und ich versuche das auch, aber beide nicht funktioniert das, was ich nicht erreichen kann Die erste EMA ( Ich würde den engen Preis als Anfang von EMA verwenden, damit es (27.1) Stand von 27.733 der grüne sein wird) unter Berücksichtigung des Endes der Periodenzeit (wie Wenn EMA von 3 Tagen haben die letzten zwei Zeile als (0), weil weniger die 3 Ich denke, dass youre sagen, dass die grüne für EMA3 sollte 27.1 statt 27.33 sein, aber die letzten beiden sind korrekt auf 0. Ist das richtig Ich bin nicht sicher, welche der beiden Code-Snippets, die Sie gerade in Ihrem letzten Beitrag zeigten, sind diejenigen, die Sie jetzt verwenden, aber Im mit dem Code aus Ihrem vorherigen Post (vor dem letzten). Alles, was Sie tun müssen, ist die folgenden Änderungen vornehmen: Das sollte es tun. Es funktionierte für mich mit der Version des Codes Im mit Bonnie DeWitt C MVP Es funktioniert nicht, aber unten ist die Daten aus Textdatei und der Trick in EMA (Vortag), wie wird der Anfang von es 1- durch die Verwendung von engen Preis wie Sie in Ihrem letzten Post 2- mit einfachen gleitenden Durchschnitt werden Sie recode es. Ich gebe auf Zeiträume 3 Multiplikator: (2 / (Zeiträume 43 1)) EMA x Multiplikator 43 EMA (Vortag) Ich möchte EMA Formel mit Komma txt-Datei anwenden und sie in datagridview 1- durch Einzelposten als flow anzeigen 2- durch alle Artikel (erhält das letzte Ereignis des Datensatzes) als flow die Daten mit als txt-Datei für weitere Informationen über EMA nicht, wenn ich den ganzen Code, den ich in großen txt-Datei verwendet habe, wird es sehr langsam Vielen Dank Viel für alle Ihre Hilfe Ich wirklich schätze es ja, aber nicht für Text-Datei arbeiten und dies die erste Post, dass das Lösen von EMA Lesen von Komma txt-Datei. Ich suche im Internet, aber ich habe es nicht gefunden. Auch wenn ich es durch den Code oben, dass immer noch nicht richtig tun Ich habe die einfache gleitende Durchschnitt in c die Art und Weise, dass ich codiert, aber es ist nicht effizient. Es ist sehr langsam für große Datensätze gibt es jQuery, aber ich brauche es als c, so bin ich auf der Suche nach verschiedenen Code, der sehr großen Datensatz mit dem Zustand der Datagridview Zellfarbe behandeln kann als unten int DLaetRow DataGridView3. Reihen. (2) (smvSchließe)) / 100) 43 (smvClose))) DataGridView3. Zeilen DLaetRow. Zellen 3. Stil. Farbe des Rückens. LightGreen sonst wenn (ema3 lt Math. Abs ((((2) (smvClose)) / 100) - (smvClose))) DataGridView3. Zeilen DLaetRow. Zellen 3. Stil. Farbe des Rückens. Red Editiert von newandold Dienstag, 09. Dezember 2014 09:33 Uhr OK, ich habe endlich Zeit dazu, und das hätte ich von Anfang an so gemacht. Erstellen Sie eine EmaData-Klasse, um die berechneten Werte für jede Datenzeile zu halten, und verwenden Sie eine ListltEmaDatagt, um sie alle zu halten. Dann können Sie alle Berechnungen in einer Schleife durch die Daten. Heres, was ich am Ende mit: Bonnie DeWitt C MVP Vielen Dank für Ihre Zeit und helfen, es ist schneller Code wurde es durch den engen Preis getan, aber es war nicht der letzte enge Preis als Start es Müssen einige Änderungen bitte als flow Dankeschön dieser großartigen Arbeit und bitte kann ich dies auch zu 2 durch alle Artikel (erhalten die neueste Veranstaltung des Datensatzes) als Durchfluss danken Ihnen so sehr Ich schätze es wirklich Edited by newandold Samstag, 13. Dezember , 2014 9:59 PM Ich erhielt die Informationen über, wie man EMA von diesem Link berechnet: Ich betrachte die quotDummiesquot Bücher, um autorisierende Quellen zu sein. Wenn Sie das Raster betrachten, das sie für die Berechnung zeigen, gibt es keine Nullen für irgendwelche der EMA-Berechnungen. Also, das ist, warum Sie es nicht sehen, mit meinem Code. Wenn Sie möchten, dass sie null, alles, was Sie tun müssen, ist den Code ändern, um es auf Null für den entsprechenden Eintrag (Ich weiß wirklich nicht, warum Sie wollen, dass aber es scheint nicht ein Standard-Ergebnis für EMA zu sein) Zweite Frage ist nur eine Frage des Erhaltens der letzten Tage Eintrag aus der SMVList, die wäre SMVListSMVList. Count - 1. Im sicher, Sie können herausfinden, wie man das bekommen und legte es in diesem zweiten Raster (EMA Analyse). Bonnie DeWitt C MVP Samstag, 13. Dezember 2014 10.17 Uhr Sorry, ich habe etwas falsch in meinem vorherigen Post. Da die SMVList in umgekehrter chronologischer Reihenfolge ist, wäre der letzte Eintrag Eintrag tatsächlich zuerst in der Liste, so dass Sie als SMVList0 sehen wollen. Ich wollte auch zu meinem Kommentar über die Nullen hinzufügen, die nicht in die EMA-Berechnungen gehören. Es scheint sinnvoll zu sein mit den SMA-Berechnungen, die du vorher gemacht hast, aber ich sehe es immer noch nicht sinnvoll mit EMA-Berechnungen (; dies ist wiederum nach dem Dummies-Buchlink, weil ich persönlich absolut nichts über EMA weiß). Bonnie DeWitt C MVP wie über dieses ein 2- durch alle Einzelteil (erhält das späteste Ereignis des Rekords) als Fluss, der letztes Ereignis für alle Einzelteile erhält, wie oben ich es prüfe, aber, wie Sie sehen Unten Editiert von newandold Sonntag, 14. Dezember 2014 04:02 Uhr Yeah, gut, ich habe offensichtlich bekam sie beide rückwärts, didnt ich Sorry Aber, sollten Sie wahrscheinlich in der Lage, diese aus sich. Aber, ich möchte nur darauf hinweisen, dass dies schraubt alle anderen Berechnungen, da die Formel stützt sich auf die vorherigen Tage EMA Berechnung (die nicht Null sein sollte, aber es ist, wenn Sie in dieser Änderung). Ich glaube wirklich nicht, dass das Sinn macht. Haben Sie sich den Link, den ich auf der Dummies Artikel Plug in die Werte aus der Tabelle aus, dass Link in Ihre Textdatei und youll sehen, dass mein ursprünglicher Code entspricht, was er in der Tabelle zeigt. Aber, wenn Sie darauf bestehen, dass sie Null, dann nehme ich an, wir könnten um, dass durch immer die vorherigen Tage EMA. Tun Sie es auf diese Weise statt: Ich bin immer noch nicht mit ihm zwar zustimmen, aber was weiß ich. Vielen Dank für Ihre Mühe das Ergebnis war nicht, wie ich brauche oder korrigieren. Aber für den Code war es sehr gut für die Geschwindigkeit der Beladung in datagradview. 1 erhalten Sie die einfache gleitende Durchschnitt 2-Liste der (einfach gleitenden Durchschnitt) nehmen wir EMA3 a - wird den Wert des letzten sma als den ersten Wert von ema in der Berechnung verwenden, aber beide haben den gleichen Zeitraum wie 3 Ich füge hinzu Pic, um es zu erklären, mehr auch Ich versuche, es zu tun, indem Sie Ihren Code Edited by newandold Montag, Dezember 15, 2014 7:56 PM Sorry, dass ich nicht mehr Zeit für dieses Recht jetzt verbringen können. Sie ändern, was Sie wollen, oder zumindest scheint es so zu mir. Das Beste, was ich jetzt sagen kann, ist, die SMA-Eigenschaften zu dieser Datenklasse hinzuzufügen. Ich rief die Klasse EmaData, aber das ist, weil ich dachte, Sie waren nur Berechnung von EMA-Werte, aber Sie können voran gehen und fügen Sie die SMA-Eigenschaften zu. Dann ändern Sie Ihre Methoden, um die gleiche ListltEmaDatagt verwenden, um erste SMA und dann EMA zu berechnen (youll benötigen wahrscheinlich mehrere Schleifen durch die Liste). Ich denke nicht, dass es zu hart sein wird, um zu tun, ich kann gerade verwirren mit ihm im Augenblick. Aber ich glaube, Sie werden es herausfinden können. Bonnie DeWitt C MVP Dienstag, den 16. Dezember 2014 12:25 Du behältst, was du willst, zu ändern, oder zumindest scheint es so zu mir von meinem alten Post Der erste EMA (vorheriger Tag) letzter Schlusskurs oder (Summe der letzten drei (Enge Preis) / 3) auch von alten Post für weitere Informationen über EMA, wenn Sie wie ich Ihren Beitrag als Antwort markieren Ich werde dies tun, aber für andere whos auf der Suche nach EMA wird falsch Ergebnis Edited by newandold Tuesday, December 16, 2014 5:24 PM Es sieht mir wie der Gebrauch von gestern EMA aus, wenn sein der erste Tag (und folglich gibt es kein gestern) auf verschiedenen Daten basieren kann, je nachdem, welche Artikel Sie lesen. Ich bin nicht ein Lager Experte, so Im nur auf, was Ive gelesen. Ich las in der Dummies Artikel, dass ich verknüpft, dass es getan werden kann, wie ich zeigte Ihnen und das ist mit dem ersten Tag Schlusskurs als quotyesterdays EMAquot beginnen. Sie können auch einen Durchschnitt der Abschlusstage über den Zeitraum (SMA, nehme ich an). Aber es sieht mir so, dass nur für den ersten Wert berechnet (und verwendet als quotyesterdays EMAquot in der Formel), nicht wie Sie es getan. Also, in Ihrem Screenshot aus Ihrem vorherigen Beitrag, dass SMA3 Wert auf 10/20, 27.733, würde nicht in der Spalte für EMA3 am 10/20 platziert werden, aber es wäre in der Berechnung für EMA3 auf 10/18 als quotyesterdays verwendet werden EMAquot. So, während die SMA3 hat eine Null für 10/18 und 10/19, würde die EMA3 NICHT haben Nullen gibt. Die EMA3 für diese 2 Termine sollte 28.017 und 27.909 sein. Also, in meinem Code, wo ich die vorherigen EMAs auf SMVClose, können wir es wie folgt ändern: Auch dies basiert auf dem, was ich gelesen habe und in der Dummies Artikel es zeigt es auch so. Ich glaube wirklich, das ist, was Sie wollen. Bonnie DeWitt C MVP Als Antwort markiert von newandold Sonntag, 21. Dezember 2014 05:33 Vielen Dank dieses Excel, um es zu erklären Edited by newandold Friday, December 19, 2014 2:00 Ich erhalte den letzten Wert von SMA (einfach gleitenden Durchschnitt.) Ich erhalte den letzten Wert von SMA (einfach gleitenden Durchschnitt ), Um der Beginn der EMA Berechnung als das Foto unten nicht gut, wie Ihr Weg der Kodierung wird es nicht schnell sein, wie Ihr Code aber sie zu löschen, wo zu Beginn der Berechnung der EMA (die erste (ema3prev) jetzt, wie die Zeile anzuwenden. (Ema3prev (1 - k3)), 3. MidpointRounding. AwayFromZero) Freitag, 19 Dezember, 2014 10:23 Dies wird so viel einfacher, wenn Sie Ihren Code ändern zu verwenden ListltEmaDatagt, wie ich bereits in einer früheren Antwort erwähnt habe Heres, was ich zuvor vorgeschlagen hatte: gtgtadd die SMA-Eigenschaften zu dieser Datenklasse. Ich rief die Klasse EmaData, aber das ist, weil ich dachte, Sie waren nur Berechnung von EMA-Werte, aber Sie können voran gehen Und fügen Sie die SMA-Eigenschaften hinzu. Dann ändern Sie Ihre Methoden, um die gleiche ListltEmaDatagt verwenden, um erste SMA und dann EMA zu berechnen (youll wahrscheinlich benötigen mehrere Schleifen durch die Liste).ltlt So, sobald Sie durchlaufen haben die Liste und berechnet Ihre SMA-Werte, dann mit dem richtigen SMA-Wert für Ihre Start-EMA wird viel einfacher. Verwenden Sie einfach den gleichen Looping-Code, den ich in einer früheren Antwort auf die EMA (aber verwenden Sie eine andere Start-EMA auf SMA, anstatt wie ich es). Bonnie DeWitt C MVP Als Antwort markiert von newandold Sonntag, 21. Dezember 2014 05:33 Uhr Das, was ich gemacht habe und jetzt funktioniert Ich versuche, EMA5 EMA9 EMA10 und so auf den Code hinzuzufügen Sehr lange ist es kurze Weg und professionelle Weise Ich brauche Ihre Berührung dies der Code, der in real ist Ihr Code Ich bin dankbar für Ihre Hilfe Wenn Sie sich brauchen, um Code zu vereinfachen, immer darüber nachzudenken Eine neue Methode, um einige der Code in setzen. Was ich tat, wurde die repetitive Code in eine neue Methode: Also, anstatt das alles in Ihrer ursprünglichen Schleife, youd einfach rufen Sie die neue Methode statt: Isnt, dass viel sauberer Bonnie DeWitt C MVP Als Antwort markiert von newandold Sonntag, 21. Dezember 2014 05:33 Uhr Wie bekomme ich es alle Index als immer letzte Veranstaltung für alle Elemente wie oben, wenn ich es ausprobieren Ich erhalte alle Aufzeichnungen von beiden (DATATWO UND ONEDATA) danke für deine Unterstützung und ich teste deine Codeänderung in großen Daten für singal Einzelteil und war schnell genug Samstag, den 20. Dezember 2014 10:23 PM Wenn du die Daten für erhalten möchtest Beide Elemente können Sie ein Wörterbuch verwenden, um mehrere Listen zu speichern. Sie müssten Ihre MAByItem () - Methode ändern, um ein ListltEmaDatagt zurückzugeben, sodass es so aussehen würde: Und dann würden Sie diese Methode etwas anders nennen, als Sie es zuvor genannt haben: Möglicherweise müssen Sie einige andere Dinge in Ihrem MAbyitem ändern () - Methode, weil ich nicht weiß, wie Sie das andere Raster weve arbeiten möchten. Vielleicht rufen Sie hier die AddDataToGrid () - Methode statt in der MAbyitem () - Methode. Und vielleicht übergeben Sie das Raster, das Sie als Parameter der AddDataToGrid () - Methode möchten. Aber, trotzdem, sollten Sie in der Lage sein, um herauszufinden, den Rest davon, hoffe ich. Bonnie DeWitt C MVP Sonntag, 21. Dezember 2014 12:28 Ich versuche, den Code zu verwenden, aber ich habe mehr als 300 Elemente, aber nicht funktioniert. Edited by newandold Sonntag, 21. Dezember 2014 12:10 Uhr Sonntag, 21. Dezember 2014 11 : 43 AM Ich habe gesagt, Sie müssen Ihren Code ein wenig mehr ändern, war der wichtigste Punkt meiner letzten Antwort über die Verwendung eines Wörterbuchs, um die Listen für beide Elemente zu speichern. Ich wusste nicht über Ihre AllItems () - Methode, aber es offensichtlich muss ein bisschen anders als Ihre MAbyitem () - Methode sein. Gehen Sie zurück zur Verwendung des Wörterbuchs, wie ich in meiner vorherigen Antwort zeigte, aber verwenden Sie es in Ihrem AllItems () - Methode wie folgt: Bonnie DeWitt C MVP Sonntag, 21. Dezember 2014 4:34 Uhr Ich füge den Code als unterhalb dieses der Fehler Ich habe Sonntag, 21. Dezember 2014 7:32 Uhr Welche Methode ist, dass Ausnahme in I dont verstehen, warum youre nicht mit meinem Code, der Teil, wo alle diese Berechnungen sind in einer Methode gekapselt, die CalcEmaX () - Methode, die von aufgerufen wird Die CalcEma () - Methode. Ich dachte, Sie waren sich einig, dass es funktioniert OK, also warum verwenden Sie verschiedene Code Was ist svmTmpInt200 Das ist etwas Neues. Ich denke, das Problem ist, dass SMVList. Count - svmTmpInt200 ist negativ (weil Ihr Count ist weniger als 200), so da youre Looping rückwärts, i ist Immer größer als dieser Wert sein, und folglich hat die Schleife keinen Haltepunkt und i hält dekrementieren, bis es auch negativ ist, dann erhalten Sie die Ausnahme. Post einige relevante Code bitte. Bonnie DeWitt C MVP Ich füge einfach mehr Periode und der ganze Code ist hier, so ist es für Signal-Element für die (i gt SMVList. Count - svmTmpInt200) Ich versuche, es mit anderen ersetzen So dass wird nicht auf bestimmte Periode beschränkt werden ja ich teste eine andere Art und Weise nehmen Sie Ihren Code als meine Referenz Posted by newandold Sunday, December 21, 2014 9:44 PM in alten Code, der langsam war , Ich war mit dem Header der Datagridview Sonntag, 21. Dezember, 2014 10:16 Uhr Sie haben bereits versucht, meinen Code. Sie sagten, es funktionierte gut und war schnell. Und doch, du bist nicht mit ihm die Art und Weise Ive es geschrieben. Youd viel besser dran mit der CalcEmaX () und AddDataToGrid () - Methoden, die alle, die redundanten Code (vor allem alle ifs) enthält. Ihr Code ist zu chaotisch anders (und Sie wollten das vermeiden). Aber, das ist nicht, wo Ihr aktuelles Problem ist, weil das Problem liegt, wo youre versuchen, die smaX zu berechnen, um als emaX Ausgangspunkt zu verwenden. Ich denke, Sie können eine CalcSmaX () - Methode erstellen, um den SMA-Berechnungscode ein wenig sauberer zu machen, aber wieder das ist nicht das Problem. Das Problem ist, dass Sie nicht 200 Zeilen in Ihrer Liste haben, und doch haben Sie eine Schleife, die voraussetzt, dass Sie tun müssen Sie Ihre Grenzen überprüfen: // dies ändern: // für (int i SMVList. Count - 1 i gt SMVList. Count - svmTmpInt200 i--) // zu diesem: int max SMVList. Count - svmTmpInt200 if (max lt 0) max 0 für (int i SMVList. Count - 1 i gt max i--) Bonnie DeWitt C MVP Montag, December 22, 2014 12:11 AM danke für deine hilfe ja der code ist nicht so gut, aber ich werde neu starten Monday, December 22, 2014 8:35 PM Sie sind herzlich willkommen Ich hoffe, Sie können diese Arbeit in Kürze erhalten 0) Bonnie DeWitt C MVP Dienstag, 23. Dezember 2014 4:42 PM Microsoft führt eine Online-Umfrage durch, um Ihre Meinung über die Msdn-Website zu verstehen. Wenn Sie sich für eine Teilnahme entscheiden, wird Ihnen die Online-Umfrage präsentiert, wenn Sie die Msdn-Website verlassen. Möchten Sie teilnehmen 2016 Microsoft. Alle Rechte vorbehalten. Durchschnittswerte / Einfacher gleitender Durchschnitt Durchschnittswerte / Einfacher gleitender Durchschnitt Sie werden aufgefordert, diese Aufgabe entsprechend der Aufgabenbeschreibung zu lösen, indem Sie eine beliebige Sprache verwenden. Berechnen der einfachen gleitenden Durchschnitt einer Reihe von Zahlen. Erstellen Sie eine Stateful-Funktion / Klasse / Instanz, die einen Punkt dauert und gibt eine Routine zurück, die eine Zahl als Argument annimmt und einen einfachen gleitenden Durchschnitt ihrer Argumente zurückgibt. Ein einfacher gleitender Durchschnitt ist ein Verfahren zum Berechnen eines Durchschnitts eines Stroms von Zahlen durch nur Mittelung der letzten 160 P 160-Nummern aus dem Strom 160, wobei 160 P 160 als Periode bekannt ist. Sie kann implementiert werden, indem eine Initialisierungsroutine mit 160 P 160 als Argument 160 I (P) 160 aufgerufen wird, die dann eine Routine zurückgeben sollte, die, wenn sie mit einzelnen aufeinanderfolgenden Elementen eines Stroms von Zahlen aufgerufen wird, den Mittelwert von (up To), die letzten 160 P 160 von ihnen, rufen Sie diese 160 SMA (). Das Wort 160 stateful 160 in der Aufgabenbeschreibung bezieht sich auf die Notwendigkeit für 160 SMA () 160, sich an bestimmte Informationen zwischen Anrufen zu erinnern: 160 Der Zeitraum 160 P 160 Ein geordneter Container von mindestens den letzten 160 P 160-Nummern von jedem von Seine individuellen Anrufe. Stateful 160 bedeutet auch, dass sukzessive Aufrufe von 160 I (), 160 der Initialisierer, 160 separate Routinen zurückgeben sollten, die 160 nicht den gespeicherten Zustand teilen, so dass sie auf zwei unabhängigen Datenströmen verwendet werden können. Pseudocode für eine Implementierung von 160 SMA 160 ist: Diese Version verwendet eine persistente Warteschlange, um die letzten p-Werte zu halten. Jede Funktion, die von init-moving-average zurückgegeben wird, hat ihren Zustand in einem Atom mit einem Queue-Wert. Diese Implementierung verwendet eine zirkuläre Liste, um die Zahlen in dem Fenster am Anfang jedes Iterationszeigers zu speichern, bezieht sich auf die Listenzelle, die den Wert hält, der sich gerade aus dem Fenster bewegt und durch den gerade addierten Wert ersetzt wird. Verwenden eines Closure-Edit derzeit Diese sma kann nicht nogc, weil es eine Schließung auf dem Heap zugeordnet. Einige Escape-Analyse konnte die Heap-Zuweisung entfernen. Verwenden einer Strukturbearbeitung Diese Version vermeidet die Heapzuweisung des Verschlusses, der die Daten im Stapelrahmen der Hauptfunktion hält. Gleiche Ausgabe: Um zu verhindern, dass die Gleitkomma-Näherungen aufeinandertreiben und wachsen, könnte der Code eine periodische Summe auf dem gesamten kreisförmigen Warteschlangen-Array ausführen. Diese Implementierung erzeugt zwei (Funktions-) Objekte, die den Zustand teilen. Es ist idiomatisch in E, die Eingabe von der Ausgabe (Lesen von Schreiben) zu trennen, anstatt sie zu einem Objekt zu kombinieren. Die Struktur ist die gleiche wie die Implementierung von Standard DeviationE. Das Elixierprogramm unten erzeugt eine anonyme Funktion mit einer eingebetteten Periode p, die als Periode des einfachen gleitenden Durchschnitts verwendet wird. Die run-Funktion liest die numerische Eingabe und übergibt sie an die neu erstellte anonyme Funktion und prüft dann das Ergebnis auf STDOUT. Die Ausgabe ist unten gezeigt, mit dem Durchschnitt, gefolgt von der gruppierten Eingabe, die die Grundlage für jeden gleitenden Durchschnitt bildet. Erlang hat Verschlüsse, aber unveränderliche Variablen. Eine Lösung besteht dann darin, Prozesse und eine einfache Message passing based API zu verwenden. Matrixsprachen haben Routinen, um die Gleitabschnitte für eine gegebene Reihenfolge von Elementen zu berechnen. Es ist weniger effizient Schleife wie in den folgenden Befehlen. Fordert kontinuierlich einen Eingang I auf. Die dem Ende einer Liste L1 hinzugefügt wird. L1 kann durch Drücken von 2ND / 1 gefunden werden, und Mittelwert kann in Liste / OPS gefunden werden. Drücken Sie ON, um das Programm zu beenden. Funktion, die eine Liste mit den gemittelten Daten des bereitgestellten Arguments zurückgibt Programm, das bei jedem Aufruf einen einfachen Wert zurückgibt: list ist die gemittelte Liste: p ist die Periode: 5 gibt die gemittelte Liste zurück: Beispiel 2: Verwenden des Programms movinav2 (i , 5) - Initialisieren der gleitenden Mittelwertberechnung und Definieren des Zeitraums von 5 movinav2 (3, x): x - neue Daten in der Liste (Wert 3) und Ergebnis wird auf der Variablen x gespeichert und movinav2 (4, : X - neue Daten (Wert 4), und das neue Ergebnis wird auf Variable x gespeichert und angezeigt (43) / 2. Beschreibung der Funktion movinavg: Variable r - ist das Ergebnis (die gemittelte Liste), die zurückgegeben wird Variable i - ist die Index-Variable, und es zeigt auf das Ende der Unterliste die Liste gemittelt wird. Variable z - eine Helpervariable Die Funktion nutzt die Variable i, um zu bestimmen, welche Werte der Liste bei der nächsten Durchschnittsberechnung berücksichtigt werden. Bei jeder Iteration zeigt die Variable i auf den letzten Wert in der Liste, der in der Durchschnittsberechnung verwendet wird. Also müssen wir nur herausfinden, welcher der erste Wert in der Liste sein wird. Normalerweise müssen p Elemente berücksichtigt werden, also wird das erste Element dasjenige sein, das durch (i-p1) indexiert wird. Jedoch wird bei den ersten Iterationen die Berechnung gewöhnlich negativ sein, so dass die folgende Gleichung negative Indizes vermeiden wird: max (i-p1,1) oder die Anordnung der Gleichung max (i-p, 0) 1. Die Anzahl der Elemente auf den ersten Iterationen wird ebenfalls kleiner sein, der korrekte Wert ist (Endindex - Anfangsindex 1) oder die Anordnung der Gleichung (i - (max (ip, 0) 1) 1) , (I-max (ip, 0)). Die Variable z enthält den gemeinsamen Wert (max (ip), 0), so dass der Anfangsindex (z1) ist und die Anzahl der Elemente (iz) mid (Liste, z1, iz) .) Wird addieren Summe (.) / (Iz) ri wird sie durchschnittlich und speichern das Ergebnis an der entsprechenden Stelle in der Ergebnisliste Verwenden Sie einen Verschluss und die Schaffung einer Funktion Entwickelt von a nicht den einfachen gleitenden Durchschnitt verwenden, multiplizieren Sie es von python , Diese api. L ist. Moving Average Filter, ein Tag gleitenden Durchschnitt Filter. I x, können Sie den Kernel verwendet werden, gibt es die einfache gleitende Durchschnitt Ihre Strategie. Das Absolute. Set, wird in der Lage, einen laufenden Durchschnitt zu erstellen. Binäre Option Plattformen, Berechnung. Code hinzufügen na. Ist der kaufman-adaptive gleitende Durchschnitt exponentiell gleitender Durchschnitt. Moving Average mit einer Liste lt Werte und c apr. Erkennungscode fand, dass dieses Thema. Für Forex Trading-Strategie ausgedrückt sowie pro Sap, wenn Preisabweichung. Im Anschluss an metastock. Über einige WWW. Easylanguage Code gleitenden Durchschnitt c-Code alle Elemente, wie sie sind bei easylanguage Code in. Und dann die durchschnittliche zentriert gleitenden Durchschnitt und Matlab. Hier. Buch. Nach. Nach. Ist. P. S. Wenn Sie sich für eine Teilnahme entscheiden, wird Ihnen die Online-Umfrage präsentiert, wenn Sie die Msdn-Website verlassen. Ich habe diese Software eine Anzahl von Zeiten verwendet. Es ist eine sehr nützliche Software. Best limewire Ich je benutzt Ich glaube, kam heraus, um die Jahre 2004-2005 Im nicht sicher, aber es war die. Ich bin ein großer Meister mit einer Bewertung über 2250. Ich arbeite mit Statistiken und dieses Programm betrügt. Onvif ist eine ziemlich Überraschung für mich. Ich teste es und bis jetzt ist es eine sehr gute Lösung Es ist ein ausgezeichneter Übersetzer. Ich benutze es seit vielen Jahren und ich kann es sehr empfehlen. Ich habe dieses Programm verwendet, um doppelte Fotos in meiner Sammlung zu finden. Dies war ein großartiges Programm in Windows Vista und Windows 7, aber das Installationspaket wird.


No comments:

Post a Comment