Errores, fallos, preguntas - página 419

 
Im_hungry:

Buenas noches, me preguntaba si en este código

después de comprobar B>spred, que es "FALSE", se comprueban el resto de valores

Aumenta el tiempo de ejecución de la prueba, por lo que tengo que modificar el código de la siguiente manera

Y el que más tiempo consume en términos de cálculos ( proverka() - copia de los valores del buffer de un indicador)

Lo pongo en último lugar pero no comprueba el último. Me pregunto.

¿Por qué?

O no comprueba la última:

Inténtelo de esta manera

if((B >= spred) && (IND && proverka()))
{
//Processing...
}
 
Interesting:

Prueba esto

Sory - Lo he comprobado por debajo, funciona de todas las maneras,
 

Ahora me pregunto por qué en el EA, el indicador se come toda la RAM y más,

y trabajando por separado del Asesor Experto, no lo hace.

puede ser que el indicador no se borre o algo más pero se llame en cada nueva barra,

y cada vez tenemos menos RAM con cada barra (

 bytes not available

). ¿Por qué? Sí, buenas noches.

 
Renat:
Por favor, dame el código.
Renat si la pregunta es para mi, acabo de crear un EA en blanco y lo he ejecutado. debe estar relacionado con UAC ya que tengo todos los archivos almacenados aquí C:\sers\user\AppData\Roaming\MetaQuotes\Terminal\88B20A762CA848D878978288235C7B072A6 y el visualizador intenta obtener datos del directorio directo.
 
Im_hungry:

Ahora me pregunto por qué en el EA, el indicador se come toda la RAM y más,

y trabajando por separado del Asesor Experto, no lo hace.

puede ser que el indicador no se borre o algo más pero se llame en cada nueva barra,

y cada vez menos RAM con cada barra (

). ¿Por qué? Sí, buenas noches.


El ejemplo en el estudio por favor (al menos como un boceto de una idea), o a los desarrolladores, pero todo en una sola pieza. Por cierto, ¿qué significa "se llama en cada tic"?

La idea es que debe ser llamado una vez, en el bloque de inicialización. En caso de que se intente evitar un error de inicialización, todavía se puede llamar en un temporizador o en un nuevo tick(pero sólo si el manejador está desactivado).

En todos los demás lugares sólo es razonable obtener una cierta porción de datos (controlando la desventaja, por supuesto).

 
sergey1294:
Renat si la pregunta es para mí, acabo de crear un EA en blanco y lo ejecutó. probablemente esto está relacionado con UAC como tengo todos los archivos almacenados aquí C:\sers\user\AppData\Roaming\MetaQuotes\Terminal\88B20A762CA848D878978288235C7B072A6 y el renderizador intenta sacar los datos del directorio directo.
Así que excluyamos la UAC de los vazos con la portabilidad... :)
 
Interesting:
Así que excluyamos a la UAC de los vazos con la portabilidad... :)
Si ahora inicio la terminal con este interruptor, ¿se iniciará siempre con él o debo iniciar la terminal desde la línea de comandos cada vez?
 
Interesting:

Ejemplo de estudio por favor (al menos como un esbozo de idea), o a los desarrolladores, pero el conjunto. Por cierto, ¿qué significa "llamado en cada tic"?

La idea es que debe ser llamado una vez, en el bloque de inicialización. En caso de que se intente evitar un error de inicialización, puede seguir en un temporizador o en un nuevo tick(pero sólo si el manejador está desactivado).

En todos los demás lugares es razonable sólo obtener una cierta porción de datos (con control de desventajas, por supuesto).

Se utiliza para comprobar si los búferes se han copiado (con éxito o no)

bool proverka()
{
  ArraySetAsSeries(Buf,true);
  handle=iCustom(NULL,0,"V",Symbol_1,Symbol_2,Depth,ExpKoef,DateStart);
  ResetLastError();
  int copied=CopyBuffer(handle,0,1,1,Buf);
  if(copied<=0)
   {
    Sleep(50);
................

con este llamamos al indicador en una nueva barra

handle=iCustom(NULL,0,"V",Symbol_1,Symbol_2,Depth,ExpKoef,DateStart);
Y sin ella, ¡¡¡sólo obtenemos valores cero!!!

Y la memoria se hace más pequeña con cada barra...

¿Por qué?

 
sergey1294:
Si ahora inicio el terminal con esta clave, ¿se ejecutará con ella todo el tiempo, o debo iniciar el terminal desde la línea de comandos cada vez?

Si crea un archivo por lotes y o corrige el acceso directo correspondiente, entonces todo el tiempo. Si lo ejecuto desde la línea de comandos, es algo único.

En mi opinión, es más fácil crear una copia del acceso directo con el nombre y la línea de comandos adecuados.

 
Interesting:

Si se crea un archivo por lotes y o se corrige el acceso directo correspondiente, es todo el tiempo. Si también sólo se ejecuta desde la línea de comandos, entonces una vez.

En mi opinión, es más fácil crear una copia del acceso directo con el nombre y la línea de comandos adecuados.

cómo hacerlo correctamente
Razón de la queja: