Обсуждение статьи "Копирование торговли из MetaTrader 5 в MetaTrader 4" - страница 12
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Копирование с мт4 -> мт5 и обратно по вашему способу
отлично работает - только при мт5 -> мт4 задержка потиковая
т.к. счетчика там нету. Ну а в общем норм.
Да и для W7 / Vista терминал нуно в общую папку MetaQuotes\Terminal\
немного удручает. Но появилось желание написать простую прогу (не mql)
с циклом в 1 сек - которая бы копировала файлы из папки
мт4 в мт5 и обратно при наличии таковых. Чтобы терминалы не трогать
Копирование с мт4 -> мт5 и обратно по вашему способу
отлично работает - только при мт5 -> мт4 задержка потиковая
т.к. счетчика там нету. Ну а в общем норм.
Да и для W7 / Vista терминал нуно в общую папку MetaQuotes\Terminal\
немного удручает. Но появилось желание написать простую прогу (не mql)
с циклом в 1 сек - которая бы копировала файлы из папки
мт4 в мт5 и обратно при наличии таковых. Чтобы терминалы не трогать
Я получаю эти предупреждения при компиляции. Правда, это только предупреждения, а не ошибки.
Компиляция 'Copyist_positions.mq4'...
'cmd' - выражение сравнения ожидается C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (120, 46)
'cmd' - ожидается выражение сравнения C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (122, 46)
0 ошибок(ы), 2 предупреждения(и)
Вышеуказанное относится к этим двум строкам кода:
//--- цена открытия
double price_open(string symbol,int cmd) {if(cmd%2)return(bid(symbol));else return(nd(symbol,ask(symbol));}
//--- цена закрытия
double price_close(string symbol,int cmd){if(cmd%2)return(ask(symbol));else return(nd(symbol,bid(symbol));}
Я думаю, что "if(cmd%2)" следует заменить на "if(cmd<2)" , но я не уверен.
Я получаю эти ошибки при запуске вышеуказанного скрипта в MT4
2013.02.26 06:16:38 Copyist_positions EURUSDm,H1: Ошибка открытия файла 4103
2013.02.26 06:16:38 Copyist_positions EURUSDm,H1: Внутренняя ошибка функции ArrayInitialize
Вот путь, который я использовал для установки Metatrader 4 и использовал для запуска скрипта:
C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts
Похоже, что несколько человек испытывают те же проблемы. Любая помощь по устранению проблем или новая чистая версия файла будет оценена по достоинству.
Я получаю эти предупреждения при компиляции. Правда, это только предупреждения, а не ошибки.
Компиляция 'Copyist_positions.mq4'...
'cmd' - выражение сравнения ожидается C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (120, 46)
'cmd' - ожидается выражение сравнения C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (122, 46)
0 ошибок(ы), 2 предупреждения(и)
Вышеуказанное относится к этим двум строкам кода:
//--- цена открытия
double price_open(string symbol,int cmd) {if(cmd%2)return(bid(symbol));else return(nd(symbol,ask(symbol));}
//--- цена закрытия
double price_close(string symbol,int cmd){if(cmd%2)return(ask(symbol));else return(nd(symbol,bid(symbol));}
Я думаю, что "if(cmd%2)" следует заменить на "if(cmd<2)" , но я не уверен.
Вот путь, который я использовал для установки Metatrader 4 и запуска скрипта:
C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts
Похоже, что несколько человек испытывают те же проблемы. Любая помощь по устранению проблем или новая чистая версия файла будет оценена по достоинству.
RaptorUK:
Возможно, это проблема UAC, попробуйте установить в папку, отличную от Program Files, например, C:\MT4Installs\
Спасибо за объяснение и предложение.
Попробовал установить Metatrader 5 в папку "C:\MetaTrader 5 (2nd)\" и Metatrader 4 в папку "C:\MetaTrader 5 (2nd)\MQL5\Files\MT4\", но все равно возникают те же ошибки при запуске скрипта "copyist positions". Моя операционная система - Windows 8.
Я думаю, что это может быть связано с файлом "Translator positions", поскольку он, похоже, не записывает файл для чтения "copyist positions". Возможно, мне придется немного изучить mql5, чтобы понять это. Кажется, что скрипт "copyist_positions" лучше использовать как советник, а не как скрипт. У меня есть торговый копировщик с MT4 на MT4, который отлично работает. Мне трудно найти работающий копировщик из MT5 в MT4.
Но появилось желание написать простую прогу (не mql)
с циклом в 1 сек - которая бы копировала файлы из папки
мт4 в мт5 и обратно при наличии таковых. Чтобы терминалы не трогать
Сделал простенький копировщик. Задаем откуда, куда и интервал копирования.
Старт копирования кнопкой "Сохранить/старт". Во время работы она будет подмаргивать )))
В 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.