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

 
Alexey Viktorov #:
файл с массивом, не важно .csv или .bin пусть хоть .txt и файл .mqh совершенно несовместимы и имеют разное предназначение. 

А я разве пытался где то и как то их совмещать?. Если пытался , то неосознанно.... Подскажите где , как  и когда?

 
ANDREY #:

Но после компиляции инициализированный массив продолжает лежать в этом же включаемом файле. И этот включаемый файл с инициализированным массивом я могу подключить к другому Советнику. Значит связь этого включаемого файла с массивом который в нем лежит остается после компиляции Или я не так Вас понял?

Нет. У Вас не инициализированного массива во включаемом файл. И подключать к другому советнику бессмысленно.

Еще раз по пунктам:

Все что Вы пишете во включаемый файл при компиляции переносится в ex4

После компиляции советник уже не обращается к этому файлу.

Если Вы хотите из одного советника заполнить массив данными, а из другого советника эти данные считать,

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

 
JRandomTrader #:
Нет. Массив не лежит в файле.

То есть на скрине массив не лежит в файле mqh?  Но mqh называется включаемым ФАЙЛОМ . Именно ФАЙЛОМ. Если не смотря на название это не файл, догадаться об этом архисложно.

 

 
ANDREY #:

Но после компиляции инициализированный массив продолжает лежать в этом же включаемом файле. И этот включаемый файл с инициализированным массивом я могу подключить к другому Советнику. Значит связь этого включаемого файла с массивом который в нем лежит остается после компиляции Или я не так Вас понял?

В терминале кодов нет, там исполняемый файл екзешник.))) И код программы/советника не используется при работе его в терминале. Из маркета люди получают только экзешники и не имеют кодов. Вы можете после компиляции удалить тексты программ мкл, мкх. На работу исполняемого файла это не влияет. 

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

 

когда нельзя но очень хочется, то можно :-)

надо

1) сделать файл mqh доступным к записи из советника. (чтобы его перезаписывать), например символную ссылку в Files или запись вести средствами OC

2) разрешить DLL чтобы можно было запустить компилятор, или сделать службу "проверять изменился-ли файл *.mqh, и перекомпилять все зависимые *.mq5"

3) обеспечить рестарт советника (при перекомпиляции из ком.строки автоматом не перезапускается) 

самомодифицируемый советник получится :-)

тот ещё изврат, но как упражнение по программированию, вполне

 
ANDREY #:

То есть на скрине массив не лежит в файле mqh?  Но mqh называется включаемым ФАЙЛОМ . Именно ФАЙЛОМ. Если не смотря на название это не файл, догадаться об этом архисложно.

 

Вы перепутали включаемый файл с включением света - это не ON/OFF

включаемый файл - это значит что все необходимое в этом файле для работы будет ВКЛЮЧЕНО в исполняемый файл.

 
ANDREY #:

То есть на скрине массив не лежит в файле mqh?  Но mqh называется включаемым ФАЙЛОМ . Именно ФАЙЛОМ. Если не смотря на название это не файл, догадаться об этом архисложно.

 

Андрей, вот вам в прицепе три файла.

Как можно по другому назвать? Один это файл, а другой не файл???

Файлы:
 
Maxim Kuznetsov #:

когда нельзя но очень хочется, то можно :-)

надо

1) сделать файл mqh доступным к записи из советника. (чтобы его перезаписывать), например символную ссылку в Files или запись вести средствами OC

2) разрешить DLL чтобы можно было запустить компилятор, или сделать службу "проверять изменился-ли файл *.mqh, и перекомпилять все зависимые *.mq5"

3) обеспечить рестарт советника (при перекомпиляции из ком.строки автоматом не перезапускается) 

самомодифицируемый советник получится :-)

тот ещё изврат, но как упражнение по программированию, вполне

Блин, ну чел не понимает азов, а ему длл втюхивают, ваще, вести запись средствами ОС. Он не различает кода проги с экзешником, у него инициализированный массив в коде программы во включаемом файле )))

Не издевайтесь так уж совсем)))

И чем запустить компилятор использую длл или службу? и на чем написать дллку? Ай просто))))
 
Alexey Viktorov #:

Андрей, вот вам в прицепе два файла.

Как можно по другому назвать? Один это файл, а другой не файл???

Забыли исполняемый файл тогда уж.

 
Valeriy Yastremskiy #:

Забыли исполняемый файл тогда уж.

Да нет проблем, добавил. Если будут ещё пожелания, я всегда готов:)))