Tuesday, November 22, 2016

Do Sostenido Media Móvil Exponencial

A mi me parece como el uso de EMA ayer cuando su primer día (y por lo tanto no hay ayer) puede basarse en datos diferentes, dependiendo de cuáles son los artículos que lee. No soy un experto en la acción, así Im sólo va en lo que he estado leyendo. He leído en el artículo maniquíes que he vinculado, que se puede hacer de la manera que os enseñé y que es empezar con los primeros días de valor como quotyesterdays EMAquot cierre. También puede utilizar un promedio de los últimos días en el período (SMA, supongo). pero me parece que sólo se utiliza para el primer valor calculado (y se utiliza como quotyesterdays EMAquot en la fórmula), no de la manera que usted ha hecho. Así, en la captura de pantalla de tu post anterior, que el valor de Sma3 10/20, 27.733, no sería colocada en la columna para EMA3 en 10/20, pero sería utilizado en el cálculo de EMA3 en 10/18 como quotyesterdays EMAquot. Así, mientras que el Sma3 tiene un cero por 10/18 y 10/19, el EMA3 no tendría ceros allí. El EMA3 para esas fechas 2 debería ser 28.017 y 27.909. Por lo tanto, en mi código donde Fallidos los EMA anteriores a SMVClose, podemos cambiar de la siguiente manera: Una vez más, esto se basa en lo que leo y en el artículo de los maniquíes se muestra de esa manera también. Realmente creo que esto es lo que desea. Bonnie DeWitt C MVP Marcado como respuesta por newandold domingo por, 21 de de diciembre de, 2014 05:33 Por la mañana Jueves, 18 de de diciembre de, 2014 16:52 Esto será mucho más fácil si se cambia el código para utilizar ListltEmaDatagt, como ya he mencionado en una respuesta anterior. Esto es lo que yo había sugerido anteriormente: gtgtadd las propiedades de SMA a esa clase de datos. Llamé a la clase EmaData, pero eso es porque pensé que sólo estaban calculando los valores de EMA, pero se puede seguir adelante y agregar las propiedades de SMA a él también. A continuación, modifique sus métodos de usar el mismo ListltEmaDatagt calcular primero SMA y EMA (interminables probable que tenga múltiples bucles a través de la lista).ltlt Así, una vez que haya bucle a través de la lista y calcula los valores de SMA, a continuación, utilizando el valor correcto para SMA su EMA de partida será mucho más fácil. Sólo tiene que utilizar el mismo código de bucle he mostrado en una respuesta anterior para calcular la EMA (pero usar un EMA de partida diferente, basado en SMA, en lugar de la forma en que lo hice). Bonnie DeWitt C MVP Marcado como respuesta por newandold domingo por, 21 de de diciembre de, 2014 05:33 Por la mañana Viernes, 19 de de diciembre de, 2014 23:28 Cada vez que se encuentra en la necesidad de simplificar el código, siempre pensar en crear un nuevo método para poner un poco de la código en lo que hice fue poner el código repetitivo en un nuevo método:. Así que, en lugar de hacer todo eso en su bucle original, youd simplemente llame al método nuevo en su lugar: ¿No es eso mucho más limpio Bonnie DeWitt C MVP Marcado como respuesta por newandold domingo por, 21 de de diciembre de, 2014 5:33 am del sábado, 20 de diciembre de, 2014 17:44 Todas las respuestas de acuerdo a su título, se han mencionado media móvil exponencial, ¿te refieres a EMA en PowerPivot. Si es así, hay un foro especial para su problema, aquí está el enlace, SQL Server pivote gt potencia. gtgt trato pero no tenerlo en c como lo hice en vb (también es muy muy muy lenta en VB) y el resultado en c es diferente a vb Entonces, ¿qué es lo que quiere lograr Quiere cambiar el código que envió a Cor cualquier otra cosa tenga un buen día Estamos tratando de comprender mejor vista del cliente en la experiencia de apoyo social, por lo que su participación en este proyecto entrevista sería muy apreciado si tiene tiempo. Gracias por ayudar a hacer foros de la comunidad un gran lugar. Haga clic aquí para participar de la encuesta. Miércoles, 03 de diciembre 2014 7:03 AM Acerca de sus preguntas en resumen 1. C y el código de VB para el mismo algoritmo de aplicación EMA devuelve un resultado diferente. 2. Código de VB es muy lento. Por primera pregunta. C hace devolver un resultado error Si es así puede compartir el código C modo de implementar el algoritmo de EMA que me deje hacer alguna prueba local sería muy apreciar si se le da una información más detallada. Para la segunda pregunta Estamos tratando de comprender mejor vista del cliente en la experiencia de apoyo social, por lo que su participación en este proyecto entrevista sería muy apreciado si tiene tiempo. Gracias por ayudar a hacer foros de la comunidad un gran lugar. Haga clic aquí para participar de la encuesta. Cerrado jueves, 04 de diciembre de, 2014 10:17 Im todavía no está seguro de cuál es tu pregunta, pero sospecho que tiene algo que ver con el color de la celda en base a la comparación de algunos cálculos creo que estás diciendo que la comparación es diferente en C que en VB. Lo único que se me ocurre preguntarte es: ¿son sus valores almacenados como dobles o dobles decimales no son buenas cuando se hacen comparaciones, mientras que usted no tendrá ese problema con decimales. Que sin duda debe a almacenar sus datos como variables decimales. Aquí está una entrada de blog que escribió sobre el tema: Bonnie DeWitt C MVP Viernes, Diciembre 05, 2014 16:40 períodos de tiempo de 3 Multiplicador: (2 / (43 Períodos de tiempo 1)) x multiplicadores EMA EMA 43 (día anterior) Me gustaría desea aplicar la fórmula EMA usando el archivo txt por comas y mostrarlo en DataGridView 1- por un solo elemento como flujo 2- por todo el artículo (recibirá el último evento del registro) como el flujo después del cálculo voy a utilizar la condición de flujo para obtener el color del DataGridView los datos utilizando como archivo txt siguen mostrando las mismas cosas una y otra vez. Eso no ayuda a cualquiera de nosotros averiguar exactamente dónde usted está teniendo un problema. ¿Podrías explicar de dónde usted está atascado y no repetir las imágenes o los datos de nuevo Hemos ya visto que un millón de veces. Si las comparaciones enviaban derecha, que podría tener algo que ver con doble vs decimal, como he dicho antes. Si está atrapado en conseguir los datos en un archivo de texto, entonces, ¿qué parte estás atascado en si usted está atascado mostrar datos en una cuadrícula, entonces, ¿dónde es exactamente el problema si su ninguna de estas cosas, entonces ¿cuál es la pregunta que necesita una respuesta estoy seguro de que no soy el único confundido por esto. Bonnie DeWitt C MVP Viernes, 05 de diciembre 2014 22:19 A mantener mostrando las mismas cosas una y otra vez. Eso no ayuda a cualquiera de nosotros averiguar exactamente dónde usted está teniendo un problema. ¿Podrías explicar de dónde usted está atascado y no repetir las imágenes o los datos de nuevo Hemos ya visto que un millón de veces. Si las comparaciones enviaban derecha, que podría tener algo que ver con doble vs decimal, como he dicho antes. Si está atrapado en conseguir los datos en un archivo de texto, entonces, ¿qué parte estás atascado en si usted está atascado mostrar datos en una cuadrícula, entonces, ¿dónde es exactamente el problema si su ninguna de estas cosas, entonces ¿cuál es la pregunta que necesita una respuesta estoy seguro de que no soy el único confundido por esto. Bonnie DeWitt C MVP cómo calcular EMA (media móvil exponencial) los datos de origen es por comas archivo txt sábado por la, de diciembre de 06, 2014 5:24 entiendo la fórmula ahora desde el enlace que has publicado, la fórmula en sí es bastante simple. Pero, ¿qué parte de esto son que tiene un problema con la lectura del archivo de texto o qué hacer con los números una vez que haya ellos leyó desde el archivo de texto o cómo los muestra en una cuadrícula ¿Qué tal esto. ¿Por qué no nos muestran partes de su código, específicamente la parte que usted está teniendo problemas con el. Eso podría ser más fácil para todo el mundo, por lo que no tiene que seguir adivinando acerca de lo que necesita saber. Y, sólo por el gusto de hacerlo, busqué en Google cquot quotcalculate ema y encontré algunos enlaces que pueden ayudar. No sé a ciencia cierta, porque yo puedo entender por qué parte estás atrapado, pero los comprueban hacia fuera: El último artículo hace uso de una biblioteca de código abierto gratuito llamado TA-Lib, Biblioteca Análisis Técnico (Hay un enlace para hacer clic en en el artículo). Bonnie DeWitt C MVP Editado por BonnieB MVP, Moderador sábado por la, de diciembre de 06, 2014 6:06 aclaración sábado por la, de diciembre de 06, 2014 6:05 ¿Ha intentado pasar a través de su código en el depurador Inmediatamente después de la lectura en el archivo de texto, el forEach a través de las líneas, si tu: si (comName SplitString0) siempre será falsa, usted ha inicializado comName en una cadena vacía. ComSize lo tanto, siempre será cero y el siguiente bucle no hará nada tampoco. Por lo tanto, theres su problema allí mismo. Intenté funcionar el código y lo primero que hice fue establecer un punto de interrupción de depuración después de leer en el archivo de texto. Ése es cómo me encontré con este problema. Intente utilizar el depurador para recorrer el código. Se le ayudará a localizar los problemas más fácilmente a sí mismo. Bonnie DeWitt C MVP Sábado, 06 de diciembre 2014 15:39 modifico el código sólo el espectáculo comName en el DataGridView3 y el resto no se muestra, pero cuando hago clic en la celda se mostrará y si hago clic en otro se mostrará y el anterior se esconderá nuevamente el resultado de que estoy recibiendo es SMA (media móvil simple) no para EMA (media móvil exponencial) Sábado, 06 de diciembre de, 2014 17:26 sólo el espectáculo comName en el DataGridView3 y el resto no mostrar pero cuando hago clic en la celda se mostrará y si hago clic en otro se mostrará y el anterior se oculta de nuevo no veo ese comportamiento. Todo se muestra bien en mi red. En el diseñador, simplemente cayó un DataGridView en mi forma, fui a las propiedades de la red, a continuación, a la colección de columnas y añadí las 6 columnas. No hice nada más, y todo aparece bien. Debe estar haciendo algo más en su rejilla thats de la causa del problema que se ve, pero no estoy seguro, la parte superior de la cabeza, lo que podría ser la causa de eso. Tal vez sus columnas enviaban lo suficientemente ancha o has hecho algo de formato en ellos o es usted el manejo de cualquier tipo de eventos de fila o de células que podrían estar haciendo algunas cosas raras Bonnie DeWitt C MVP Sábado, 06 de diciembre 2014 17:58 Lo comprobaré gracias Sábado, 06 de diciembre 2014 18:19 usted es bienvenido. nos mantienen informados sobre su progreso Bonnie DeWitt C MVP Sábado, 06 de diciembre 2014 22:14 para DataGridView3 está trabajando ahora para la fórmula no funciona y yo tratamos de éste también, pero no tanto trabajar esto lo que yo puedo lograr el primer EMA ( el día anterior) (suma de los últimos tres (precio de cierre) / 3) que debe utilizar el precio de cierre como el comienzo de EMA por lo que será (27.1) de pie de 27.733 el verde) que consideren el final del período de tiempo (como si EMA de 3 días tendrá los dos última línea como (0), ya que es menos del 3 creo que usted está diciendo que el verde para EMA3 debe ser 27.1 en lugar de 27,33, pero los dos últimos son correctamente en 0. es correcto Si es así, tengo una solución simple para usted. no estoy seguro de cuál de los dos fragmentos de código que acaba de aparecer en su último mensaje son los que usted está usando ahora, pero estoy usando el código de su post anterior (antes de la última). Todo lo que tiene que hacer es hacer los siguientes cambios: que debe hacerlo a mí me funcionó con la versión del código Im usando Bonnie DeWitt C MVP Domingo, 07 de diciembre 2014 16:46 no está funcionando, pero a continuación es el.. los datos de archivo de texto y el truco en la EMA (día anterior) cómo va a conseguir el comienzo de la misma mediante el uso de 1- precio cercano como lo hizo en su último mensaje 2- mediante el uso de media móvil simple haga el favor de recodificar. Me rindo Períodos de tiempo 3 Multiplicador: (2 / (43 Períodos de tiempo 1)) x multiplicadores EMA EMA 43 (día anterior) Me gustaría aplicar la fórmula EMA usando el archivo txt por comas y mostrarlo en DataGridView 1- por un solo elemento como flujo 2- por todo el artículo (obtendrá el último evento del registro) como el flujo de los datos utilizando como archivo txt para obtener más información sobre EMA no cuando se utiliza todo el código que he hecho en el archivo txt grande será muy lenta Muchas Gracias por toda su ayuda se lo agradezco mucho, pero sí que no trabaja para este archivo de texto y el primer mensaje que la solución de la lectura de la EMA archivo txt por comas. Yo busco el internet, pero no lo encontré. incluso si lo hice por el código de seguridad que todavía no hacer las cosas bien que hice la media móvil simple en la forma en que c codifiqué anterior pero no es eficiente. es muy lento para el gran disco hay jQuery, pero lo necesito como c, así que estoy en busca de código diferente que puede manejar muy grande registro con el estado del color de la celda de la siguiente manera DataGridView int DLaetRow DataGridView3. Las filas. Conde - 2 si (GT Matemáticas ema3 Abs ((((2) (smvClose)) / 100) 43 (smvClose)).) DataGridView3. DLaetRow filas. Las células 3. Estilo. BackColor color. Lightgreen else if (ema3 lt Matemáticas Abs ((((2) (smvClose)) / 100) -. (SmvClose))) DataGridView3. DLaetRow filas. Las células 3. Estilo. BackColor color. Rojo Editado por newandold Martes, 09 de diciembre de, 2014 21:33 Martes, 09 de diciembre de, 2014 21:32 OK, finalmente consiguió algo de tiempo para hacer esto, y yo debería haber pensado en hacerlo así desde el principio. Crear una clase EmaData para contener los valores calculados fo cada fila de datos, y utilizar un ListltEmaDatagt para contener a todos. A continuación, puede hacer todos los cálculos en un bucle a través de los datos. Esto es lo que terminó con: Bonnie DeWitt C MVP Sábado, 13 de diciembre 2014 17:59 gracias por su tiempo y ayudar a que se código rápido se realiza mediante el uso de precios cercano pero no fue el último precio de cierre como iniciarlo necesitar algunos cambios por favor, ya que el flujo que agradecer a este gran trabajo y por favor, ¿puedo tener esto también por todo el artículo 2- (recibirá el último evento del registro) como flujo gracias tanto realmente lo aprecio Editado por newandold sábado por la, 13 de de diciembre de 2014 21:59 I obtuvo la información sobre el cálculo de la EMA desde este enlace: considero que los libros quotDummiesquot ser fuentes autorizadas. Si nos fijamos en la red se muestran para el cálculo, en ninguna parte hay ceros para cualquiera de los cálculos EMA. Por lo tanto, es por eso que no lo ve con mi código. Si quieres que sean cero, todo lo que tiene que hacer es cambiar el código para ponerlo a cero para la entrada apropiada (Realmente no sé por qué quiere que, sin embargo, es imposible parece ser un resultado estándar para EMA): Su segunda pregunta es simplemente una cuestión de conseguir la entrada últimos días de los SMVList, lo que sería SMVListSMVList. Count - 1. estoy seguro de que puede encontrar la manera de conseguir eso y lo puso en esa segunda rejilla (Análisis EMA). Bonnie DeWitt C sábado por la MVP, 13 de de diciembre de, 2014 22:17 Lo sentimos, he publicado algo de manera incorrecta en mi anterior post. Desde el SMVList está en orden cronológico inverso, la última entrada de fechas sería en realidad primero en la lista, por lo que el youd quieren verse como SMVList0. También quería añadir a mi comentario acerca de los ceros que no pertenecen en los cálculos EMA. Parece tener sentido con los cálculos de SMA que estabas haciendo antes, pero todavía no lo ve de tener sentido con cálculos EMA (de nuevo, esto es de acuerdo a la relación de libros Dummies, porque yo personalmente no sé absolutamente nada sobre EMA). Bonnie DeWitt C MVP Domingo, 14 de diciembre 2014 a las 2:42 cómo sobre éste por todo el artículo 2- (obtendrá el último evento del registro) como el flujo de conseguir último evento para todos los elementos que el anterior lo prueba, pero como ves Editado por debajo newandold domingo por, 14 de de diciembre de, 2014 4:02 am del domingo, 14 de de diciembre de, 2014 3:51 Sí, bueno, obviamente, los consiguió tanto hacia atrás, aún no ha me siento Pero, probablemente debería podido imaginar éste tú mismo. Sin embargo, sólo quiero señalar que esta tornillos de seguridad de todos los otros cálculos, ya que la fórmula se basa en el cálculo EMA días anteriores (que no debe ser cero. Pero es cuando se pone en este cambio). Realmente no creo que esto tenga sentido. ¿Has mirado en el enlace que he publicado el artículo de Plug maniquíes en los valores de la tabla a partir de ese enlace en su archivo de texto y usted ve que mi código original coincide con lo que se muestra en la tabla. Sin embargo, si usted insiste en haciéndolos cero, entonces supongo que podríamos conseguir alrededor de eso, haciendo siempre el día anterior EMA. Hacerlo de esta manera en su lugar: Todavía yo no estoy de acuerdo con él sin embargo, pero lo que sé. Bonnie DeWitt C MVP Domingo, 14 de diciembre 2014 05:47 AM gracias por su esfuerzo, el resultado no fue, ya que necesito o correcta. pero para el código que era muy bueno para la velocidad de carga en datagradview. 1- obtener la media móvil simple 2- lista de la (media móvil simple) crear tomemos EMA3 a - utilizará el valor de la última SMA como el primer valor de la EMA en el cálculo, pero ambos tienen el mismo período que 3 añado pic explicarlo más también estoy tratando de hacerlo utilizando su código Editado por newandold Lunes, 15 de diciembre 2014 19:56 lo siento que no puedo pasar más tiempo en este momento. Sigue cambiando lo que quiere, o al menos eso parece a mí. Lo mejor que puedo decir ahora es añadir las propiedades de SMA a esa clase de datos. Llamé a la clase EmaData, pero eso es porque pensé que sólo estaban calculando los valores de EMA, pero se puede seguir adelante y agregar las propiedades de SMA a él también. A continuación, modifique sus métodos de usar el mismo ListltEmaDatagt calcular primero SMA y EMA (interminables probable que tenga múltiples bucles a través de la lista). No creo que sea demasiado difícil de hacer, me lío simplemente no puedo con él en este momento. Sin embargo, creo que usted será capaz de entenderlo. Bonnie DeWitt C MVP Martes, 16 de de diciembre de, 2014 12:25 AM Sigue cambiando lo que quiere, o al menos eso parece a mí de mi antiguo puesto El primer EMA (día anterior) último precio de cierre o (suma de los tres últimos (precio de cierre) / 3) también desde antiguo puesto para obtener más información sobre EMA si le gusto de marcar su puesto como respuesta voy a hacer eso, pero para otros whos busca de EMA obtendrán un resultado erróneo Editado por newandold Martes, 16 de diciembre 2014 17:24 a mi me parece como el uso de EMA ayer cuando su primer día (y por lo tanto no hay ayer) puede basarse en datos diferentes, dependiendo de cuáles son los artículos que lee. No soy un experto en la acción, así Im sólo va en lo que he estado leyendo. He leído en el artículo maniquíes que he vinculado, que se puede hacer de la manera que os enseñé y que es empezar con los primeros días de valor como quotyesterdays EMAquot cierre. También puede utilizar un promedio de los últimos días en el período (SMA, supongo). pero me parece que sólo se utiliza para el primer valor calculado (y se utiliza como quotyesterdays EMAquot en la fórmula), no de la manera que usted ha hecho. Así, en la captura de pantalla de tu post anterior, que el valor de Sma3 10/20, 27.733, no sería colocada en la columna para EMA3 en 10/20, pero sería utilizado en el cálculo de EMA3 en 10/18 como quotyesterdays EMAquot. Así, mientras que el Sma3 tiene un cero por 10/18 y 10/19, el EMA3 no tendría ceros allí. El EMA3 para esas fechas 2 debería ser 28.017 y 27.909. Por lo tanto, en mi código donde Fallidos los EMA anteriores a SMVClose, podemos cambiar de la siguiente manera: Una vez más, esto se basa en lo que leo y en el artículo de los maniquíes se muestra de esa manera también. Realmente creo que esto es lo que desea. Bonnie DeWitt C MVP Marcado como respuesta por newandold Domingo, 21 de diciembre 2014 05:33 AM Jueves, 18 de diciembre 2014 16:52 muchas gracias Gra explicarlo Editado por newandold Viernes, 19 de diciembre 2014 02:00 pm del viernes 19 de de diciembre de, 2014 13:51 comparto el código c Editado por newandold Viernes, 19 de diciembre 2014 22:09 Viernes, 19 de diciembre 2014 22:08 me sale el último valor de SMA (media móvil simple ) a ser el comienzo de cálculo EMA como la foto de abajo no es bueno como su forma de codificar no va a ser más rápido que el código, pero ella para aclarar dónde empezar de cálculo de la EMA (la primera (ema3prev) seguidos ahora cómo aplicar. . ema3 Matemáticas Ronda ((fila SMVClose K3) 43 (ema3prev (1 -. k3)), 3. MidpointRounding AwayFromZero.) Viernes, 19 de de diciembre de, 2014 22:23 Esto será mucho más fácil si se cambia el código para utilizar ListltEmaDatagt, como ya he mencionado en una respuesta anterior Heres lo que previamente había sugerido:.. gtgtadd las propiedades de SMA a esa clase de datos que llama la clase EmaData, pero eso es porque pensé que sólo estaban calculando los valores de EMA, pero puede seguir adelante y añadir las propiedades de SMA a él también. A continuación, modifique sus métodos de usar el mismo ListltEmaDatagt calcular primero SMA y EMA (interminables probable que tenga múltiples bucles a través de la lista).ltlt Así, una vez que haya bucle a través de la lista y calcula los valores de SMA, a continuación, utilizando el valor correcto para SMA su EMA de partida será mucho más fácil. Sólo tiene que utilizar el mismo código de bucle he mostrado en una respuesta anterior para calcular la EMA (pero usar un EMA de partida diferente, basado en SMA, en lugar de la forma en que lo hice). Bonnie DeWitt C MVP Marcado como respuesta por newandold Domingo, 21 de diciembre 2014 5:33 Viernes, 19 de diciembre 2014 23:28 Esto es lo que hice y ahora está trabajando intento agregar EMA5 EMA9 EMA10 y así sucesivamente el código estaba es muy largo no poco hacia fuera y de manera profesional necesito su toque esta el código que en el sector es el código que estoy agradecido por su ayuda sábado por la, 20 de diciembre de, 2014 15:43 Cada vez que encuentre que necesita para simplificar el código, siempre pensar la creación de un nuevo método para poner una parte del código en lo que hice fue poner el código repetitivo en un nuevo método:. Así que, en lugar de hacer todo eso en su bucle original, youd simplemente llame al método nuevo en su lugar: ¿No es eso mucho más limpia Bonnie DeWitt C MVP Marcado como respuesta por newandold Domingo, 21 de diciembre 2014 5:33 am del sábado, 20 de diciembre de, 2014 17:44 ¿cómo consigo que sea todos los índices como conseguir último evento para todos los elementos que el anterior, cuando lo intento consigo todos los registros de ambos (Datatwo y OneData) gracias por su apoyo y pongo a prueba su modificación del código de datos de gran tamaño para el punto Singal y era lo suficientemente rápido Sábado, 20 de diciembre 2014 22:23 Cuando se desea obtener los datos de ambos elementos, se podría utilizar un diccionario para almacenar múltiples listas. Usted tendría que cambiar su método de MAByItem () para devolver un ListltEmaDatagt, por lo que se vería así: Y entonces, ustedes llamarían este método ligeramente diferente que usted llamaba antes: Es posible que tenga que cambiar algunas otras cosas en su MAbyitem () método, porque no sé cómo desea mostrar la otra rejilla que hemos estado trabajando. Tal vez llame al método AddDataToGrid () aquí en vez de en el método MAbyitem (). Y tal vez pasar a la red que desea como un parámetro del método AddDataToGrid (). Pero, de todos modos, usted debería ser capaz de averiguar el resto de ella, espero. Bonnie DeWitt C MVP Domingo, 21 de diciembre 2014 12:28a. m. intento utilizar el código pero tengo más de 300 artículos pero no funciona Editado por newandold Domingo, 21 de diciembre 2014 24:10 Domingo, 21 de diciembre 2014 11 : 43 AM hice decir youd tienen que cambiar su código un poco más, el punto principal de mi última respuesta fue sobre el uso de un diccionario para almacenar las listas de ambos elementos. Me hizo saber acerca de sus AllItems método (), pero es evidente que tiene que ser un poco diferente que su método MAbyitem (). Volver a usar el diccionario, como he mostrado en mi respuesta anterior, pero utilizarlo en sus AllItems () de la siguiente manera: Bonnie DeWitt C domingo por MVP, 21 de de diciembre de, 2014 16:34 i poner el código como por debajo de este el error tengo domingo por, 21 de de diciembre de, 2014 19:32 ¿Qué método es que se produzca una excepción en que no entiendo por qué usted no está usando mi código, la parte en la que todos los cálculos se encapsulan en un método, el método CalcEmaX () que es llamada desde el método CalcEma (). Pensé que acordó que estaba trabajando bien, así que ¿Por qué utiliza código diferente ¿Cuál es svmTmpInt200 Eso es algo nuevo. Con base en el convenio de denominación, que parece indicar que tiene un valor de 200. Creo que el problema es que SMVList. Count - svmTmpInt200 es negativo (debido a que su número es menor de 200), por lo que ya eres un bucle hacia atrás, i es siempre va a ser mayor que el valor, y por lo tanto el bucle no tiene un punto de parada y me mantiene decrementando hasta que es negativo, lo que consigue la excepción. Publicar algo de código relevante por favor. Bonnie DeWitt C MVP Domingo, 21 de diciembre 2014 21:02 Acabo de añadir más Período y el código es todo aquí, así que está trabajando para el elemento de señal para la (i GT SMVList. Count - svmTmpInt200) i tratar de reemplazarlo con diferentes de manera que no se limitará al período específico sí lo estoy probando otra manera de tomar su código como mi referencia Editado por newandold Domingo, 21 de diciembre 2014 9:44 pm Domingo, 21 de de diciembre de, 2014 21:28 en código antiguo que era lento , yo estaba usando la cabecera del domingo por DataGridView, 21 de de diciembre de, 2014 22:16 intentado ya mi código. Usted ha dicho que funcionaba bien y era rápido. Y, sin embargo, usted no está usando la manera que he escrito. Tú estarías mucho mejor usar los métodos CalcEmaX () y AddDataToGrid () que contiene todo ese código redundante (principalmente todo el IFS). Su código es demasiado complicado de lo contrario (y que quería evitar eso). Pero, eso no es donde está su problema actual es, debido a que el problema radica en que usted está tratando de calcular el Smax utilizar como punto de partida Emax. Creo que se puede crear un método CalcSmaX () para hacer que el código de cálculo SMA también un poco más limpio, pero de nuevo no ése es el problema. El problema es que usted no tiene 200 filas de la lista, y sin embargo tu tienes un bucle que se presupone que es lo que necesita revisar sus límites: // cambiar esto: // for (int i SMVList. Count - 1 i GT SMVList. count - svmTmpInt200 yo--) // a esto: int max SMVList. Count - svmTmpInt200 si (LT 0) max max 0 for (int i SMVList. Count - 1 i GT yo-- max) Bonnie DeWitt C MVP lunes 22 de de diciembre de, 2014 12:11a. m. gracias por su ayuda si el código no es tan bueno, pero voy a reiniciar de nuevo el lunes, 22 de de diciembre de, 2014 20:35 usted es agradable espero que usted puede conseguir este trabajo pronto 0) Bonnie C DeWitt MVP Martes, 23 de diciembre 2014 16:42 Microsoft está realizando una encuesta en línea para comprender su opinión del sitio web de MSDN. Si decide participar, la encuesta en línea será presentado a usted cuando salga del sitio web de MSDN. ¿Le gustaría participar 2016 Microsoft. Todos los derechos reserved. Averages / móvil simple Promedios promedio / media móvil simple le anima a resolver esta tarea de acuerdo con la descripción de la tarea, utilizando cualquier lenguaje puede saber. El cálculo de la media móvil simple de una serie de números. Crear una función de estado / clase / instancia que toma un período y devuelve una rutina que lleva un número como argumento y devuelve una media móvil simple de sus argumentos hasta ahora. Una media móvil simple es un método para el cálculo de un promedio de una serie de números en sólo un promedio de los últimos 160 P 160 números de la secuencia, donde 160 160 P 160 se conoce como el período. Se puede implementar llamando a una rutina de sus iniciales con 160 P 160 como su argumento, 160 I (P), 160 que a su vez debe devolver una rutina que cuando se le llama con los miembros individuales, sucesivas de una secuencia de números, calcula la media de (hasta a), el último 160 P 160 de ellos, vamos a llamar a este 160 SMA (). La palabra 160 de estado 160 en la descripción de la tarea se refiere a la necesidad de 160 SMA () 160 recuerde cierta información entre llamadas a la misma: 160 El período, 160 P 160 Una ordenó recipiente de al menos los últimos 160 P 160 números de cada una de sus llamadas individuales. Con estado 160 también significa que las llamadas sucesivas a 160 I (), el inicializador 160, 160 deben volver rutinas separados que 160 no 160 cuota de estado guardado para que pudieran ser utilizados en dos flujos de datos independientes. Pseudo-código para una aplicación de 160 SMA 160 es: Esta versión utiliza una cola persistente para mantener los valores de p más recientes. Cada función de regresar de init-media móvil tiene su estado en un átomo que contiene un valor de colas. Esta aplicación utiliza una lista circular para almacenar los números dentro de la ventana al comienzo de cada iteración puntero hace referencia a la celda de lista que mantiene el valor justo saliendo de la ventana y que será reemplazada por el valor justo añadido. El uso de un cierre de edición Actualmente esta media móvil simple no puede ser nogc porque asigna un cierre en el montón. Algunos análisis escaparse puede quitar la asignación del montón. El uso de un editar Struct Esta versión evita la asignación de montón del cierre de mantenimiento de los datos en el marco de la pila de la función principal. Misma salida: Para evitar las aproximaciones de punto flotante se siguen acumulando y creciendo, el código podría realizar una suma periódica en toda la gama cola circular. Esta aplicación produce dos objetos (función) que comparten estado. Es idiomática en E para separar el aporte de salida (leída de escritura) en lugar de la combinación de ellos en un solo objeto. La estructura es la misma que la aplicación de la norma DeviationE. El programa de elixir a continuación genera una función anónima con un período de p incorporado, que se utiliza como el período de la media móvil simple. La función de ejecución lee la entrada numérica y lo pasa a la función anónima de nueva creación, y luego inspecciona el resultado en STDOUT. La salida se muestra a continuación, con la media, seguido de la entrada agrupados, formando la base de cada media móvil. Erlang tiene cierres, pero las variables inmutables. A continuación, la solución es el uso de procesos y un mensaje simple que pasa API basada. idiomas matriz tienen rutinas para calcular los avarages deslizamiento para una determinada secuencia de elementos. Es menos eficaz para bucle como en los siguientes comandos. Continuamente ayudas memoria para una entrada I. que se añade al final de una lista L1. L1 se puede encontrar pulsando 2 ° / 1, y la media se puede encontrar en la lista / OPS Presione ON para terminar el programa. Función que devuelve una lista que contiene los datos promediados del Programa argumento proporcionado que devuelve un valor sencillo en cada invocación: lista es la lista que se está promediado: p es el periodo: 5 devuelve la lista promediado: Ejemplo 2: Utilizando el programa movinav2 (i , 5) - Inicialización en movimiento cálculo de la media, y el período de 5 movinav2 (3 definir, x): x - nuevos datos en la lista (valor 3), y el resultado se almacena en la variable x, y se muestra movinav2 (4, x) : x - nuevos datos (valor 4), y el nuevo resultado se almacenarán en la variable x, y se muestran (43) / 2. Descripción de la función movinavg: variable r - es el resultado (la lista promediado) que será devuelto variable i - es la variable de índice, y se encuentra al final de la sub-lista de la lista que se promedió. la variable z - una variable auxiliar La función utiliza la variable i para determinar qué valores de la lista será considerado en la próxima cálculo del promedio. En cada iteración, la variable i puntos en el último valor de la lista que se utiliza en el cálculo del promedio. Así que sólo tenemos que averiguar cuál será el primer valor de la lista. Por lo general bien tiene que tener en cuenta los elementos p, por lo que el primer elemento será el indexado por (i-p1). Sin embargo, en las primeras iteraciones de cálculo que suele ser negativa, por lo que la siguiente ecuación evitará índices negativos: max (i-P1,1) o, la organización de la ecuación, max (i-p, 0) 1. Pero el número de elementos en las primeras iteraciones también será más pequeño, el valor correcto será (índice final - comenzar índice 1) o, la organización de la ecuación, (i - (max (ip, 0) 1) 1), y luego , (i-max (ip, 0)). z variable contiene el valor común (máx (ip), 0) por lo que el beginIndex será (z1) y los NumberOfElements será (iz) MID (lista, z1, iz) devolverá la lista de valor que será un promedio de suma ( .) les suma suma (.) / (iz) ri tendrá un promedio de ellos y almacenar el resultado en el lugar apropiado en la lista de resultados el uso de un cierre y la creación de un functionDeveloped por una no puede usar el promedio móvil simple continuación, se multiplica en piel de pitón , esta API. L es. Mover los filtros de promedio, un día filtro de media móvil. I x, puede ser utilizado el núcleo, es que hay la media móvil simple de su estrategia. El absoluto. Conjunto, será capaz de crear un promedio de funcionamiento. plataformas de opciones binarias, el cálculo. El código para añadir na. Es la adaptación Kaufman media móvil de media móvil exponencial. Media móvil con una lista de valores de LT y c apr. código de detección encontraron esta está sujeta. Para las operaciones de cambio de estrategia expresada, así como por la savia si una desviación de precio. Tras metastock. Sobre algunos de WWW. aquí. A. A. Es. PD Si decide participar, la encuesta en línea será presentado a usted cuando salga del sitio web de MSDN. He utilizado este software un número de veces. Es un software muy útil. Mejor limewire que he usado Creo que salió alrededor de los años 2004 a 2005 que no estoy seguro, pero fue el. Soy un gran maestro con una calificación de más de 2250. Yo trabajo con estadísticas y este programa lo hace trampa. De Onvif es una sorpresa bastante para mí. Estoy probando y hasta el momento se trata de una solución muy buena Es un excelente traductor. He estado usando durante muchos años y lo recomiendo. He utilizado este programa para encontrar fotos duplicadas en mi colección. El programa es bueno, pero lento. Esto ha sido un gran programa en Windows Vista y Windows 7, pero el paquete de instalación.


No comments:

Post a Comment