Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2300
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У Вас нет инициализированного массива во включаемом файле.
Вот этого мне понять ну никак не удается.
В учебнике написано что во включаемый файл можно поместить любой фрагмент кода . Массив - это фрагмент кода. В учебнике написано что программа обращается к включаемому файлу и читает информацию из него. Читает как я теперь понял при компиляции или в другой момент. После того как код массива из включаемого файла переместился в Советник этот же код массива не стирается из включаемого файла, а остается в нем. И я постоянно подключаю включаемый файл с кодом одного и того же инициализированного массива к разным советника и они делают все что нужно с этим включаемым файлом.
То есть на скрине массив не лежит в файле mqh? Но mqh называется включаемым ФАЙЛОМ . Именно ФАЙЛОМ. Если не смотря на название это не файл, догадаться об этом архисложно.
Это файл, но массив в нём не лежит. В нём лежит, грубо, инструкция, указание, что программе надо распределить память для этого массива и положить в него эти данные.
Блин, ну чел не понимает азов
Все .... я заканчиваю .. Вы правы.... Иначе сойду с ума не я а мои собеседники..... Буду повторять и изучать азы и перечитывать содержание всей беседы...
Но если кто то что то еще мне будет объяснять, то я не удержусь от новых уточнений и от вопросов
Всем спасибо за ценную информацию и за терпение.....
Вот этого мне понять ну никак не удается.
В учебнике написано что во включаемый файл можно поместить любой фрагмент кода . Массив - это фрагмент кода. В учебнике написано что программа обращается к включаемому файлу и читает информацию из него. Читает как я теперь понял при компиляции или в другой момент. После того как код массива из включаемого файла переместился в Советник этот же код массива не стирается из включаемого файла, а остается в нем. И я постоянно подключаю включаемый файл с кодом одного и того же инициализированного массива к разным советника и они делают все что нужно с этим включаемым файлом.
Нет.
Вот этого мне понять ну никак не удается.
В учебнике написано что во включаемый файл можно поместить любой фрагмент кода . Массив - это фрагмент кода. В учебнике написано что программа обращается к включаемому файлу и читает информацию из него. Читает как я теперь понял при компиляции или в другой момент. После того как код массива из включаемого файла переместился в Советник этот же код массива не стирается из включаемого файла, а остается в нем. И я постоянно подключаю включаемый файл с кодом одного и того же инициализированного массива к разным советника и они делают все что нужно с этим включаемым файлом.
Что за учебник?
К файлу обращается не программа (советник), а только компилятор при компиляции (сборке) этого советника.
Если вы поменяли данные в этом файле, то, при компиляции (и только при компиляции!) другого советника (или при перекомпиляции того же), в него попадут уже изменённые данные.
На откомпилированный ранее код это никак не влияет, также, как и работа кода не влияет на файл, если не принять специальных мер.
Вот этого мне понять ну никак не удается.
В учебнике написано что во включаемый файл можно поместить любой фрагмент кода . Массив - это фрагмент кода. В учебнике написано что программа обращается к включаемому файлу и читает информацию из него. Читает как я теперь понял при компиляции или в другой момент. После того как код массива из включаемого файла переместился в Советник этот же код массива не стирается из включаемого файла, а остается в нем. И я постоянно подключаю включаемый файл с кодом одного и того же инициализированного массива к разным советника и они делают все что нужно с этим включаемым файлом.
В коде нечего нет и быть не может. Программы кодами не работают, из кодов получаются исполняемые файлы, которые понимает компьютер, но не может прочитать человек))) Они работают в операционной системе, винда или линух или в винде работает какая то оболочка, большая программа, у нас это терминал, и в терминале уже работают наши исполняемые файлы))))
Учебник такой был, компьютер для чайников)))
Что за учебник?
На откомпилированный ранее код это никак не влияет, также, как и работа кода не влияет на файл, если не принять специальных мер.
Про меры это здесь лишнее)))
Хотя повеселило)))
Программы кодами не работают
Очень спорное утверждение )) Даже если мы заменим "кодами" на "исходными текстами" - ведь существуют и интерпретаторы ))
Говорю как человек, которому доводилось и писать в машинных кодах, и дизассемблировать, и взламывать программы ))
Очень спорное утверждение )) Даже если мы заменим "кодами" на "исходными текстами" - ведь существуют и интерпретаторы ))
Говорю как человек, которому доводилось и писать в машинных кодах, и дизассемблировать, и взламывать программы ))
Для Андрея так лучше будет.
Конечно бейсик интерпертатор и код работает.
А ассемблер и низкоуровневые языки машинные конечно кодом работают. Можно сказать что и экзешник это код, и его тоже можно править)))
Но как то лучше учитывать уровень понимания собеседника)))
Важные моменты который, как мне кажется, я понял благодаря нашей беседе и которые возможно помогут понять мне какие то другие детали заключается вот в чем...
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, а где то в другом месте.
Возможно я что то не правильно понял, или недопонял. Буду признателен всем кто поправит меня.
И еще я не считаю это азами. Как мне кажется, азы изложены в учебнике Ковалева . А в нем эта тема не раскрывается с необходимой подробностью.