Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 976

 
Как в файле стереть строку? Например я что-то написал функцией FileWriteString(), а теперь нужно чтобы на этом месте было пустое место, как это сделать?
 
Alexandr Sokolov:
Как в файле стереть строку? Например я что-то написал функцией FileWriteString(), а теперь нужно чтобы на этом месте было пустое место, как это сделать?

доступ к данным файла это последовательный доступ, просто так не получится удалить данные в произвольном месте файла

 
Igor Makanu:

доступ к данным файла это последовательный доступ, просто так не получится удалить данные в произвольном месте файла

Хорошо. А как вообще можно удалить? Ведь в справке я не видел соответствующих функций, например есть для записи а для удаления нет

* кроме замены на "пустышки" - "                            "?

 
Alexandr Sokolov:

Хорошо. А как вообще можно удалить? Ведь в справке я не видел соответствующих функций, например есть для записи а для удаления нет

* кроме замены на "пустышки" - "                            "?

еще раз... есть произвольный доступ к данным, есть последовательный 

если последовательный, то вы читаете/записываете в одном направлении, применительно к файлу:

1. открыли и прочитали - файловый указатель передвинулся

2. открыли и записали  - файловый указатель передвинулся, опять записали  - файловый указатель передвинулся.....


Вы можете переместить самостоятельно файловый указатель FileSeek() и с этого места продолжить запись тем самым затирая данные

Вы можете открыть файл для чтения, прочитать сколько нужно байт в память и затем закрыть файл, открыть заново только для записи  и сбросить все прочитанное в файл, тем самым удалив то, что не нужно и... и не забудьте дописать данные которые были после удаленного фрагмента 


ну вот так в принципе выглядит работа с файлом, поищите статью на форуме, я думаю должна быть по работе с файлами

 
Igor Makanu:

еще раз... есть произвольный доступ к данным, есть последовательный 

если последовательный, то вы читаете/записываете в одном направлении, применительно к файлу:

1. открыли и прочитали - файловый указатель передвинулся

2. открыли и записали  - файловый указатель передвинулся, опять записали  - файловый указатель передвинулся.....


Вы можете переместить самостоятельно файловый указатель FileSeek() и с этого места продолжить запись тем самым затирая данные

Вы можете открыть файл для чтения, прочитать сколько нужно байт в память и затем закрыть файл, открыть заново только для записи  и сбросить все прочитанное в файл, тем самым удалив то, что не нужно и... и не забудьте дописать данные которые были после удаленного фрагмента 


ну вот так в принципе выглядит работа с фалом, поищите статью на форуме, я думаю должна быть по работе с файлами

Спасибо. Буду разбираться

 

Ребята, есть мысли?

 
Привет. У меня возникла проблема при получении данных из индикатора iMFI.
double ifmi_indicator = iMFI(symb_pair_with_suffix, StringToInteger(duration), 10, 1);

Данный код вызывается по таймеру, из другого графика. Один на котором стоит советник, остальные данные получаю из кода. Данные из ifmi_indicator не совпадают с теми, что получаю в терминале при просмотре индикатора на этом символе ни на текущем баре, на на предыдущем. В чем проблема? Иногда данные приходят вообще странные, которых вообще нет при просмотре графика вручную. Например я смотрю - значение 20, из кода 70. В чем может быть проблема?

Язык mql4.
 
КАк в индикатор добавить минуты, сейчас только часы. 
Файлы:
 

Добрый день!

Заинтересовался индикатором Gator. Из справочника понял, что можно извлечь значения верхней и нижней линий гистограммы. Но меня больше интересует цвет линии, а её значение уже во вторую очередь, только если верхняя и нижняя линии разного цвета. Как мне извлечь цвет, чтобы потом сравнить значения зеленой и красной линии?

 
novichok2018:

Добрый день!

Заинтересовался индикатором Gator. Из справочника понял, что можно извлечь значения верхней и нижней линий гистограммы. Но меня больше интересует цвет линии, а её значение уже во вторую очередь, только если верхняя и нижняя линии разного цвета. Как мне извлечь цвет, чтобы потом сравнить значения зеленой и красной линии?

Если текущее значение выше предыдущего, значит зелёная и буфер другой, в mql4, а если наоборот, то ... наоборот.))))