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

 
Если смотреть в файл не нужно, то пишите и читайте этим. Если нужно, тогда циклом каждый элемент массива в новую строку файла
Не надо переносить данные в mqh, пусть они хранятся там, где были созданы.
 
ANDREY #:


Хорошая статья

В 4ке работа с файлами по синтаксису такая же.

Основы программирования на MQL5: Файлы
Основы программирования на MQL5: Файлы
  • www.mql5.com
Статья-практикум по работе с файлами в MQL5. Читайте, выполняйте несложные задания, и к концу статьи вы обретете не только теоретические знания, но и практические навыки по работе с файлами в MQL5.
 
Aleksei Stepanenko #:
Если смотреть в файл не нужно, то пишите и читайте этим. Если нужно, тогда циклом каждый элемент массива в новую строку файла
Не надо переносить данные в mqh, пусть они хранятся там, где были созданы.

То есть в папке ФАЙЛЫ будет храниться файл сторонней программы ? Бинарный файл с расширением  BIN? А я почему то думал что в этой папке будет лежать файл из списка МАСТЕРА MQL ....


 
Valeriy Yastremskiy #:

Хорошая статья

В 4ке работа с файлами по синтаксису такая же.

Спасибо. Очень ценная информация на будущее...

 
Alekseu Fedotov #:

Попроще Андрей.

Из всех прочитанных мной, ваших постов я понял что, Вам нужно прочитать файл (эксель, обязательно с расширением .csv),

и записать его в массив STOP[ ] [ ] . 

На самом деле мне нужно, применительно к MQL4 понять и научиться как наиболее быстро и без ошибок изменить данные в файле mqh?

Например в файле mqh у меня лежит заполненный массив из 100 000 строк и 5 столбцов. Из всех этих заполненных  значений мне нужно изменить в файле mqh только 200 000 значений.

Как это сделать  самым оптимальным образом? Я теперь понял что  исполняемым Советником который обращается к этому  mqh файлу с 500 000 значений изменить 200 000 значений в этом  mqh файле нельзя. Можно изменить значения этого  mqh файла только если Советник не будет к нему обращаться в ходе своего исполнения. Но даже  при этом изменить данные в самом файле mqh , как я понял, все равно будет невозможно. Как я понял , для изменения данных в файле mqh  нужно будет в папу ФАЙЛЫ в песочнице класть другой файл с вышеуказанным массивом , значения которого изменились в Советнике .... А вот с этого места я уже начал понимать все очень смутно...   С каким расширением должен быть файл в папке ФАЙЛЫ??? Как из Советника массив с измененными значениями должен попасть в папку ФАЙЛЫ ?Как новые значения из файла в папке ФАЙЛЫ должны попасть в файл  mqh?

И я так и не понял каким образом в файл mql заносить 500 000 значений? Не вручную же... Можно конечно записать их из Советника в файл cvv, а потом вручную из  cvv скопировать в mqh. Но мне кажется есть какой то более оптимальный способ , которого я пока не знаю.

Как мне кажется , здесь мне дали информацию с ответом на мой вопрос. Но я пока сразу не въезжаю поскольку очень много деталей этого процесса   и информации с ответом на мой вопрос тоже очень много. Было бы оптимальным для меня если бы мне объяснили схематично в общих чертах. И тогда от общего к частному мне будет легче разобраться. 
Спасибо

 
ANDREY #:

На самом деле мне нужно, применительно к MQL4 понять и научиться как наиболее быстро и без ошибок изменить данные в файле mqh?

В файле .mqh вы ничего не сможете изменить с помощью кода mql4 никогда¡¡¡ Либо сторонней программой, что вам пока недоступно…

 
Alexey Viktorov #:

В файле .mqh вы ничего не сможете изменить с помощью кода mql4 никогда¡¡¡ Либо сторонней программой, что вам пока недоступно…

Спасибо. Это я понял еще в начале нашего сегодняшнего разговора .  В том числе благодаря Вам. А то что я еще не понял я изложил в посте выше

Извините ... так же был невнимателен.... То есть не смогу изменить mqh файл не только из кода советника , который исполняется, но и в принципе не смогу его изменить при помощи любого советника или любой другой программы на mql 4
Тогда скажите - а не изменить, а  первоначально заполнить значениями пустой массив который лежит  в включаемом файле mqh  ,  я смогу при помощи кода  mql4?
 
ANDREY #:

Например в файле mqh у меня лежит заполненный массив из 100 000 строк и 5 столбцов.

Перефразирую. У Вас в файле csv, который лежит в папке \MQL4\Files и создается не в ручную, а Вашим советником, хранятся данные, в виде чисел с разделителями ";" и "перенос строки". Дальше Ваш советник может в любой момент прочитать этот файл и заполнить свой массив этими данными. Далее советник изменяет данные в массиве по своему усмотрению и перезаписывает файл новыми данными. Файл продолжает храниться в папке \MQL4\Files до нового сеанса.

Mqh Вам не нужен!

 
ANDREY #:

Спасибо. Это я понял еще в начале нашего сегодняшнего разговора .  В том числе благодаря Вам. А то что я еще не понял я изложил в посте выше

Извините ... так же был невнимателен.... То есть не смогу изменить mqh файл не только из кода советника , который исполняется, но и в принципе не смогу его изменить при помощи любого советника или любой другой программы на mql 4
Тогда скажите - а не изменить, а  первоначально заполнить значениями пустой массив который лежит  в включаемом файле mqh  ,  я смогу при помощи кода  mql4?

Да, вы можете заполнить пустой (динамический) массив программно.

 
ANDREY #:

Спасибо. Это я понял еще в начале нашего сегодняшнего разговора .

Забудьте совсем о массиве расположенном в файле .mqh навсегда.

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

Даже если вы откомпилируете советник использующий этот массив, затем внесёте вручную изменения и без повторной компиляции советника запустите его (советник) вы увидите массив содержащий данные в момент компиляции.

Причина обращения: