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
- Visualizações:
- 1080
- Avaliação:
- Publicado:
- 2014.01.14 13:58
- 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 classifica um por um todos os arquivos CSV na pasta geral de todos os terminais de clientes para obter seus tamanhos. Depois de obter o tamanho, o seu valor é comparado com o valor limite,"InpThresholdSize", e de acordo com o resultado o arquivo é colocado na pasta nomeada "InpBigFolderName" ou na "InpSmallFolderName". Assim os arquivos de grandes e pequenas dimensões são classificados.
Além de usar a função FileSize(), existem também as funções FileFindFirst(), FileFindNext() e FileFindClose() utilizadas no script para classificar os arquivos e a função FileMove() para movê-los.
Código:
//--- mostra a janela dos parâmetros de entrada ao lançar o script #property script_show_inputs //--- parâmetros de entrada input ulong InpThresholdSize=20; // tamanho limite do arquivo em kilobytes input string InpBigFolderName="grande"; // pasta para arquivos grandes input string InpSmallFolderName="pequeno"; // pasta para arquivos pequenos //+------------------------------------------------------------------+ //| Função iniciar do Script de programa | //+------------------------------------------------------------------+ void OnStart() { string file_name; // variável para armazenar os nomes dos arquivos string filter="*.csv"; // filtrar para pesquisar os arquivos ulong file_size=0; // tamanho do arquivo em bites int size=0; // número de arquivos //--- imprimir o caminho para o arquivo que vamos trabalhar PrintFormat("Trabalhando na pasta %s\\Arquivos\\",TerminalInfoString(TERMINAL_COMMONDATA_PATH)); //--- receber o handle de pesquisa na raiz da pasta comum de todos os terminais long search_handle=FileFindFirst(filter,file_name,FILE_COMMON); //--- verificar se FileFindFirst() foi executado com sucesso if(search_handle!=INVALID_HANDLE) { //--- mover arquivos no loop de acordo com seu tamanho do { //--- abrir o arquivo ResetLastError(); int file_handle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON); if(file_handle!=INVALID_HANDLE) { //--- receber o tamanho do arquivo file_size=FileSize(file_handle); //--- fechar o arquivo FileClose(file_handle); } else { PrintFormat("Falha ao abrir o arquivo %s, Erro código = %d",file_name,GetLastError()); continue; } //--- imprimir o tamanho do arquivo PrintFormat("Tamanho do arquivo %s é igual a %d bytes",file_name,file_size); //---definir o caminho para mover o arquivo string path; if(file_size>InpThresholdSize*1024) path=InpBigFolderName+"//"+file_name; else path=InpSmallFolderName+"//"+file_name; //--- mover o arquivo ResetLastError(); if(FileMove(file_name,FILE_COMMON,path,FILE_REWRITE|FILE_COMMON)) PrintFormat("arquivo %s está sendo movido",file_name); else PrintFormat("Erro, código = %d",GetLastError()); } while(FileFindNext(search_handle,file_name)); //--- fechar o handle de pesquisa FileFindClose(search_handle); } else Print("Arquivos não encontrados!"); }
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/1633

Cyber Cycle Adaptativa se adapta constantemente à mudança dos ciclos de um ativo financeiro do mercado.

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

Previsão da próxima mudança de intervalo do candle em gráfico diário.

O indicador demonstra um exemplo de como usar a função FileReadDouble().