Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Узнай, как пользоваться виджетами на MQL5.community
George Merts
3322
George Merts 2014.02.20 09:01 

Всех приветствую.

Изначально стояла задача написания переносимого кода - MQL файлы должны компилироваться и выполняться одинаково без всяких изменений и на МТ5 и на МТ4.

Всвязи с появлением новых билдов МТ4 - задача переносимости была решена. Правда, Стандартная Библиотека на МТ4 - значительно проще, чем на МТ5, но, тем не менее, после перенесения и адаптации кода СБ5 на СБ4 - основная цель (переносимость кода) - была достигнута. Огромная благодарность разработчикам.


Теперь стоит задача синхронизации изменений. Два терминала работают со своими папками MQL. Получается необходимо иметь две копии кода. Когда файл один-два - проблем нет, отладил в МТ5, перенес в МТ4, поправил, что надо, вернул в МТ5 - в итоге имеем две копии кода в разных терминалах. Но что если файлов не два, а двадцать ? И среди них есть как MQH, так и MQ5 ? Отслеживание, какие файлы изменились, а какие нет - становится проблематичным, а переносить сразу все файлы - чревато тем, что будет затерт отлаженный участок кода.

Какие возможны решения для синхронизации файлов двух в терминалах ? Что предложите, коллеги ?

Oleg
2377
Oleg 2014.02.20 10:09  
Используйте Link Shell Extension, а также обратитесь к разработчикам через Сервис Деск (на фруме mql5.com) и попросите добавить в терминал возможность использования общих папок.
Vladimir Gomonov
8235
Vladimir Gomonov 2014.02.20 11:37  
Laryx:

Какие возможны решения для синхронизации файлов двух в терминалах ? Что предложите, коллеги ?

глянь тут: https://www.mql5.com/ru/forum/147679/page82#874179
George Merts
3322
George Merts 2014.02.20 12:06  



О ! Точно, MetaDriver, зришь в корень ! Я как раз, как и ты "копал" в сторону ремпапа (Только у меня папка MyLib, и в ней куча подпапок). И у меня именно те же проблемы, что и у тебя.

Почитаю, почитаю, что народ придумал...


George Merts
3322
George Merts 2014.02.20 15:29  
chief2000:
Используйте Link Shell Extension, а также обратитесь к разработчикам через Сервис Деск (на фруме mql5.com) и попросите добавить в терминал возможность использования общих папок.


Да, на этом варианте и остановился. Создал внутри папки Include МТ5 свою папку MyLib с подпапками, а потом сделал ссылку на нее в папке Include МТ4 - и все нормально заработало. Конечно, все не так красиво, как хотел MetaDriver - я сам слежу, чтобы терминалы не открывались одновременно во избежание конфликтов, но в остальном - все очень даже хорошо.
Oleg
2377
Oleg 2014.02.20 17:21  
Laryx:

Да, на этом варианте и остановился. Создал внутри папки Include МТ5 свою папку MyLib с подпапками, а потом сделал ссылку на нее в папке Include МТ4 - и все нормально заработало. Конечно, все не так красиво, как хотел MetaDriver - я сам слежу, чтобы терминалы не открывались одновременно во избежание конфликтов, но в остальном - все очень даже хорошо.

Похоже вы не те папки залинковали. В нормальном варианте можно запускать сколько душе угодно МТ4.
В новой версии МТ4 я пока ничего не линковал, не до этого было, но проблем быть не должно, а в старой "experts", "templates" и т.д. Посмотрите сюда:

https://forum.mql4.com/ru/60693/page43#910024
George Merts
3322
George Merts 2014.02.20 17:38  
chief2000:

Похоже вы не те папки залинковали. В нормальном варианте можно запускать сколько душе угодно МТ4.

Нет, мне не нужно "запускать сколько угодно МТ4". Мне нужно, чтобы один и тот же файл, из одной и той же папке компилировался как МТ4, так и МТ5. И при изменениях файла через МТ4 - чтобы они (после закрытия МТ4, и открытия МТ5) - появлялись бы в МТ5.

Мое же замечание по поводу нежелательности одновременного запуска терминалов - это относится к проблеме, на которую указал MetaDriver - если один файл открыть в двух терминалах, а потом в одном его изменить - второй этого не заметит. Потом можно открыть его в другом, изменить в другом месте - и попробовать сохранить в обоих... Тут явно недалеко до конфликта - поэтому я просто четко слежу за тем, чтобы одновременно был открыт только один терминал.

TarasBY
1744
TarasBY 2014.02.20 21:07  
Laryx:

Нет, мне не нужно "запускать сколько угодно МТ4". Мне нужно, чтобы один и тот же файл, из одной и той же папке компилировался как МТ4, так и МТ5. И при изменениях файла через МТ4 - чтобы они (после закрытия МТ4, и открытия МТ5) - появлялись бы в МТ5.

Мое же замечание по поводу нежелательности одновременного запуска терминалов - это относится к проблеме, на которую указал MetaDriver - если один файл открыть в двух терминалах, а потом в одном его изменить - второй этого не заметит. Потом можно открыть его в другом, изменить в другом месте - и попробовать сохранить в обоих... Тут явно недалеко до конфликта - поэтому я просто четко слежу за тем, чтобы одновременно был открыт только один терминал.

А что мешает (во избежание конфликта 2-ух редакторов) сделать так:

Структура файловой системы для правки кода и работы параллельно нескольких терминалов.

Слева песочница для работы с кодом (папка MQL4). Содержимое песочницы в виде исполняемых файлов .ex4, если надо и .ex5 (каждый файл) я линкую в другую такую же (по структуре папок) общую папку, а вот содержимое второй песочницы раздаю по папкам во все свои терминалы (на картинке справа). Все терминалы получают одни и те же файлы, и при этом не имеют возможности их редактировать.
George Merts
3322
George Merts 2014.02.21 05:26  

Можно и так.

А как у вас с пошаговой отладкой ?

TarasBY
1744
TarasBY 2014.02.21 08:34  
Laryx:

Можно и так.

А как у вас с пошаговой отладкой ?

Никак. Было не до того.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий