Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
Demo_FileFlush - script para MetaTrader 5
- Visualizações:
- 921
- Avaliação:
- Publicado:
- 2014.01.14 14:00
- Atualizado:
- 2016.11.22 07:33
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Quando se escreve um arquivo, os dados podem ser realmente encontrados no local somente depois de algum tempo. Para salvar os dados no arquivo instantaneamente, use a função FileFlush(). Se a função não for utilizada, parte dos dados que não tenha sido armazenados no disco, serão obrigatoriamente escritos no local, somente quando os arquivos forem fechados através da função FileClose().
O script no loop recebe os dados dos preços Bid e Ask atuais e para escrevê-los chama a função FileWrite(). A cada 128 interações, a função FileFlush() é chamada para a redefinição forçada de dados pré-gravados em disco.
Código:
//--- mostra a janela de parâmetros de entrada, ao lançar o script #property script_show_inputs //--- nome do arquivo a ser escrito input string InpFileName="exemplo.csv"; // nome do arquivo //+------------------------------------------------------------------+ //| Função iniciar do Script de programa | //+------------------------------------------------------------------+ void OnStart() { //--- redefinir o valor de erro ResetLastError(); //--- abrir o arquivo int file_handle=FileOpen(InpFileName,FILE_READ|FILE_WRITE|FILE_CSV); if(file_handle!=INVALID_HANDLE) { //--- escrever dados do arquivo for(int i=0;i<1000;i++) { //--- chamar função de escrita FileWrite(file_handle,TimeCurrent(),SymbolInfoDouble(Symbol(),SYMBOL_BID),SymbolInfoDouble(Symbol(),SYMBOL_ASK)); //--- salvar os dados no disco a cada 128 iterações if((i & 127)==127) { //--- agora, os dados serão localizados no arquivo e não serão perdidos em caso de erro crítico FileFlush(file_handle); PrintFormat("i = %d, OK",i); } //--- pausa de 0.01 segundo Sleep(10); } //--- fechar o arquivo FileClose(file_handle); } else PrintFormat("Erro, código = %d",GetLastError()); }
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/1615
Histograma de OsMA de 4 cores (Média Móvel do Oscilador) permitindo a implementação de diferentes algoritmos de suavização.
i-IntradayFibonacciNíveis de Fibonacci intradiários.
O script demonstra o exemplo de como usar a função FileMove().
The20sv0.20Indicador de sinal de tendência do tipo semáforo.