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
CFastFile - classe para trabalhar a array uchar como um arquivo virtual - biblioteca para MetaTrader 5
- Visualizações:
- 1149
- Avaliação:
- Publicado:
- 2014.01.14 12:47
- Atualizado:
- 2017.05.02 10:02
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
O CFastFile elimina a necessidade de uma escrita intermediária de dados para o arquivo físico no disco. Ele fornece a aceleração significativa quando se trabalha com dados.
Ele tem funções semelhantes às FileWriteXXX/FileReadXXX. Isso significa que você pode facilmente migrar o do uso dos arquivos físicos para o trabalho rápido com os arquivos "virtuais" na memória. O armazenamento de dados e leitura/escrita esta baseado no uso da array uchar - em vez do arquivo físico.
Lista de funções:
CFastFile(uchar &data[]); // construtor com a inicialização de dados do arquivo a partir da array void Clear(); // arquivo definido //--- funções para trabalhar com as propriedades do arquivo void Delim(uchar delim=';'); // definir delimitador (separador de dados) para o modo CSV int Size(); // obter o tamanho do arquivo int Tell(); // obter a posição atual void Seek(int offset, int origin); // procurar bool IsEnding(); // verificação do fim do arquivo(EOF) bool IsLineEnding(); // verificação do fim da linha //--- funções para escrever os dados de arquivo uint WriteArray(uchar &src[], uint src_start=0, int src_cnt=WHOLE_ARRAY); // escreve a array uchar uint WriteDouble(double v); // escreva double uint WriteFloat(float v); uint WriteLong(long v); uint WriteInt(int v); uint WriteShort(short v); uint WriteChar(char v); uint WriteInteger(int v, int sz=INT_VALUE); // escrever integer - para compatibilidade com o padrão FileWriteInteger uint WriteString(string v, int cnt); // escrever a string cnt=-1 significa o modo CSV com adição de \r\n //--- funções para leitura do arquivo uint ReadArray(uchar &dst[], uint dst_start=0, int cnt=WHOLE_ARRAY); // ler array double ReadDouble(); // ler double float ReadFloat(); long ReadLong(); int ReadInt(); short ReadShort(); char ReadChar(); int ReadInteger(int sz=INT_VALUE); // ler integer - para compatibilidade com o padrão FileReadInteger double ReadNumber(); // string ReadString(int cnt); // ler string. cnt=-1 means CSV mode - lendo o delimitador(separador de dados) //--- funções, usada para salvar dados uint Save(uchar &v[]); // salvar arquivo para array uchar uint Save(int h); // salvar o arquivo para o arquivo real no disco. h - file handle (the file must be opened) uint Save(string file); // salvar o arquivo no arquivo real do disco. file - file name //--- funções, utilizados para o carregamento dos dados uint Load(uchar &v[]); // carregar o arquivo da array uchar uint Load(int h); // carregar dados no arquivo real do disco. h - file handle (the file must be opened) uint Load(string file); // carregar os dados de arquivo real no disco. file - nome do arquivo
Pode-se ver, as funções são nomeados semelhante às operações de arquivo padrão.
A migração de arquivos reais para o CFastFile é muito fácil. Em vez de abrir o arquivo e obter o handle do arquivo (por exemplo, int h) você precisa criar a instância da classe CFastFile, por exemplo:
CFastFile f;
A próxima mudança são as funções dos arquivos convencionais de acordo com a regra:
FileWriteDouble(h, 10) -> f.WriteDouble(10)
Por conveniência, as funções Save/Load são adicionadas - elas permitem que você salve/carregue os dados do arquivo "virtual" para o real no disco.
O exemplo de demonstração de classe CFastFile usar incluído.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/845
O indicador RMI (Índice de Momentum Relativo) é uma versão melhorada do RSI, o momentum é incluído no cálculo.
Módulo de sinais de negociação baseado no indicador ColorJFatlMódulo de sinais de negociação para o Assistente MQL5. O momento em que o indicador ColorJFatl muda de cor, significa que está na hora de entrar no mercado.
Um indicador combinado baseado em dois osciladores RSI.
Módulo de sinais de negociação baseado no indicador WPRSIsignalMódulo de sinais de negociação para o Assistente MQL5. As setas coloridas do indicador WPRSIsignal indicam um sinal de entrada no mercado.