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

 
raminzk:

спасибо alexvd проблема решена!

alexvd:


Удалите или закомментируйте строку

#property show_inputs



Это свойство скриптов, поэтому новый компилятор решает, что это скрипт
все в порядке, спасибо
 
currencyscalper:

Здравствуйте Раминзк,

Хорошо ли работает советник, потому что в моем случае он не копирует ни одной сделки. после обновления, может быть, нужно что-то изменить в папках?

Кто-нибудь может помочь?

Я работаю над этим, если я получу какой-либо результат, я опубликую его здесь, вы получили какую-либо ошибку или предупреждение во время выполнения?
 

Наконец-то я достиг рабочей версии в новом MT4 без ошибок array out of range, ограничений на установку терминалов meta trader и вмешательства windows UAC. По этой причине, а также из-за некоторых несовместимостей я изменил 2 файла и прикрепил новые версии к этому посту.

Теперь я объясню шаг за шагом:

1. Установите MT5 в любое удобное для вас место. Я установил по умолчанию в C:\ProgramFiles

2. Установите новый MT4 в любое место. Я установил на стандартный C:\ProgramFiles - во время выполнения эти 2 программы будут перемещены в [user]\AppData\Roaming\MetaQuotes\Terminal\

3. Запустите cmd.exe от имени администратора и выполните команду mklink, чтобы создать связь между виртуальной папкой ведьмы, которую вы указали в эксперте mt4 (copyist_positions_V2.mq4) и папкой "Files" MT5.

(Translator_Positions_V2.mq5 изменяется для записи файла в папку Files установленной позиции)

Команда будет выглядеть следующим образом:

mklink /D "C:\Users\Ramin\AppData\Roaming\MetaQuotes\Terminal\50CA3DFB510CC5A8F28B48D1BF2A5702\MQL4\Files\Link2MT5_DataFolder" "C:\Users\Ramin\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files"

Вы можете легко скопировать эти 2 длинных адреса из адресной строки при запуске пункта "открыть папку данных" каждого терминала из меню файл.

Имя "Link2MT5_DataFolder" относится к виртуальной папке, которую вы можете выбрать в качестве параметра copyist_positions_V2. Но убедитесь, что имя, выбранное в качестве параметра эксперта, и имя, используемое в командной строке, совпадают.

4. Прикрепите экспертов к терминалам и не забудьте установить параметр "link_folder_name" параметра copyist_positions_v2 на имя, которое вы выбрали для виртуальной папки, вот: Link2MT5_DataFolder

5. Программы работают корректно, но осталась проблема ведьмака, некоторые временные сделки копируются с задержками порядка нескольких минут!!!?

Спасибо Николаю за эту хорошую статью...


 
raminzk:

Наконец-то я достиг рабочей версии в новом MT4 без ошибок array out of range, ограничений на установку терминалов meta trader и вмешательства windows UAC. По этой причине, а также из-за некоторых несовместимостей я изменил 2 файла и прикрепил новые версии к этому сообщению.



Для следующих строк следует установить FILE_UNICODE вместо FILE_ANSI?

//--- открываем файл для записи, общий режим чтения
   int han=FileOpen(filename+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,",");
 

Другой вопрос, лучше ли использовать общую папку для общего файла?

т.е. C:\Users\<ваше имя>\AppData\Roaming\MetaQuotes\Terminal\Common

 
BP33:
Для следующих строк следует установить FILE_UNICODE вместо FILE_ANSI ?

Как я знаю, формат ANSI подходит для файлов CSV, которые на самом деле являются текстовыми файлами.
 
BP33:

Другой вопрос, лучше ли использовать общую папку для общего файла?

т.е. C:\Users\<ваше имя>\AppData\Roaming\MetaQuotes\Terminal\Common

Это не важно, вы можете использовать общую папку, но вы должны использовать соответствующий адрес, чтобы указать это местоположение при открытии файла. Я использовал адрес по умолчанию. Когда вы не указываете адрес в командах открытия файла, файл создается в папке files
 
raminzk:
это не важно, вы можете использовать общую папку, но вы должны использовать соответствующий адрес, чтобы указать это место при открытии файла. Я использовал адрес по умолчанию. Когда вы не указываете адрес в командах открытия файла, файл создается в папке files
Хорошо, спасибо :)
 
Спасибо за вашу работу raminzk это помогло мне много .
 

Спасибо Раминзк!!! Вы мне очень помогли!

У меня возникла небольшая проблема с командой "mklink" на Windows Server 2012. Я получил сообщение "Термин 'mklink' не распознан".

Если у кого-то такая же проблема, напишите команду так: cmd /c "mklink /D c:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\01BA5EF0D3A9B913D6D3829DD4594A7F\MQL4\Files\Link2MT5_DataFolder c:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\AA82CE0AC7C62FBE1F51AB464A314D34\MQL5\Files\"