Новая статья: Структура данных в MetaTrader 4 build 600 и выше

 

Опубликована статья Структура данных в MetaTrader 4 build 600 и выше:

Начиная с 600 билда MetaTarder 4, изменилась структура, а также место хранения файлов клиентского терминала. Теперь MQL4-программы разнесены по отдельным каталогам в зависимости от типа программы (эксперты, индикаторы, скрипты). Данные терминала в большинстве случаев теперь хранятся в специальном каталоге данных отдельно от места установки терминала. В данной статье мы подробно опишем, каким образом осуществляется перенос данных, а также причины введения такой системы хранения.

Структура данных в MetaTrader 4 build 600 и выше

Автор: MetaQuotes
 
Так каковы же всё таки причины введения такой системы хранения данных?
 
_SERG_:
Так каковы же всё таки причины введения такой системы хранения данных?

Бан на месяц за то что "не читал, но спрашиваю"

Почему была введена новая система хранения данных

Система Microsoft Windows XP, выпущенная 13 лет назад, разрешает программам записывать собственные данные по месту установки, даже если она была произведена в системную папку Program Files. Для записи в любую папку пользователю достаточно иметь администраторские права на компьютере.

При работе в 64-битных системах для 32 и 64-битных приложений предусмотрены отдельные каталоги установки: Program Files и Program Files (x86). Особенности работы, описанные в статье, относятся к обоим каталогам.

Начиная с Windows Vista, компания Microsoft ввела ограничение на запись в каталог Program Files. Так, при включенной системе User Account Control (UAC) программам запрещается хранить собственные данные в каталоге Program Files. Все данные должны сохраняться в отдельном каталоге пользователя. Такое ограничение было введено с целью защиты от вредоносных программ, а также для того чтобы работа с программой под одной учетной записью никак не могла изменить или испортить данные этой же программы, необходимые для другой учетной записи. В дальнейшем требования безопасности в операционных системах Microsoft только усиливались, в частности, начиная с Windows 8, система UAC не отключается никогда, даже если в ее настройках установлена опция "Никогда не уведомлять".

Для обеспечения совместимости старых программ при использовании UAC Microsoft ввела систему виртуализации. Если программа пытается сохранить свои данные в каталог Program Files, то фактически (физически) эти данные сохраняются в отдельном каталоге вида C:\Users\<имя-пользователя>\AppData\Local\VirtualStore\Program Files. При этом проводник Windows показывает файлы так, как будто они сохраняются в каталоге установки. Компания Microsoft заявляет, что данный режим предусмотрен только для совместимости и в последующем может быть убран.

Для соответствия рекомендациям Microsoft, начиная с 600 билда, в клиентском терминале MetaTrader 4 изменена структура хранения данных. Терминал теперь также будет сохранять свои данные в каталоге пользователя.

 
MetaQuotes:

Бан на месяц за то что "не читал, но спрашиваю"



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

разные пути для открытия и сохранения


 
Mr_Goods:

разные пути для открытия и сохранения


Зачем плодите вопрос, если вам на него уже ответили?
 
artmedia70:
Зачем плодите вопрос, если вам на него уже ответили?
чукча писатель. :)
 
"Так, при включенной системе User Account Control (UAC) программам запрещается хранить собственные данные в каталоге Program Files."
Собственные данные это ведь только логи терминала, которые никого не интересуют обычно? Тогда непонятна логика про перетусовку остальных папок.
 

Кто понимает? Что это означает в журнале тестера в режиме оптимизации? Выходит с красными треугольниками:

15:36:35 Tester: cache file "C:\Program Files\Nueva carpeta\tester\caches\MathEA.EURUSD1.2" found and can be used for further optimization

15:36:35 TestGenerator: actual tick file "C:\Program Files\Nueva carpeta\tester\history\EURUSD1_2.fxt" found

Спасибо за совет или мнение!

 
borilunad:

Кто понимает? Что это означает в журнале тестера в режиме оптимизации? Выходит с красными треугольниками:

15:36:35 Tester: cache file "C:\Program Files\Nueva carpeta\tester\caches\MathEA.EURUSD1.2" found and can be used for further optimization

15:36:35 TestGenerator: actual tick file "C:\Program Files\Nueva carpeta\tester\history\EURUSD1_2.fxt" found

Спасибо за совет или мнение!


Значит тик-файл для теста был уже сгенерирован раньше и нет необходимости его заново создавать, типа "оптимизация быстродействия" тестера. Непонятно зачем с красными треугольниками только.
 
evillive:

Значит тик-файл для теста был уже сгенерирован раньше и нет необходимости его заново создавать, типа "оптимизация быстродействия" тестера. Непонятно зачем с красными треугольниками только.


Спасибо за ответ! Тут дело в том, что тестер не реагирует на изменение переметров, а выдаёт ранее записанное, зато быстро, но не выполняет оптимизацию. И для того, чтобы он её сделал добросовестно, я должен закрыть терминал и снова открыть, вот тогда он всё делает по-честному, оптимизирует по заданным параметрам и шагам. Вот что теперь делать, ведь разработчики подняли скорость, делая прогоны по старым записанным параметрам. Как им об этом сказать? Обидятся ведь, ещё забанят...

Вот опять:

2014.02.24 17:52:48.735 TestGenerator: actual tick file "C:\Program Files\Nueva carpeta\tester\history\EURUSD1_2.fxt" found

2014.02.24 17:52:48.733 Tester: cache file "C:\Program Files\Nueva carpeta\tester\caches\MathEA.EURUSD1.2" found and can be used for further optimization