¡Ayuda! - página 4

 
Anton Tarasov:

Chicos, aún no soy bueno en esto, ¿cómo relleno las líneas?

double sto1=(precio de cierre de la barra);

double sto2=(precio de apertura de la nueva barra) ;

iClose(NULL,0,1)

iOpen(NULL,0,0)

Lea sobre estas funciones en la ayuda

 
Dmitry Fedoseev:
No lo sé. Si todo es lento para empezar, tal vez 10 si no harán la diferencia. Pero ya lo noto en la tercera. Así que la necesidad de cada nuevo ife se sopesa cuidadosamente.

Sólo hay dos razones para la ralentización, la primera es que la condición en la sentencia if se construye de forma incorrecta y la segunda es que después de que la sentencia if se dispara la ejecución posterior se escribe de forma incorrecta dentro del cuerpo.

Tengo un analizador de barras, hay mucho más que 3 if con if internos, pasa por todas las barras y sus valores, fija la suma y escribe en la ventana de apertura, todo en una fracción de segundo.

Así que los retrasos no se deben a si sino a su uso incorrecto.

 
Dmitry Fedoseev:

iClose(NULL,0,1)

iOpen(NULL,0,0)

Lea sobre estas funciones en la ayuda

¡Muchas gracias Dimitri!
 
Alexey Busygin:

Sólo hay dos razones para la ralentización, la primera es que la condición en la sentencia if se construye de forma incorrecta y la segunda es que después de que la sentencia if se dispara la ejecución posterior se escribe de forma incorrecta dentro del cuerpo.

Tengo un analizador de barras, hay mucho más que 3 if con if internos, pasa por todas las barras y sus valores, fija la suma y escribe en la ventana de apertura, todo en una fracción de segundo.

Por lo tanto, la ralentización no se debe a si, sino a que se utiliza de forma incorrecta.

¿Con qué estás discutiendo? ¿Que dos si funcionan el doble de lento que un si? ¿Y tres si son tres veces más lentos que uno?
 
Dmitry Fedoseev:
¿Con qué estás discutiendo? ¿Que dos si son el doble de lentos que un si? ¿Y tres si son tres veces más lentos que uno?
¿Y qué pasa cuando se coloca explícitamente "código pesado" en el cuerpo del if? Si un si no funciona, lo que hay dentro no cuenta.
 
forexman77:
¿Qué pasa cuando se coloca explícitamente "código pesado" en el cuerpo del if? Si un si no funciona, lo que hay dentro no cuenta.
Si un if no funciona, sus condiciones son
 
Alexey Busygin:
Si un if no funciona, significa que sus condiciones son

Lo que quería decir es lo siguiente: tengo unos cálculos bastante pesados. Suelo hacer esto para acelerar las cosas: pongo los cálculos más fáciles en condiciones if, y escondo el código pesado en su cuerpo.

Si los fáciles no funcionan, entonces los difíciles no se comprobarán.

 
forexman77:

Lo que quería decir es lo siguiente: tengo unos cálculos bastante pesados. Suelo hacer esto para acelerar las cosas: pongo los cálculos más fáciles en condiciones if, y escondo el código pesado en su cuerpo.

Si los ligeros no funcionan, entonces los pesados no se comprueban en absoluto.

¿Qué quiere decir con "cálculos pesados"? ¡Un ejemplo de cálculos ligeros y pesados es posible!
 
Alexey Busygin:
¿Qué quiere decir con "cálculos pesados"? Un ejemplo podría ser ¡ligero y pesado!

Bueno, aquí hay un ejemplo. Hay un indicador relativamente ligero de dos correderas y un indicador pesado. Los cálculos "pesados" consumen muchos recursos.

if (ma7_2 < ma15_2 && ma7_1 > ma15_1)//пересечение короткой скользящей вверх
{
indikator=iCustom(NULL,0,"TSI",p2,p3,p4,p5,0,1);//тяжелый для вычисления индикатор
//сюда можно вставить и кучу другого кода, если мувинги не пересеклись, то и последующих вычислений не будет
}
 
forexman77:

Bueno, aquí hay un ejemplo. Hay un indicador relativamente ligero de dos correderas y un indicador pesado. Los cálculos "pesados" consumen muchos recursos.

Entonces, ¿cuáles son los cálculos pesados? ¡Nada! He tenido casos en los que había"for(){for(){for(){for(){}}}" en el if triple forte y nada, ninguna queja, lo llamaba y contaba.