Скачать MetaTrader 5

Мягкие и жёсткие ссылки в терминале

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Справочник MQL5 доступен на 8 языках. Изучай MQL5 на удобном тебе языке!
Жорж
40
Жорж 2012.06.12 09:59 

Решил навести порядок на компе в работе нескольких терминалов. Создал "хранилище", сбросил туда все папки с историей от разных терминалов, а терминалам подсунул символьную ссылку папки history. Всё работает замечательно - я доволен. Несколько сложнее оказалось со ссылками на файлы. В папку expert сначала забросил жёсткие ссылки на *.mq4 файлы экспертов из "хранилища". Вроде работает, НО как только я начинаю редактировать файл советника, связь двух ссылок обрывается. Пробовал жёсткую ссылку заменить на символьную (мягкую) (где "хранилище" - источник), тот же результат - после редактирования файла, у меня в папке expert терминала образуется автономный файл, никак не связанный со своим "двойником" из "хранилища" (подобное процессу помещения ссылки в архивный файл).

Вопрос: это специфика работы MetaEditor со ссылками или я не разобрался с принципами работы со ссылками?

Кто-нибудь поделится опытом?

P.S. Windows 7. MT 4.416 (и 4.432).

Vadim Zhunko
5226
Vadim Zhunko 2012.06.12 10:25  
У меня всё работает правильно. Схему нарисуйте.
Жорж
40
Жорж 2012.06.12 10:36  

Zhunko:

У меня всё работает правильно. Схему нарисуйте.

Что Вы подразумеваете под схемой? В "хранилище" располагается исходный файл *.mq4, на него я создаю или мягкую или жёсткую ссылку и размещаю её в папку expert терминала. Затем MetaEditor редактирую файл по ссылке, а затем его компилирую. В итоге у меня в папке expert терминала вместо ссылки создаётся файл. Придётся (в поисках причины такого положения вещей) допустить, что определить разницу между ссылкой и файлом я умею (кроме соответствующего ярлыка (иконки), в свойствах файла есть или нет закладки "Свойства ссылки", а у символьной ссылки и размер равен 0).
Alexey Subbotin
4998
Alexey Subbotin 2012.06.12 11:30  
Сделайте единую папку experts и дайте терминалам ссылку на нее. У меня так работает.
Виктор
Модератор
6559
Виктор 2012.06.12 11:35  
alsu:
Сделайте единую папку experts и дайте терминалам ссылку на нее. У меня так работает.
Да. И можно аналогично сделать с папками profiles, templates, sounds.
Легко делается FAR-ом через Alt-F6.
Только прежде все эти папки в локальном терминале надо переименовать, например, в _experts .
Жорж
40
Жорж 2012.06.12 11:45  
alsu:
Сделайте единую папку experts и дайте терминалам ссылку на нее. У меня так работает.

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

А поведение терминала при возникновении конфликта предсказуемо - он тихо "уходит"... (выгружается).

Vadim Zhunko
5226
Vadim Zhunko 2012.06.12 11:46  
silatyt:
Что Вы подразумеваете под схемой? В "хранилище" располагается исходный файл *.mq4, на него я создаю или мягкую или жёсткую ссылку и размещаю её в папку expert терминала. Затем MetaEditor редактирую файл по ссылке, а затем его компилирую. В итоге у меня в папке expert терминала вместо ссылки создаётся файл. Придётся (в поисках причины такого положения вещей) допустить, что определить разницу между ссылкой и файлом я умею (кроме соответствующего ярлыка (иконки), в свойствах файла есть или нет закладки "Свойства ссылки", а у символьной ссылки и размер равен 0).

Схему нарисуйте. Не понятно. У меня одна папка expert. Всё в ней создаётся правильно.

На что у Вас жёсткие ссылки и на что мягкие. Нарисуйте.

=============

Кажется начинаю понимать :-))

У Вас ссылка на MQ4-файл, а Вы ждёте, что компилятор создаст ссылку на EX4-файл, а не сам файл? Так он не умеет это делать. Он файлы создаёт. Ссылку можно создать только на существующий файл.

Жорж
40
Жорж 2012.06.12 11:51  
granit77: Да. И можно аналогично сделать с папками profiles, templates, sounds.

Всё так и сделал. Со ссылками на папки нет проблем - всё работает! Ссылки на файлы работают не так как хотелось бы... :(

granit77: Легко делается FAR-ом через Alt-F6.

Это один из возможных вариантов создания ссылок. Фар не люблю. Я перепробовал разные варианты: NTFS Links (плагин для TC), Property Editor, Link Shell Extension, командную строку. От способа создания ссылки результат (мой) не зависит.

Жорж
40
Жорж 2012.06.12 11:58  
Zhunko:

Схему нарисуйте. Не понятно. У меня одна папка expert. Всё в ней создаётся правильно.

На что у Вас жёсткие ссылки и на что мягкие. Нарисуйте.

Как я Вас понял, Вы заменяете всю папку experts ссылкой на общий для всех терминалов ресурс. Я уже писал, что такой вариант содержит возможные конфликты доступа одновременно работающих терминалов к лог-файлу. Поэтому я не пошёл по этому пути. Я для каждого файла советника создаю ссылку из общего ресурса. Не важно то ли мягкую, то ли жёсткую - это путь (вариант) мох проб, чтобы решить, описанную мной "загвоздку". А вот папки include, scripts, libraries, indicators я заменил на ссылки.

Вижу никто такого опыта не имеет... :(

А проделать эксперимент несложно: создайте на любой файл советника жёсткую ссылку и перенесите её за пределы папки, в которой лежит источник. Затем отредактируйте этот файл и перекомпилируйте его. А теперь посмотрите на обе жёстких ссылки на этот файл - поделитесь наблюдениями.

Виктор
Модератор
6559
Виктор 2012.06.12 12:12  
Вот когда увидите конфликт, тогда и мы будем выкручиваться. Что-то мне подсказывает, что эти возможные конфликты разрешаются на уровне ОС.
Андрей
1890
Андрей 2012.06.12 12:19  
Насчет файла логов- я их делал для текущего дня Read only, и все работало.
Так что возможно прокатит.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий