Así que he encontrado la cuestión de lo que está causando cero dividir - No he visto esto antes hasta ahora. ¡Pensé que había terminado con mi código hasta que esto apareció! Tengo 3 variaciones de mi EA. 1 funciona sin problemas, los otros dos son similares en este departamento (código de abajo). No puedo entender por qué esto sería la causa de la división de cero?
Busque las líneas con las flechas que indican las líneas que están causando el problema... He aislado este problema aquí. O eso o estoy recibiendo una anomalía con AUDUSD backtest (descargo mis datos históricos de Forex Tester 2... parece que funciona con uno de mis EA's bien).
No estoy seguro de que hayas encontrado el problema... ¿cómo sabes que lo has hecho?
No creo que el código que ha arrowed causará un error de división por cero, para estar seguro de reemplazar este .
if(ema21 - H1_low > Point / 2) // << These parts here?
por esto. . .
double HalfAPoint = Point / 2.0; if(ema21 - H1_low > HalfAPoint)
y prueba de nuevo.
Sospecho que su error se mantendrá ya que se encuentra en otro lugar. . .
Sólo puedo localizar un problema de /división arriba.
La división de cero no viene de la función anterior.
Si no quieres mostrar todos los códigos entonces:
Localice todos sus problemas de división dentro de ea, custom_indicators y archivos incluidos.
Asegúrese de que la expresión del lado derecho de / no puede ser igual a 0.
Añadido:
En otra nota, usted podría realmente beneficiarse de ArraySort().
Si quieres saber si Daily_3 es el más alto/más bajo, haz un array y ordénalo.
No estoy seguro de que hayas encontrado el problema... ¿cómo sabes que lo has hecho?
No creo que el código que has marcado cause un error de división por cero, para estar seguro sustituye esto...
por esto. . .
y prueba de nuevo.
Sospecho que su error se mantendrá ya que se encuentra en otro lugar...
Tengo "V1-V2-V3" de mi EA.
Esencialmente copié sobre V1 a una nueva plantilla en blanco y cambié la parte que ilustré arriba sobre (código de abajo) y me dio un error de división cero durante una prueba de espalda en AUDUSD. ¿Los datos tienen algo que ver con la división a cero? Cuando ejecuto una prueba retrospectiva de todas las versiones de mi EA en EURUSD desde 2001-2013 (datos descargados por Forex Tester e importados en ST), no obtengo ningún error en ninguno de mis EA.
PullBack_Bar = Time[1]; // << These parts here? } if(PullBack_Bar > triggerBarTime) // << These parts here? { H1_Buy_Touch = "H1 Buy Touch"; OrderEntry(0); // Pending order Buy Stop function is called. }
Sólo estoy corriendo a través de otros pares y este problema de división cero no parece estar apareciendo a menos que su en AUDUSD con V2 y V3? Corríjanme si los datos no tienen nada que ver con esto.
Tengo "V1-V2-V3" de mi EA.
Esencialmente copié sobre V1 a una nueva plantilla en blanco y cambié la parte que ilustré arriba sobre (código de abajo) y me dio un error de división cero durante una prueba de espalda en AUDUSD. ¿Los datos tienen algo que ver con la división a cero? Cuando ejecuto una prueba retrospectiva de todas las versiones de mi EA en EURUSD desde 2001-2013 (datos descargados por Forex Tester e importados en ST), no obtengo ningún error en ninguno de mis EA.
No hay lectores de la mente aquí. Usted no nos ha mostrado el código con la división, por lo que nadie aquí puede ayudarle.
Todo lo que pregunté fue una simple pregunta, ¿los datos tienen algo que ver? Si no es así, entiendo más sobre la división cero de las personas que tienen experiencia con ella ... No pensé que había lectores de la mente aquí ...
Hay demasiado código como para postear aquí cada pequeña división. Por mi parte creía que había aislado el tema a lo que expliqué arriba, pero por lo visto no. Es que es un poco raro que cambie una cosita y luego no funcione porque me sale la división cero (la cosita que cambié es la que ilustré en el primer post).
@RaptorUK así que esencialmente podría ser una anomalía en el precio de los datos durante mi prueba de espalda, en cuyo caso, en el AUDUSD. Sólo un poco extraño que V2 y V3 se ejecutan alrededor de 1/4 del camino sin problemas y luego, de repente, golpea una división de cero y se detiene la EA de trabajar todos juntos.
@RaptorUK así que esencialmente podría ser una anomalía en el precio de los datos durante mi prueba de espalda, en cuyo caso, en el AUDUSD. Sólo un poco extraño que V2 y V3 ejecutar alrededor de 1/4 del camino a través de forma impecable y luego de repente golpea una división de cero y se detiene la EA de trabajar todos juntos.
Si usted quiere pasar días la clasificación de este simple problema, entonces por todos los medios se sienten libres ... . Yo no lo haría.
Si usted sabe cuando sucede durante su prueba de espalda, entonces es fácil de encontrar ... iniciar la prueba de espalda un día antes de la fecha en que sucede ... averiguar exactamente, al minuto, cuando va a suceder ... para todas las divisiones en su código . . sí, todas ellas, añada un Print() antes de la línea que contiene la división que imprime el divisor y una referencia a la línea de código en cuestión .
Por ejemplo:
if(d == 0.0) Print("a = c / d - divisor d is " + d ); a = c / d;
Cuando tu código termine con el error de dividir por cero revisa el archivo de registro y en las últimas impresiones estará la impresión que muestra la línea de código que produjo el error y qué variable se puso a cero. . .
. . aprende a trabajar de forma más inteligente y a cazar tus problemas de forma lógica y eficiente.
Tienes razón, ¡perdón por ser tan vago!
Y no aprendes - Se te ha pedido repetidamente TODO el código (relevante) y tus valores de las variables. ¿Por qué todavía tenemos que preguntar 21 posts después? Pon las sentencias print en tu código y obtén algo de información como qué y fueron.
Luego si sigues sin poder solucionar tu problema, pregunta.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Así que he encontrado el problema de lo que está causando la división cero - No he visto esto antes hasta ahora. ¡Pensé que había terminado con mi código hasta que esto apareció! Tengo 3 variaciones de mi EA. 1 funciona sin problemas, los otros dos son similares en este departamento (código de abajo). No puedo entender por qué esto sería la causa de la división de cero?
Busque las líneas con las flechas que indican las líneas que están causando el problema... He aislado este problema aquí. O eso o estoy recibiendo una anomalía con AUDUSD backtest (descargo mis datos históricos de Forex Tester 2... parece que funciona con uno de mis EA's bien).