Errores, fallos, preguntas - página 477

 
stringo:

En tu caso, necesitas utilizar matrices dinámicas

¡Gracias! Funciona.

 

Corregir, si no es difícil, el error en el probador.

Los EAs se quedan ciegos al procesar un tick. Es imposible actualizar la información de un símbolo durante el procesamiento de los ticks.

En el comercio normal esto no ocurre y todos los datos se actualizan.

https://www.mql5.com/ru/forum/4270/page2#comment_87059

Sin este arreglo es imposible procesar correctamente los errores comerciales.

RefreshRates() внутри OnTick()
RefreshRates() внутри OnTick()
  • www.mql5.com
Если это невозможно, то как проще всего реализовать обработку ошибок торговых операций с проверкой котировок на обновление?
 

Cuando, durante la optimización, todas las operaciones están en el lado positivo, el archivo de informe xml está torcido.

... Por favor, corríjalo.

 

O no entiendo algo, o se olvidó de hacer la función FileClear()

Ahora bien, según tengo entendido, para borrar un archivo hay que 1 cerrar, 2 borrar, 3 abrir. - Esto es muy inconveniente.

 
vyv:

O no entiendo algo, o se olvidó de hacer la función FileClear()

Ahora bien, según tengo entendido, para borrar un archivo hay que 1 cerrar, 2 borrar, 3 abrir. - Esto es muy inconveniente.

¿Por qué hay que borrar un archivo? Mueve el puntero del archivo a 0 y comienza a escribir.
 
stringo:
¿Por qué borrar el archivo? Mueve el puntero del archivo a 0 y comienza a escribir.
Si hay 5 líneas en el archivo. En cambio, quiero escribir 3. Muevo el puntero al principio del archivo, escribo 3.... Y detrás de ellos hay 2 más... Así que hay 5 líneas en el archivo en lugar de 3 - escudo...
 
vyv:
Si hay 5 líneas en el archivo. Quiero sobrescribirlos con el 3. Muevo el puntero al principio del archivo, escribo 3.... Y hay 2 más detrás de ellos... Así que hay 5 líneas en el archivo en lugar de 3 - escudo...

Abre un archivo con la bandera de sólo escritura FILE_WRITE y escribe lo que quieras. Todo lo anterior se borrará.

Hay algunas peculiaridades de trabajar con banderas de lectura y escritura:

  • Si se especifica FILE_READ, se intenta abrir un archivo que ya existe. Si el archivo no existe, no se puede abrir el archivo, no se crea un nuevo archivo.
  • Si FILE_READ|FILE_WRITE - se crea un nuevo archivo si no hay ningún archivo con ese nombre.
  • Si FILE_WRITE - el archivo se vuelve a crear con tamaño cero.
 

Parece que la función FileChangeSize es necesaria

 
La WinAPI tiene la función SetEndOfFile
 
stringo:

La función FileChangeSize parece ser necesaria

Y también se olvidaron de las funciones de renombrar archivos/carpetas.

// Vale, estoy de acuerdo, se puede renombrar con FileMove(...), pero para las carpetas también necesitamos un análogo. :)