Saturday, November 12, 2016

Forex Zero Divide

Tengo una pregunta acerca de la división cero en el indicador cuando se ejecuta. Qué está mal. Deberíamos usar un truco para arreglarlo Gracias. La función MarketInfo () es incorrecta. De acuerdo con la documentación debe devolver un tipo particular de diversos datos sobre los valores que figuran en la ventana de vigilancia del mercado y en el caso particular es Margen para mantener órdenes abiertas calculado para 1 lote. Que no puede ser 0. Sin embargo, la función devuelve 0. Es incorrecto. El truco que puedes usar es primero guardar el valor devuelto por la función en una variable adicional y después comprobar su valor para 0. Si es 0, un error debe ser señalado de alguna manera en vez de realizar la división. De lo contrario, la división se realizará como de costumbre. 2014.06.13 02:11 2014.06.13 02:11:56 angevoyageur: Un truco. Sí, no divida por cero. Lo sentimos, no hay división por cero en el código. Consulte la documentación, por favor. Gracias a todos por la respons. Permítanme dejar más claro. MarketInfo (Symbol (), MODEMARGINREQUIRED) tiene valor no cero. Pero cuando ejecutamos MT4 con ese indicador en él, tiene error de división cero. Entonces, si compilamos el indicador, funciona. La pregunta es por qué tiene que compilar cada MT4. PD. Esa fórmula funciona bien si ponemos en EA 2014.06.13 15:40 2014.06.13 15:40:31 Si el símbolo que está utilizando no tiene datos en el momento en que aplica el indicador, el MarketInfo () no puede devolver el valor correcto. ¿Por qué no filtrar el cálculo con. If (MarketInfo (.) Gt 0) MarketInfo () debe ser llamado una vez. El valor devuelto debe almacenarse en una variable. Entonces el valor almacenado en la variable debe ser utilizado en comparación con la división en lugar de hacer múltiples llamadas a MarketInfo () (una para la comparación y otra para la división) porque no hay garantía de que si la primera vez que MarketInfo () 0 en algún momento durante MT4 comenzando entonces no volverá 0 cuando se llama casi inmediatamente la segunda vez. Es incorrecto hacer una suposición que MarketInfo () no volverá nunca 0 puesto que la primera vez volvió no-0 durante el comienzo de MT4. Simpleton: Lo sentimos, no hay división por cero en el código. Consulte la documentación, por favor. Por supuesto, el OP obtener un error de división cero, pero no hay división por cero en el código. Supongo que entiendes lo que quieres decir. Angevoyageur: Por supuesto, el OP recibe un error de división cero, pero no hay división por cero en el código. Supongo que entiendes lo que quieres decir. De acuerdo con la documentación MarketInfo () no se puede devolver 0 para el parámetro en particular. El hecho de que sí significa que la calidad de la implementación MT4 es bastante pobre. ¿Qué pasa si MarketInfo () devuelve un valor distinto de cero, pero aún así incorrecto Los programadores deben calcular el mismo valor MarketInfo () debería devolverse y luego comprobar si MarketInfo () devolvió un valor correcto y puede confiar en él o no Las funciones del sistema deben Sus contratos. Si la documentación dice que MarketInfo () no devuelve cero (para un parámetro particular) entonces no hay división por cero en la expresión 1 / MarketInfo (). Pero implícitamente afirmó que sí. Este es definitivamente el error de MarketInfo (). Y por lo tanto, una solución es necesario. Tengo un indicador Im trabajando en que cuando se coloca por primera vez en el gráfico, los valores de banda bollinger son cero y termino con un mensaje de división cero en MT4 y MT5. Después de que los valores de banda de bollinger y el indicador tengan la oportunidad de calcular, se muestra correctamente, pero aparece de nuevo cuando cambio el gráfico o el tiempo (ya veces el indicador no aparece después del cambio). ¿Qué puedo hacer para evitar el error de división cero ¿Hay una función de espera hasta cargado O debo poner el cálculo de división en una instrucción if para esperar hasta que los valores de bollinger son superiores a cero No hay que esperar hasta que la función cargada que conozco. Pero si la declaración que usted sugirió debe encajar la factura. O tal vez utilizar la función IndicatorCount No sé es esto aplicable en su caso, pero asesino universal para la división cero es el aumento de divisor por valor insuficiente. Ejemplo: Carga de datos - otra historia .. Gracias por las respuestas. Para cerrar esto para cualquier persona que podría buscar esta situación de división cero en el futuro, no fue debido a los datos no carga antes de que el indicador calculado. Era porque las vendas del bollinger eran realmente cero valor para las 20 barras antes de que comenzaran a calcular. He añadido una declaración si y que resolvió el problema. No más división cero. Esta captura de pantalla muestra el comienzo de la tabla donde las bandas de bollinger no calculan hasta que la Media móvil tenga todas las barras que necesita. Tengo un indicador que estoy trabajando en que cuando se coloca por primera vez en el gráfico, los valores de la banda bollinger son cero y termino con un mensaje de división cero en MT4 y MT5. Después de que los valores de banda de bollinger y el indicador tengan la oportunidad de calcular, se muestra correctamente, pero aparece de nuevo cuando cambio el gráfico o el tiempo (ya veces el indicador no aparece después del cambio). ¿Qué puedo hacer para evitar el error de división cero ¿Hay una función de espera hasta cargada O debería poner el cálculo de división en una instrucción if para esperar hasta que los valores de bollinger estén por encima de cero Simplemente compruebe si se divide en cero antes de dividir. Tengo un indicador que estoy trabajando en que cuando se coloca por primera vez en el gráfico, los valores de la banda bollinger son cero y termino con un mensaje de división cero en MT4 y MT5. Después de que los valores de banda de bollinger y el indicador tengan la oportunidad de calcular, se muestra correctamente, pero aparece de nuevo cuando cambio el gráfico o el tiempo (ya veces el indicador no aparece después del cambio). ¿Qué puedo hacer para evitar el error de división cero ¿Hay una función de espera hasta cargado O debo poner el cálculo de división en una instrucción if para esperar hasta que los valores de bollinger son superiores a cero RSI. mq4 oficial como: Una pregunta sobre la división cero en el indicador cuando se ejecuta. - - Categoría: indicadores técnicos Buenas prácticas para evitar errores de división cero: 1) Siempre deje un espacio antes y después del símbolo / división en los cálculos. De esta manera es más fácil usar la función de búsqueda CtrlF para encontrar todas las divisiones sin tener que pasar por todas las // pre-correciones de comentario también. 2) Coloque siempre los cálculos que utilizan el símbolo de la división dentro de las llaves de comando de un condicional que comprueba para cerciorarse de que el número que usted está dividiendo por no es igual a cero. Esto evitará que el programa se detenga con un error de división cero si el denominador llega a ser cero. p. ej. 3) Es una buena idea agregar algún tipo de reporte de errores para asegurarse de que el programa no continúa adelante sin advertirle que el cálculo dentro de los frenos de comando no se llevó a cabo cuando el denominador es igual a cero - de lo contrario nunca podría darse cuenta, porque El error de división cero ya no se produciría. Es probablemente correcto asumir que si el denominador es nunca cero entonces algo ha ido mal antes de que el error de división cero pueda ocurrir, y usted querría saber sobre él. p. ej. Estas tres adiciones pueden tardar unos segundos en escribir cada vez en el código, pero ahorrarán minutos u horas para evitar que se produzca un error de división cero. Agregue estos en su código y el problema se revelará. Puntos buenos para recordar, clerin6 Divide por cero errores son bastante fáciles de prevenir de esta manera o si usted sabe cómo se hacen los cálculos sobre las variables que están involucrados en una operación de división. Relacionados, aunque un poco diferentes son la creación de cero sin intención y siniestro a través de errores de división entera. Por ejemplo, si length es una entrada int externa y la salida deseada es un número de punto flotante: Si longitud es un entero, la línea anterior producirá un cero para la mayoría de longitudes. Mientras que lo siguiente es lo que realmente se pretende: (producirá un peso en coma flotante que se puede utilizar como parte de un cálculo de ponderación exponencial). Desde un tiempo, con el cambio a la nueva versión de MT4 (build 610), tengo el mismo error en mi indicador cuando estoy usando con iCustom en mi EA. Este indicador es el famoso Hull Moving Average 2.0 (bicolor smouthed MA). Su nuevo nombre es HMA ahora. Algunos errores de sintaxis se corrigen como quotchar por quotCharquot. Pero no el error de división cero. Alguien me puede ayudar a dividir cero recientemente tengo el problema con un par de indicadores, que informe división cero, pero estoy seguro de que no hay división por cero. He comprobado la historia y todos los datos están bien. Intenté con otra cruz entonces consigo que el indicador trabaje pero otro informes cero divide. Sospecho que mi mt4 está dañado o tengo un virus. Cualquier otro tiene el mismo problema que me gustaría evitar la reinstalación. Los indicadores que hacen los problemas son wccisqeezev2 y la superposición del sidewinder del francotirador de Fx, trabajaron normal antes de que el beit de mayo ayude. División Por cero Estoy seguro de que ha sido publicado muchas veces, pero aquí es cómo yo normalmente manejar div por cero errores: bbs BBDeviation std / MathMax (diff, 0.000001) Espero que esto ayude a algunos. Else result 0 // o cualquier resultado que prefieras aquí puesto que el resultado // de la división por 0 por definición no está definido sobre el resultado que sea. Yo prefiero el 0 (ya que el resultado de la división por 0 es indefinido, 0 es uno de los resultados válidos) porque es neutro en la forma en que no asume el signo del resultado (por lo que un supuesto menos comparado con - cualquier resultado ) Quest: Hola, Tengo un problema con el panel WCCI Heart v2. Indicador trabajado hasta que lo probé con otra empresa que opera Metatrader. ¿Cómo lo solucionas? Por favor, ayúdame, es importante para mí. EURUSD, así como USDCHF poseen gran relación dentro de una imagen de gráfico de reflexión en el caso de que todos nosotros evaluar todos ellos. Fuimos con esto para cualquier cheque con este EA en particular. Compra EURUSD mercado USDCHF. El problema que voy a observar con este EA en particular es en realidad que it8217s ahora compra EURUSD más alto en lugar de reducido, así como la promoción de USDCHF menos de lo que realizará (hace que esta industria en el camino incorrecto después de que la creación de una reducción o incluso mantener abierto compra con En cuanto a largo período de tiempo y es arriesgado), no posee ningún tipo de inteligencia de esta manera, por lo tanto, tal vez debería ser el resto y luego comprar o incluso hacer uso de. Hasta la fecha esto parece garantizar. Haga clic aquí para descargar una nueva herramienta de comercio y estrategia para FREE There8217s también una organización llamada 8220freedom rocks8221 que las herramientas del contenedor USDCHF EURUSD. El concepto sería reunir el diferencial de buena calidad de rollover real bueno, mientras que la compensación de la volatilidad real entre sus conjuntos. La cuestión con una de estas técnicas es en realidad que usted podría overleverage sus propias cuentas y obtener la llamada de la frontera, esto muestra lo que sucede una vez que el GBPJPY cayó más de 1000 pips, saliendo de un compañero de compra y venta que contenedor dentro de graves rectas. Habíamos estado últimamente proyectando al profesional actual de HedgeTrader que compra EURUSD así como USDCHF concurrentemente así como cierra ambos repartos cada vez que un rédito sucede. Otros buscado: ea hedging average euro usd usd chf hedging forex sistema un buen hedging super combo ea forex gratis eurousd vs usdchf forex libre EURUSD hedge EA Mt4 gratis hedge ea jauwar mq4 par trading eurusd / usdchf ea


No comments:

Post a Comment