Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Telegram!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Visualizações:
932
Avaliação:
(31)
Publicado:
2014.01.14 14:01
Atualizado:
2016.11.22 07:33
\MQL5\Files\SomeFolder\
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

Demo_FileFlush Demo_FileFlush

O script demonstra um exemplo de como usar a função FileFlush().

XOSMA Oscillator XOSMA Oscillator

Histograma de OsMA de 4 cores (Média Móvel do Oscilador) permitindo a implementação de diferentes algoritmos de suavização.

The20sv0.20 The20sv0.20

Indicador de sinal de tendência do tipo semáforo.

Demo_FileDelete Demo_FileDelete

O script demonstra o exemplo de como usar a função FileDelete().