MetaTrader 4 Build 529 beta lançado com novo compilador - página 43

 
stringo:
Foi fixado. Obrigado


Infelizmente, foi corrigido, mas não tudo.

O iVolume mostra isso.


Resta fixar o tipo de valor de retorno na documentação.

Experimentalmente, acabou sendo longo,

não a data, como escrito, e não o dobro, como antes.

Obrigado por sua atenção.

 
É impressão minha, ou a versão beta é realmente mais rápida (eu tenho Win XP)?
 

Para os desenvolvedores

OTestador de Estratégia está funcionando ou não?

Estou testando o MACD padrão no EURUSD. A conta comercial é a mesma, os parâmetros são os mesmos, o símbolo é o mesmo.

Em 509 negócios são executados, mas em 538 não são.

Se eu precisar, lhe enviarei os detalhes.

 
thecore:

Experimentalmente, revelou-se que é longo,

não a data como escrita e não o dobro como antes.

A propósito, este tipo de dados não está descrito no site (na documentação) :)

E é mais lógico, em minha opinião, retornar ulong.

 

Tempo exato para ms no tronco - legal!

Mas o histórico da pontuação nem sequer mostra segundos )

 
Clicar duas vezes nos favoritos leva à edição de códigos
 
"Arquivo - Abrir controle remoto" abre algum modelo à esquerda (padrão, mas não padrão).
 

Se você ler uma linha de um arquivo e depois escrever a mesma linha, uma quebra de linha extra é adicionada:

        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 da linha 2 (a primeira linha está OK). Em 509 estava tudo bem.

Suspeito que esta seja a questão:

FileWriteString

Escreve em um arquivo do tipo BIN, CSV ou TXT o valor de um parâmetro do tipo string a partir da posição atual do ponteiro do arquivo. Ao escrever em um arquivo CSV ou TXT, se houver um caractere '\n' (LF) sem um caractere '\r' (CR) anterior na cadeia, o caractere '\r' que falta é anexado antes do caractere '\n'.

Mas não tenho certeza se isto se aplica ao FileWrite também. Eu ainda não sei o que fazer com ele.

Devo escrevê-lo no balcão de atendimento?

 
komposter:

Se você ler uma linha de um arquivo e depois escrever a mesma linha, uma quebra de linha extra é adicionada:

Aparece a partir da linha 2 (a primeira linha está OK). Em 509 estava tudo bem.

Suspeito que esta seja a questão:

Mas não tenho certeza se isso se aplica ao FileWrite também. Ainda não sei o que fazer a respeito.

Devo escrever para o balcão de atendimento?

Por favor, escreva com todos os detalhes. Para não se perder.
 
komposter:

Se você ler uma linha de um arquivo e depois escrever a mesma linha, uma quebra de linha extra é adicionada:

int handle  = FileOpen( file_name, FILE_TXT | FILE_READ | FILE_WRITE | FILE_ANSI | FILE_SHARE_READ )   ,   _GetLastError = 0;
; ?
Razão: