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:
972
Avaliação:
(33)
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 demonstra o exemplo de como usar a função FileCopy(). Para isto, o conteúdo de um arquivo é copiado para o outro. Para o sucesso da cópia, o arquivo de origem deve estar na pasta local do terminal com o nome especificado no parâmetro de entrada "InpSrc". 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\\Arquivos\\",TerminalInfoString(TERMINAL_DATA_PATH)); 
Primeiramente o script tentará exibir o conteúdo dos arquivos. Se o arquivo de destino não existe, você deve copiar a funçãoFileCopy() sem usar o flag FILE_REWRITE. Se o arquivo de destino já foi criado, então para uma cópia bem sucedida deve ser utilizado o flag FILE_REWRITE.

Código:

//--- Mostra a janela de parâmetros de entrada, ao lançar o script
#property script_show_inputs
//--- entrada de parâmetros
input string InpSrc="pesquisa.txt";       // pesquisa
input string InpDst="destino.txt";  // cópia
input int    InpEncodingType=FILE_ANSI; // ANSI=32 ou UNICODE=64
//+------------------------------------------------------------------+
//| Função iniciar do Script de programa                             |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Exibir o conteúdo de origem (que deve existir)
   if(!FileDisplay(InpSrc))
      return;
//--- verificar se já existe cópia do arquivo (não pode ser criado) 
   if(!FileDisplay(InpDst))
     {
      //--- a cópia do arquivo não existe, copiando sem o flag FILE_REWRITE (copiando corretamente)
      if(FileCopy(InpSrc,0,InpDst,0))
         Print("Arquivo foi copiado!");
      else
         Print("Arquivo não foi copiado!");
     }
   else
     {
      //--- já existe cópia do arquivo, tente copiar sem o flag FILE_REWRITE (copiando incorretamente)
      if(FileCopy(InpSrc,0,InpDst,0))
         Print("Arquivo foi copiado!");
      else
         Print("Arquivo não foi copiado!");
      //---Conteúdo do arquivo InpDst permanece o mesmo
      FileDisplay(InpDst);
      //--- copiar mais uma vez com o flag FILE_REWRITE (copiando corretamente se o arquivo existe)
      if(FileCopy(InpSrc,0,InpDst,FILE_REWRITE))
         Print("Arquivo foi copiado!");
      else
         Print("Arquivo não foi copiado");
     }
//--- Receber a cópia do arquivo InpSrc
   FileDisplay(InpDst);
  }
//+------------------------------------------------------------------+
//| Ler conteúdos do arquivo                                         |
//+------------------------------------------------------------------+
bool FileDisplay(const string file_name)
  {
//---Redefinir o valor de erro
   ResetLastError();
//--- abrir o arquivo
   int file_handle=FileOpen(file_name,FILE_READ|FILE_TXT|InpEncodingType);
   if(file_handle!=INVALID_HANDLE)
     {
      //--- exibir os conteúdos do arquivo no loop
      Print("+---------------------+");
      PrintFormat("Nome do arquivo = %s",file_name);
      while(!FileIsEnding(file_handle))
         Print(FileReadString(file_handle));
      Print("+---------------------+");
      //--- fechar o arquivo
      FileClose(file_handle);
      return(true);
     }
//--- falha para abertura do arquivo
   PrintFormat("%s não foi aberto, erro = %d",file_name,GetLastError());
   return(false);
  }

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/1611

Demo_FileDelete Demo_FileDelete

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

The20sv0.20 The20sv0.20

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

ATRPivot ATRPivot

ATRPivot gera níveis de suporte e resistência considerando o indicador Average True Range (ATR).

Demo_FileFind Demo_FileFind

O script é um exemplo simples de como usar as funções FileFindFirst(), FileFindNext() e FileFindClose().