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_FileMove - script para MetaTrader 5
- Visualizações:
- 932
- Avaliação:
- Publicado:
- 2014.01.14 14:01
- Atualizado:
- 2016.11.22 07:33
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
O script procura tentar mover o arquivo de origem do subdiretório na pasta local do terminal objetivando o arquivo no subdiretório da pasta compartilhada de todos os terminais de clientes. Os nomes de arquivos e subdiretórios são determinados nos parâmetros de entrada do script. A posição da pasta local do terminal pode ser obtida chamando a função TerminalInfoString().
PrintFormat("O caminho para a pasta local do terminal: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH)); PrintFormat("O caminho para a pasta compartilhada de todos os terminais de clientes: %s\\Files\\",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
Primeiramente o script usará a função FileIsExist() para definir se existe um arquivo de origem no caminho determinado na pasta local do terminal,se não, uma mensagem de erro vai ocorrer. Então será verificado, se existe o arquivo de destino para o caminho determinado. Se o arquivo de destino não existir, o movimento será realizada sem o uso do flag FILE_REWRITE. Caso contrário, o flag é usado, ou o movimento não será realizado.
Código:
//--- exibir a janela dos parâmetros de entrada, ao lançar o script #property script_show_inputs //--- parâmetros de entrada input string InpSrcName="dado.txt"; input string InpDstName="novodado.txt"; input string InpSrcDirectory="AlgumaPasta"; input string InpDstDirectory="OutraPasta"; //+------------------------------------------------------------------+ //| Função iniciar do Script de programa | //+------------------------------------------------------------------+ void OnStart() { string local=TerminalInfoString(TERMINAL_DATA_PATH); string common=TerminalInfoString(TERMINAL_COMMONDATA_PATH); //--- receber caminhos do arquivo string src_path; string dst_path; StringConcatenate(src_path,InpSrcDirectory,"//",InpSrcName); StringConcatenate(dst_path,InpDstDirectory,"//",InpDstName); //--- verifica se o arquivo de origem existe (se não - saída) if(FileIsExist(src_path)) PrintFormat("%s arquivo existe na pasta %s\\Files\\%s",InpSrcName,local,InpSrcDirectory); else { PrintFormat("Erro, %s arquivo de origem não encontrado",InpSrcName); return; } //--- verifica se o arquivo específico já existe if(FileIsExist(dst_path,FILE_COMMON)) { PrintFormat("%s arquivo existe na pasta %s\\Files\\%s",InpDstName,common,InpDstDirectory); //--- arquivo existe, movimento deve ser realizado com flag FILE_REWRITE ResetLastError(); if(FileMove(src_path,0,dst_path,FILE_COMMON|FILE_REWRITE)) PrintFormat("%s arquivo movido",InpSrcName); else PrintFormat("Erro! Código = %d",GetLastError()); } else { PrintFormat("%s arquivo não existe na pasta %s\\Files\\%s ",InpDstName,common,InpDstDirectory); //--- o arquivo não existe, o movimento deve ser realizada sem flag FILE_REWRITE ResetLastError(); if(FileMove(src_path,0,dst_path,FILE_COMMON)) PrintFormat("%s arquivo movido",InpSrcName); else PrintFormat("Código de Erro = %d",GetLastError()); } //--- o arquivo foi movido, vamos conferir if(FileIsExist(dst_path,FILE_COMMON) && !FileIsExist(src_path,0)) Print("Sucesso!"); else Print("Erro!"); }
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/1614
O script demonstra um exemplo de como usar a função FileFlush().
XOSMA OscillatorHistograma de OsMA de 4 cores (Média Móvel do Oscilador) permitindo a implementação de diferentes algoritmos de suavização.
Indicador de sinal de tendência do tipo semáforo.
Demo_FileDeleteO script demonstra o exemplo de como usar a função FileDelete().