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

 
Tretyakov Rostyslav #:
У Вас нет инициализированного массива во включаемом файле.

Вот этого мне понять ну никак не удается.

В учебнике написано что во включаемый файл можно поместить любой фрагмент кода . Массив - это фрагмент кода. В учебнике написано что программа обращается к включаемому файлу и читает информацию из него. Читает как я теперь понял при компиляции или в другой момент. После того как код массива  из включаемого файла переместился в Советник этот же код массива не стирается из включаемого файла, а остается в нем. И я постоянно подключаю включаемый файл с кодом одного и того же инициализированного массива к разным советника и они делают все что нужно с этим включаемым файлом. 

 
ANDREY #:

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

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

 
Valeriy Yastremskiy #:
Блин, ну чел не понимает азов

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

 
ANDREY #:

Вот этого мне понять ну никак не удается.

В учебнике написано что во включаемый файл можно поместить любой фрагмент кода . Массив - это фрагмент кода. В учебнике написано что программа обращается к включаемому файлу и читает информацию из него. Читает как я теперь понял при компиляции или в другой момент. После того как код массива  из включаемого файла переместился в Советник этот же код массива не стирается из включаемого файла, а остается в нем. И я постоянно подключаю включаемый файл с кодом одного и того же инициализированного массива к разным советника и они делают все что нужно с этим включаемым файлом. 

Нет.


 
ANDREY #:

Вот этого мне понять ну никак не удается.

В учебнике написано что во включаемый файл можно поместить любой фрагмент кода . Массив - это фрагмент кода. В учебнике написано что программа обращается к включаемому файлу и читает информацию из него. Читает как я теперь понял при компиляции или в другой момент. После того как код массива  из включаемого файла переместился в Советник этот же код массива не стирается из включаемого файла, а остается в нем. И я постоянно подключаю включаемый файл с кодом одного и того же инициализированного массива к разным советника и они делают все что нужно с этим включаемым файлом. 

Что за учебник?

К файлу обращается не программа (советник), а только компилятор при компиляции (сборке) этого советника.

Если вы поменяли данные в этом файле, то, при компиляции (и только при компиляции!) другого советника (или при перекомпиляции того же), в него попадут уже изменённые данные.

На откомпилированный ранее код это никак не влияет, также, как и работа кода не влияет на файл, если не принять специальных мер.

 
ANDREY #:

Вот этого мне понять ну никак не удается.

В учебнике написано что во включаемый файл можно поместить любой фрагмент кода . Массив - это фрагмент кода. В учебнике написано что программа обращается к включаемому файлу и читает информацию из него. Читает как я теперь понял при компиляции или в другой момент. После того как код массива  из включаемого файла переместился в Советник этот же код массива не стирается из включаемого файла, а остается в нем. И я постоянно подключаю включаемый файл с кодом одного и того же инициализированного массива к разным советника и они делают все что нужно с этим включаемым файлом. 

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

Учебник такой был, компьютер для чайников)))

 
JRandomTrader #:

Что за учебник?

На откомпилированный ранее код это никак не влияет, также, как и работа кода не влияет на файл, если не принять специальных мер.

Про меры это здесь лишнее)))

Хотя повеселило)))

 
Valeriy Yastremskiy #:
Программы кодами не работают

Очень спорное утверждение )) Даже если мы заменим "кодами" на "исходными текстами" - ведь существуют и интерпретаторы ))

Говорю как человек, которому доводилось и писать в машинных кодах, и дизассемблировать, и взламывать программы ))

 
JRandomTrader #:

Очень спорное утверждение )) Даже если мы заменим "кодами" на "исходными текстами" - ведь существуют и интерпретаторы ))

Говорю как человек, которому доводилось и писать в машинных кодах, и дизассемблировать, и взламывать программы ))

Для Андрея так лучше будет.

Конечно бейсик интерпертатор и код работает.

А ассемблер и низкоуровневые языки машинные конечно кодом работают. Можно сказать что и экзешник это код, и его тоже можно править)))

Но как то лучше учитывать уровень понимания собеседника)))

 

Важные моменты который, как мне кажется,  я понял благодаря нашей беседе и которые возможно помогут понять мне какие то другие детали заключается вот в чем...
1.Программа существует в 2 видах, и в  2 соответствующих этим видам  файлах .

            - Программа  в которой данные и алгоритм написаны символами английского алфавита и знаками пунктуации и арифметическими знаками, числами. Это прjграмма с                        расширением mq( mql4, mqh)

            - Программа в которой данные и алгоритм написаны комбинацией 0 и 1 . Это программа с расширением exe. Именно с этой программой работает процессор

2.Программа mq  превращается в программу exe  при компиляции.

3.Программа ехе при исполнении , не теряет связь с программой mq4  из которой она была скомпилирована. Как я понял , если в процессе работы Советника в коде Советника  mq4 происходят какие то изменения(обновилась цена), то происходит повторная компиляция кода  mq4 после чего в файл ехе этого Советника  попадает уже немного другая комбинация 0 и 1. И этот процесс идет постоянно .... постоянно с каждым тиком меняются данные в Советнике  mq4  и вслед за этим постоянно меняются комбинации 1 и 0 в этом же Советнике но в файле ехе.
4.Код который написан в файле mqh компилируется вместе Советником в котором есть ссылка на этот файл  mqh. Но после компиляции файла  mqh. обратной связи у него с скомпилированным файлом Советника нет, как у Советника mq4 с Советником ехе. Нет наверное потому что все изменения кода в процессе исполнения Советника ехе происходят в коде который лежит в файле mql4 , но  никаких изменений в процессе исполнения кода  mql4  не происходит в файле mqh,а соответственно и кода который в нем  как бы лежит .

4.В файле  mqh код не лежит точно так же как он лежит в файле  mql4. Хотя внешне разница не заметна. В файле  mql4  как мне кажется,  лежит другой код, который позволяет выполнять этому файлу свою функцию, а именно подключать якобы лежащий в нем код к Советнику и  компилировать этот код. А якобы лежащий в mqh  код на самом деле лежит в оперативной памяти. Но не в файле Советника  mql4 в котором есть ссылка на этот файл   mqh, а где то в другом месте.

Возможно я что то не правильно понял, или недопонял. Буду признателен всем кто поправит меня.

И еще я не считаю это азами. Как мне кажется, азы изложены в учебнике Ковалева . А в нем эта тема не раскрывается с необходимой подробностью.

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