MetaTrader 4 Build 529 beta liberado con nuevo compilador - página 43

 
stringo:
Estaba arreglado. Gracias


Por desgracia, se ha arreglado, pero no todo.

iVolume lo demuestra.


Queda por arreglar el tipo de valor de retorno en la documentación.

Experimentalmente resultó ser largo,

no datetime, como está escrito, y no double, como antes.

Gracias por su atención.

 
¿Soy yo, o la versión beta funciona realmente más rápido (tengo Win XP)?
 

A los desarrolladores

¿Funciona elProbador de Estrategias o qué?

Estoy probando el MACD estándar en el EURUSD. La cuenta comercial es la misma, los parámetros son los mismos, el símbolo es el mismo.

En el 509 se ejecutan las operaciones, pero en el 538 no.

Si lo necesito te enviaré los detalles.

 
thecore:

Experimentalmente resultó que es largo,

no datetime como está escrito y no double como antes.

Por cierto, este tipo de datos no se describe en el sitio (en la documentación) :)

Y es más lógico, en mi opinión, que vuelva ulong.

 

Tiempo exacto a ms en el registro - ¡genial!

Pero el historial de puntuaciones ni siquiera muestra los segundos )

 
Haciendo doble clic desde los favoritos se accede a la edición del código
 
"Archivo - Abrir remoto" abre alguna plantilla de la izquierda (por defecto pero no por defecto).
 

Si se lee una línea de un archivo y luego se escribe la misma línea, se añade un salto de línea adicional:

        string file_name = "test.txt";
        int handle  = FileOpen( file_name, FILE_TXT | FILE_READ | FILE_WRITE | FILE_ANSI | FILE_SHARE_READ ), _GetLastError = 0;
        if ( handle < 0 )
        {
                _GetLastError = GetLastError();
                if ( _GetLastError != 4103 ) Print( "FileOpen() - Error #", _GetLastError );
                return(false);
        }

        string temp_command;
        FileSeek( handle, 0, SEEK_SET );

        while ( !FileIsEnding( handle ) )
        {
                ulong command_start = FileTell( handle );
                temp_command = FileReadString( handle );
                if ( temp_command == "" ) continue;

                FileSeek( handle, command_start, SEEK_SET );
                FileWrite( handle, temp_command );
                break;
        }

        FileClose( handle );

Aparece a partir de la línea 2 (la primera línea está bien). En el 509 estaba bien.

Sospecho que este es el problema:

FileWriteString

Escribe en un archivo de tipo BIN, CSV o TXT el valor de un parámetro de tipo cadena desde la posición actual del puntero del archivo. Al escribir en un archivo CSV o TXT, si hay un carácter '\n' (LF) sin un carácter '\r' (CR) precedente en la cadena, el carácter '\r' que falta se añade antes del carácter '\n'.

Pero no estoy seguro de si esto se aplica también a FileWrite. Todavía no sé qué hacer con él.

¿Debo escribirlo en el servicio de atención al cliente?

 
komposter:

Si lee una línea de un archivo y luego escribe la misma línea, se añade un salto de línea adicional:

Aparece a partir de la línea 2 (la primera línea está bien). En el 509 estaba bien.

Sospecho que este es el problema:

Pero no estoy seguro de si se aplica también a FileWrite. Todavía no estoy seguro de qué hacer al respecto.

¿Debo escribir al servicio técnico?

Por favor, escriba con todos los detalles. Para no perderse.
 
komposter:

Si lee una línea de un archivo y luego escribe la misma línea, se añade un salto de línea adicional:

int handle  = FileOpen( file_name, FILE_TXT | FILE_READ | FILE_WRITE | FILE_ANSI | FILE_SHARE_READ )   ,   _GetLastError = 0;
;?
Razón de la queja: