Обсуждение статьи "Копирование торговли из MetaTrader 5 в MetaTrader 4" - страница 13

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сделал простенький копировщик. Задаем откуда, куда и интервал копирования.
Поддерживаю идею, может кто напишет, а так код отличный спасибо автору всё супер! Осталось только трейдера хорошего найти и попросить инвест ;)
Надо бы добавить.
1. Соразмерность лота - с 5-ти знаковых на 4-х знаковые - лот двигается тоже на 1 знак.
А вообще лучше тянуть не лот, а свободную маржу и лот и dights, а на приемнике пересчитывать лот в соответствие с имеющейся свободной маржой и знаками котировки после запятой.
Так мани-менеджмент сохранится - без него прога смысл теряет.
2. Префиксы-суффиксы к символам - иной раз ДЦ торговый символ называет не EURUSD, а EURUSD_бяка (наверно лучше сделать соответствие "с какого в какой" символ дублировать отдельным настроечным файлом)
3. Неплохо бы реализовать копирование файла в несколько мт4
Например приемом мт4 файла из папки мт5 с помощью:
Так можно выходить за границы файловой песочницы mt4.
В mql5, к сожалению, эта и подобные MSDN фишки не работают.
А вообще погоняю, если не будет косяков - то и не буду пока свою писать. Спасибки.
Сделал простенький копировщик. Задаем откуда, куда и интервал копирования.
Старт копирования кнопкой "Сохранить/старт". Во время работы она будет подмаргивать )))
В Translator positions.MQ5 можно изменить строку int han=FileOpen(subfolder+"\\experts\\files\\"+folder+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,","); на int han=FileOpen(folder+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,","); , т.е. файл будет писаться в папку \\Program Files\MetaTrader 5\MQL5\Files.
Можно батником. И по сети будет и внутри компа.
Кстати для мега синхронизации файлов рекомендую Майкософтовский SyncToy 2.1 http://www.microsoft.com/en-us/download/details.aspx?id=15155
Я думаю, что проблема связана с тем, где Metatrader хранит данные. В последних версиях Windows он не использует подпапки папки установки.
На сервере 2008 (в моем случае) MT5 использует:
C:\Users\[имя пользователя]\AppData\Roaming\MetaQuotes\Terminal\[длинный шестнадцатеричный номер]\MQL5\etc...
Каждая установка терминала использует свою собственную папку в этом месте с уникальным [длинным шестнадцатеричным номером]. Я попробовал установить MT4 в вышеуказанный путь к папке, но он также читает и пишет из своей собственной уникальной папки данных, так что это тоже не работает. В любом случае, выполнение программ из этого места, вероятно, не очень хорошая идея.
Я подозреваю, что эта проблема существует и в Windows 8.
На данный момент у меня нет идей, но надеюсь, что эта информация будет полезной.
Расположение файлов данных MT4 на Windows Server 2008:
C:\Users\[имя пользователя]\AppData\Local\VirtualStore\Program Files\[название папки программы MT4].
Я предполагаю, что ОС перенаправляет операции с файлами.
4103 - ошибка открытия файла, означает, что MT5 записывает сделки в какой-то файл, а MT4 не может его "найти".
Это происходит потому, что MT5 функционирует иначе, чем MT4. В MT5 папка, в которую мы устанавливаем MT5, отличается от папки, из которой он запускается. Например, я установил MT5 в C:\Accounts\MT5, а MT4 в C:\Accounts\MT5\MQL\Files\MetaTrader 4.
MT5 создал папку C:\Users\[имя пользователя]\AppData\Roaming\MetaQuotes\Terminal\[длинное шестнадцатеричное число]\MQL5\etc... и фактически запускается отсюда. Таким образом, MT5 записывает сделки где-то в этой папке.
Согласно оригинальной статье, MT4 должен быть "внутри" папки MT5. Поэтому решение заключается в том, чтобы сделать папку установки MT5 "ТАКОЙ ЖЕ", как и папка запуска. И самый простой способ заключается в следующем:
1. удалить все экземпляры MT5
2. Удалить папку 'Metaquotes' из C:\Users\[имя пользователя]\AppData\Roaming\
Теперь мы сделаем папку install такой же, как и папка run:
3. Переустановите MT5. Она не должна находиться в папке Program files, сделайте ее, например, C:\Accounts\MT5. Во время установки снимите флажок "запускать после завершения" (критический шаг).
4. Перед первым запуском MT5 щелкните правой кнопкой мыши на ярлыке MT5 на рабочем столе, выберите свойства, добавьте "/portable" в путь, без кавычек. Таким образом, это будет C:\Accounts\MT5\terminal.exe /portable. (Обратите внимание, что после terminal.exe стоит пробел, передняя косая черта, portable без заглавной буквы). Нажмите OK.
Теперь мы установим MT4, скопируем советники и запустим терминалы
5. Установите MT4 в папку C:\Accounts\MT5\MQL\Files\MetaTrader 4. (Обратите внимание, что название папки MetaTrader 4, или как там ее, должно совпадать с названием в советниках)
6. Скопируйте советники Translator и Copyist в соответствующие папки.
7. Запустите ведущий MT5 и ведомый MT4.
8. Наслаждайтесь!!!
Совет: Не переходите к следующему шагу, если что-то сделано неправильно.
Извините за использование "нетехнического" языка, это максимум того, что вы можете ожидать от доктора!
4103 - ошибка открытия файла, означает, что MT5 записывает сделки в какой-то файл, а MT4 не может его "найти".
Это происходит потому, что MT5 функционирует иначе, чем MT4. В MT5 папка, в которую мы устанавливаем MT5, отличается от папки, из которой он запускается. Например, я установил MT5 в C:\Accounts\MT5, а MT4 в C:\Accounts\MT5\MQL\Files\MetaTrader 4.
MT5 создал папку C:\Users\[имя пользователя]\AppData\Roaming\MetaQuotes\Terminal\[длинный шестнадцатеричный номер]\MQL5\etc... и фактически запускается отсюда. Таким образом, MT5 записывает сделки где-то в этой папке.
Согласно оригинальной статье, MT4 должен быть "внутри" папки MT5. Поэтому решение заключается в том, чтобы сделать папку установки MT5 "ТАКОЙ ЖЕ", как и папка запуска. И самый простой способ заключается в следующем:
1. удалить все экземпляры MT5
2. Удалить папку 'Metaquotes' из C:\Users\[имя пользователя]\AppData\Roaming\
Теперь мы сделаем папку install такой же, как и папка run:
3. Переустановите MT5. Она не должна находиться в папке Program files, сделайте ее, например, C:\Accounts\MT5. Во время установки снимите флажок "запускать после завершения" (критический шаг).
4. Перед первым запуском MT5 щелкните правой кнопкой мыши на ярлыке MT5 на рабочем столе, выберите свойства, добавьте "/portable" в путь, без кавычек. Таким образом, это будет C:\Accounts\MT5\terminal.exe /portable. (Обратите внимание, что после terminal.exe стоит пробел, передняя косая черта, portable без заглавной буквы). Нажмите OK.
Теперь мы установим MT4, скопируем советники и запустим терминалы
5. Установите MT4 в папку C:\Accounts\MT5\MQL\Files\MetaTrader 4. (Обратите внимание, что название папки MetaTrader 4, или как там ее, должно совпадать с названием в советниках)
6. Скопируйте советники Translator и Copyist в соответствующие папки.
7. Запустите ведущий MT5 и ведомый MT4.
8. Наслаждайтесь!!!
Совет: Не переходите к следующему шагу, если что-то сделано неправильно.
Извините за использование "нетехнического" языка, это максимум того, что вы можете ожидать от доктора!
Спасибо, что нашли время написать это.
Другой способ - сохранить настройки установки по умолчанию и установить связь между двумя папками с помощью символической ссылки.
http://en.wikipedia.org/wiki/NTFS_symbolic_link
компилятор mql4++
это новая версия для приемника в mt4, с дополнительными параметрами?