Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 976

 
Como apagar uma linha em um arquivo? Por exemplo, eu escrevi algo comFileWriteString(), e agora preciso de um espaço vazio neste espaço, como faço isso?
 
Alexandr Sokolov:
Como apagar uma linha em um arquivo? Por exemplo, eu escrevi algo com FileWriteString(), e agora eu preciso de um espaço vazio neste lugar, como faço?

o acesso aos dados do arquivo é seqüencial, não se pode simplesmente apagar dados em qualquer lugar do arquivo

 
Igor Makanu:

o acesso aos dados do arquivo é seqüencial, não se pode simplesmente apagar dados em qualquer lugar do arquivo

OK. E como posso apagá-lo de qualquer forma? Porque eu não vi as funções correspondentes na ajuda, por exemplo, há uma para escrever mas não há ninguém para apagar

* exceto para substituir por "em branco" - " "?

 
Alexandr Sokolov:

Certo. E como você apaga? Como não tenho visto funções correspondentes de ajuda, por exemplo, há uma para escrever, mas ninguém para apagar.

* exceto para substituir por "em branco" - " "?

mais uma vez... há acesso aleatório aos dados e há acesso seqüencial aos dados

se for seqüencial, você lê/escreve em uma direção no que diz respeito ao arquivo:

1. abrir e ler - ponteiro de arquivo movido

2. abrir e escrever - ponteiro de arquivo movido, depois escrever novamente - ponteiro de arquivo movido.....


Você mesmo pode mover o ponteiro do arquivo FileSeek() e continuar a escrever a partir deste local.

Você pode abrir o arquivo para leitura, ler quantos bytes você precisar na memória e depois fechar o arquivo novamente, reabrir apenas para escrever e despejar o que você leu no arquivo, removendo assim o que você não precisa e... e não se esqueça de adicionar os dados que vieram após o fragmento apagado.


é basicamente assim que parece o manuseio de arquivos. Procure um artigo no fórum, eu acho que deveria haver um sobre manuseio de arquivos

 
Igor Makanu:

mais uma vez... há acesso aleatório aos dados e há acesso seqüencial aos dados

se for seqüencial, você lê/escreve em uma direção no que diz respeito ao arquivo:

1. abrir e ler - ponteiro de arquivo movido

2. abrir e escrever - ponteiro de arquivo movido, depois escrever novamente - ponteiro de arquivo movido.....


Você mesmo pode mover o ponteiro do arquivo FileSeek() e continuar escrevendo a partir deste local.

Você pode abrir o arquivo para leitura, ler quantos bytes você precisar na memória e depois fechar o arquivo novamente, reabrir apenas para escrever e despejar o que você leu no arquivo, removendo assim o que você não precisa e... e não se esqueça de adicionar os dados que vieram após o fragmento apagado.


É basicamente assim que se trabalha com um arquivo. Procure por um artigo de fórum que eu acho que deveria haver um sobre trabalhar com arquivos

Vou investigar isso. Vou investigar isso.

 

Rapazes, alguma idéia?

 
Hi. Tenho um problema para obter dados do indicador iMFI.
double ifmi_indicator = iMFI(symb_pair_with_suffix, StringToInteger(duration), 10, 1);

Este código é chamado em um temporizador, a partir de outro gráfico. Um em que a EA está em pé, eu recebo o resto dos dados do código. Os dados do ifmi_indicator não coincidem com o que eu recebo no terminal ao visualizar o indicador neste símbolo na barra atual ou na barra anterior. Qual é o problema? Às vezes os dados que recebo são ainda mais estranhos do que os que recebo enquanto reviso o gráfico manualmente. Por exemplo, eu olho para o valor 20, mas o código mostra 70. Qual pode ser o problema?

O idioma é mql4.
 
Como adicionar minutos ao indicador, agora apenas horas.
Arquivos anexados:
 

Boa tarde!

Estou interessado no indicador Gator. Do manual entendi que é possível extrair valores de linhas de histograma superiores e inferiores. Mas estou mais interessado na cor da linha e em seu valor em segundo lugar, somente se as linhas superior e inferior forem de cores diferentes. Como posso extrair a cor para depois comparar os valores da linha verde e da linha vermelha?

 
novichok2018:

Boa tarde!

Estou interessado no indicador Gator. Do guia entendi que é possível extrair valores de linhas de histogramas superiores e inferiores. Mas estou mais interessado na cor da linha e em seu valor em segundo lugar, somente se as linhas superior e inferior forem de cores diferentes. Como posso extrair a cor para depois comparar os valores da linha verde e da linha vermelha?

Se o valor atual é maior que o valor anterior, então é verde e o buffer é diferente, em mql4, e se o oposto é verdadeiro, então ... vice versa.))))