Хранилище MQL5 Storage работает только с папкой MQL5 (или MQL4) торговой плтатформы, а также со специальным каталогом Shared Projects, предназначенным для групповых проектов.
Все операции с хранилищем MQL5 Storage осуществляются через контекстное меню окна "Навигатор" и через контекстное меню редактора исходного кода:
Команды меню позволяют выполнить следующие действия в MQL5 Storage:
Хранилище содержит информацию в виде дерева файлов. Подключаясь к хранилищу, пользователь MetaEditor читает и записывает эти файлы. Пользователь всегда работает только с локальной копией данных и по мере необходимости отсылает свои изменения в хранилище.
Чтобы начать работу с данными через хранилище MQL5 Storage, свяжите локальную папку данных и аналогичную ей папку в хранилище:
Связанный с хранилищем каталог/файл называется "версионным", т.е. он имеет определенную версию — номер ревизии. Каждому обновлению данных в хранилище соответствует определенный номер ревизии. Каждый раз, когда вы обновляете каталог/файл в хранилище, для него, а также для всего корневого каталога увеличивается номер ревизии. По сути, ревизия представляет собой состояние каталога/файла в определенный момент времени.
Корневыми каталогами считаются папка MQL5/MQL4, а также папки каждого группового проекта. Для каждого корневого каталога ревизии ведутся отдельно — в том числе для них используется своя нумерация. Если вы отправляете изменения в каталоге MQL5, то его номер ревизии поднимется, в проектах при этом номер ревизии не поднимется (кроме случаев, когда в проектах используются общие файлы из каталога MQL5).
Общая схема работы:
Каждая транзакция изменений фиксируется в журнале хранилища, и в последующем пользователь может просмотреть, когда, кем и какие файлы были изменены. Также пользователь может обновлять до выбранной ревизии локальную копию данных и откатываться к любой ревизии.
Чтобы добавить папку или файл в хранилище, выберите его и выполните команду " Добавить в хранилище". После этого появится диалоговое окно, где показан список папок и файлов, которые будут добавлены.
|
Отметьте галочками нужные файлы и папки, а затем нажмите "ОК".
|
Добавленные файлы и папки помечаются значком :
Следующим шагом данные изменения должны быть отправлены в хранилище. Выберите добавленную папку/файл и выполните команду " Отправить изменения в хранилище".
В данном диалоге также можно выбрать, изменения каких файлов и папок следует отправить в хранилище. К транзакции изменений можно оставить комментарий. Подробные комментарии облегчают анализ изменений в будущем.
После отправки текущих изменений в хранилище соответствующие папки и файлы помечаются значком . Это означает, что локальная копия данных не отличается от той, что находилась в хранилище на момент последней отправки/получения изменений.
|
Первичное извлечение данных происходит при активации хранилища в MetaEditor. После того, как вы выполните команду " Активировать MQL5 Storage", MetaEditor поверит наличие данных в вашем хранилище.
Для дальнейшего получения обновлений из хранилища используйте команду " Получить обновления из хранилища" в контекстном меню папок и файлов в окне "Навигатор".
Если в хранилище есть папки, которых еще нет в вашей рабочей копии данных, выполните команду "Получить обновления из хранилища" на корневом элементе "MQL5" (или "MQL4") в окне "Навигатор". Все данные из хранилища будут загружены в соответствующие локальные папки. Все данные будут иметь ту же ревизию, что и данные в хранилище.
Если локальная папка содержит данные, то при извлечении они будут дополнены данными, полученными из хранилища. Новые файлы будут добавлены. Для файлов с совпадающими именами и путями будет проведена попытка слияния данных. |
MQL5 Storage сохраняет всю историю изменений, отправленных пользователем в хранилище. Каждая транзакция изменений — это новая ревизия (состояние хранилища на определенный момент времени). При параллельной работе нескольких пользователей с данными через хранилище вам необходимо периодически получать изменения, сделанные другими пользователями. Команда " Обновить до ревизии" позволяет поэтапно обновлять локальную копию данных из хранилища.
Например, с момента последнего обновления локальной копии данных, в хранилище появились три новые ревизии. Вы можете сначала обновиться на первую, затем на вторую и на третью ревизии.
Для обновления на определенную ревизию, выберите файл или папку и вызовите журнал хранилища командой контекстного меню " Показать журнал изменений".
В открывшемся окне выберите необходимую ревизию и выполните команду " Обновить до ревизии".
|
MQL5 Storage сохраняет всю историю изменений, отправленных пользователем в хранилище. Каждая транзакция изменений — это новая ревизия (состояние хранилища на определенный момент времени). В любой момент пользователь может вернуться к одному из предыдущих состояний файла или папки.
Для отката к определенной ревизии, выберите файл или папку и вызовите журнал хранилища командой контекстного меню " Показать журнал изменений".
В открывшемся окна выберите необходимую ревизию и нажмите " Откатиться к ревизии".
После отката к ревизии выбранный файл/папка будет полностью возвращена к указанному состоянию. Откат возможен как на более ранние, так и на более поздние ревизии. |
Как уже указывалось ранее, вся работа с данными осуществляется в их локальной копии. Для переноса локальных изменений в хранилище используется команда " Отправить изменения в хранилище". Файлы и папки, в которых сделаны изменения относительно копии, хранящейся в хранилище, помечаются иконкой .
Перед фиксацией изменений вы можете их просмотреть, выбрав файл и выполнив команду " Сравнить ревизии" в контекстном меню. |
В диалоге фиксации изменений можно указать, изменения каких файлов и папок следует отправить в хранилище. К транзакции изменений можно оставить комментарий. Подробные комментарии облегчают анализ изменений в будущем.
|
Если требуется удалить файл или папку, выполните команду " Удалить из хранилища". При этом папка/файл будет удален из локальной копии данных. Чтобы произвести удаление из хранилища, отправьте эти изменения командой " Отправить изменения в хранилище".
|
Если требуется отменить изменения, сделанные в текущей локальной копии данных, выполните команду " Отменить изменения из этой ревизии" для необходимой папки или файла. После этого файл/папка будет возвращена к состоянию, которое было сохранено локально при предыдущей синхронизации данных с хранилищем.
При откате изменений восстанавливается исходная локальная ревизия, а не текущая ревизия в хранилище. |
Каждая фиксация изменений в хранилище командой " Отправить изменения в хранилище" записывается в журнал. Это позволяет легко анализировать историю изменений того или иного проекта. Чтобы просмотреть журнал изменений файла/папки, выполните для нее команду " Показать журнал изменений".
В верхней части отображается список изменений:
При помощи команды контекстного меню " Обновить до ревизии" вы можете обновить локальную копию данных до выбранной ревизии.
В нижней части окна отображается список файлов, измененных в выбранной ревизии. При помощи иконок отображается вид изменений:
При помощи контекстного меню списка измененных файлов можно осуществлять анализ изменений: