Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 976

 
Come si cancella una linea in un file? Per esempio, ho scritto qualcosa conFileWriteString(), e ora ho bisogno di uno spazio vuoto in questo spazio, come faccio?
 
Alexandr Sokolov:
Come si cancella una riga in un file? Per esempio, ho scritto qualcosa con FileWriteString(), e ora ho bisogno di uno spazio vuoto in questo posto, come faccio?

l'accesso ai dati del file è un accesso sequenziale, non si possono cancellare i dati in qualsiasi punto del file

 
Igor Makanu:

l'accesso ai dati del file è un accesso sequenziale, non si possono cancellare i dati in qualsiasi punto del file

OK. E come posso cancellarlo del tutto? Perché non ho visto le funzioni corrispondenti nell'aiuto, per esempio c'è una per scrivere ma nessuna per cancellare

* eccetto la sostituzione con "vuoto" - " "?

 
Alexandr Sokolov:

Ok. E come si fa a cancellare? Perché non ho visto funzioni corrispondenti nell'aiuto, per esempio, ce n'è una per scrivere ma nessuna per cancellare.

* eccetto la sostituzione con "vuoto" - " "?

un'altra volta... c'è l'accesso casuale ai dati e c'è l'accesso sequenziale ai dati

se è sequenziale, si legge/scrive in una direzione per quanto riguarda il file:

1. aprire e leggere - puntatore del file spostato

2. aprire e scrivere - puntatore del file spostato, poi scrivere di nuovo - puntatore del file spostato.....


Potete spostare il puntatore del file voi stessi FileSeek() e continuare a scrivere da questa posizione.

Potete aprire il file in lettura, leggere tutti i byte che vi servono in memoria e poi chiudere di nuovo il file, riaprire solo per scrivere e scaricare ciò che avete letto nel file, rimuovendo così ciò che non vi serve e... e non dimenticate di aggiungere i dati che sono venuti dopo il frammento cancellato.


Questo è fondamentalmente come è la gestione dei file. Cercate un articolo sul forum, penso che ce ne dovrebbe essere uno sulla gestione dei file

 
Igor Makanu:

un'altra volta... c'è l'accesso casuale ai dati e c'è l'accesso sequenziale ai dati

se è sequenziale, si legge/scrive in una direzione per quanto riguarda il file:

1. aprire e leggere - puntatore del file spostato

2. aprire e scrivere - puntatore del file spostato, poi scrivere di nuovo - puntatore del file spostato.....


Potete spostare il puntatore del file voi stessi FileSeek() e continuare a scrivere da questa posizione.

Potete aprire il file in lettura, leggere tutti i byte che vi servono in memoria e poi chiudere di nuovo il file, riaprire solo per scrivere e scaricare ciò che avete letto nel file, rimuovendo così ciò che non vi serve e... e non dimenticate di aggiungere i dati che sono venuti dopo il frammento cancellato.


Questo è fondamentalmente ciò che significa lavorare con un file. Cercate un articolo sul forum, penso che dovrebbe essercene uno sul lavoro con i file

Ci darò un'occhiata. Ci darò un'occhiata.

 

Ragazzi, qualche idea?

 
Ciao. Ho un problema nell'ottenere dati dall'indicatore iMFI.
double ifmi_indicator = iMFI(symb_pair_with_suffix, StringToInteger(duration), 10, 1);

Questo codice è chiamato su un timer, da un altro grafico. Uno su cui sta l'EA, il resto dei dati lo ottengo dal codice. I dati di ifmi_indicator non coincidono con quelli che ottengo nel terminale quando visualizzo l'indicatore su questo simbolo sulla barra corrente o sulla barra precedente. Qual è il problema? A volte i dati che ottengo sono ancora più strani di quelli che ottengo rivedendo il grafico manualmente. Per esempio, guardo il valore 20 ma il codice mostra 70. Quale può essere il problema?

Il linguaggio è mql4.
 
Come aggiungere minuti all'indicatore, ora solo ore.
File:
 

Buon pomeriggio!

Sono interessato all'indicatore Gator. Dalla guida ho capito che è possibile estrarre i valori delle linee superiori e inferiori dell'istogramma. Ma mi interessa di più il colore della linea e il suo valore al secondo posto, solo se le linee superiori e inferiori sono di colori diversi. Come posso estrarre il colore in modo da poter poi confrontare i valori della linea verde e della linea rossa?

 
novichok2018:

Buon pomeriggio!

Sono interessato all'indicatore Gator. Dal manuale ho capito che è possibile estrarre i valori delle linee superiori e inferiori dell'istogramma. Ma mi interessa di più il colore della linea e il suo valore al secondo posto, solo se le linee superiori e inferiori sono di colori diversi. Come posso estrarre il colore in modo da poter poi confrontare i valori della linea verde e della linea rossa?

Se il valore attuale è superiore al valore precedente, allora è verde e il buffer è diverso, in mql4, e se è vero il contrario, allora ... viceversa.))))

Motivazione: