Discussão do artigo "Como copiar a negociação do MetaTrader 5 para o MetaTrader 4" - página 12
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Copiar do mt4 para o mt5 e vice-versa usando seu método
funciona bem - somente com mt5 -> mt4 há um atraso.
porque não há contador lá. Mas, em geral, funciona bem.
E para o W7 / Vista, o terminal deve ser colocado na pasta comum MetaQuotes\Terminal\.
é um pouco deprimente. Mas há um desejo de escrever um programa simples (não mql)
com um ciclo de 1 segundo, que copiaria os arquivos da pasta
mt4 para mt5 e vice-versa, se eles estiverem disponíveis. Para não tocar nos terminais
Copiar do mt4 para o mt5 e vice-versa usando seu método
funciona bem - somente com mt5 -> mt4 há um atraso.
porque não há contador lá. Mas, em geral, funciona bem.
E para o W7 / Vista, o terminal deve ser colocado na pasta comum MetaQuotes\Terminal\.
é um pouco deprimente. Mas há um desejo de escrever um programa simples (não mql)
com um ciclo de 1 segundo, que copiaria os arquivos da pasta
mt4 para mt5 e vice-versa, se eles estiverem disponíveis. Para não tocar nos terminais
Recebo esses avisos durante a compilação. É verdade que são apenas avisos e não erros.
Compilando 'Copyist_positions.mq4'...
'cmd' - expressão de comparação esperada C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (120, 46)
'cmd' - expressão de comparação esperada C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (122, 46)
0 erro(s), 2 aviso(s)
O texto acima se refere a essas duas linhas de código:
//--- preço de abertura
double price_open(string symbol,int cmd) {if(cmd%2)return(bid(symbol));else return(nd(symbol,ask(symbol)));}
//--- preço de fechamento
double price_close(string symbol,int cmd){if(cmd%2)return(ask(symbol));else return(nd(symbol,bid(symbol));}
Estou achando que "if(cmd%2)" deveria ser alterado para "if(cmd<2)" mas não tenho certeza.
Recebo estes erros ao executar o script acima no MT4
2013.02.26 06:16:38 Copyist_positions EURUSDm,H1: Erro ao abrir o arquivo 4103
2013.02.26 06:16:38 Copyist_positions EURUSDm,H1: Erro interno na função ArrayInitialize
Aqui está o caminho que usei para instalar o Metatrader 4 e usei para o script de execução:
C:\Arquivos de programas\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts
Parece que algumas pessoas estão tendo os mesmos problemas. Qualquer ajuda sobre como corrigir os problemas ou uma nova versão limpa do arquivo seria bem-vinda.
Recebo esses avisos durante a compilação. É verdade que são apenas avisos e não erros.
Compilando 'Copyist_positions.mq4'...
'cmd' - expressão de comparação esperada C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (120, 46)
'cmd' - expressão de comparação esperada C:\Program Files\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts\Copyist_positions.mq4 (122, 46)
0 erro(s), 2 aviso(s)
O texto acima se refere a essas duas linhas de código:
//--- preço de abertura
double price_open(string symbol,int cmd) {if(cmd%2)return(bid(symbol));else return(nd(symbol,ask(symbol)));}
//--- preço de fechamento
double price_close(string symbol,int cmd){if(cmd%2)return(ask(symbol));else return(nd(symbol,bid(symbol));}
Estou achando que "if(cmd%2)" deveria ser alterado para "if(cmd<2)" mas não tenho certeza.
Aqui está o caminho que usei para instalar o Metatrader 4 e usei para o script de execução:
C:\Arquivos de programas\MetaTrader 5\MQL5\Files\Metatrader 4\experts\scripts
Parece que algumas pessoas estão tendo os mesmos problemas. Qualquer ajuda sobre como corrigir os problemas ou uma nova versão limpa do arquivo seria bem-vinda.
RaptorUK:
Talvez seja um problema de UAC, tente instalar em uma pasta diferente de Arquivos de Programas, por exemplo, C:\MT4Installs\
Obrigado pela explicação e pela sugestão.
Tentei novas instalações do Metatrader 5 em "C:\MetaTrader 5 (2nd)\" e do Metatrader 4 em "C:\MetaTrader 5 (2nd)\MQL5\Files\MT4\", mas ainda estou tendo os mesmos erros ao executar o script "copyist positions". Meu sistema operacional é o Windows 8.
Estou achando que pode ser o que o arquivo "Translator positions" está fazendo, pois ele não parece escrever um arquivo para o "copyist positions" ler. Talvez eu tenha que aprender um pouco de mql5 para entender isso. Parece que o script "copyist_positions" seria mais adequado como um EA em vez de um script. Tenho uma copiadora de comércio de MT4 para MT4 que funciona muito bem. Estou tendo dificuldades para encontrar uma copiadora de negociação de MT5 para MT4 que funcione.
Mas havia o desejo de escrever um programa simples (não mql)
com um ciclo de 1 segundo, que copiasse os arquivos da pasta
mt4 para mt5 e vice-versa, se eles estiverem disponíveis. Para não tocar nos terminais
criei uma copiadora simples. Definimos de onde, para onde e o intervalo de cópia.
Comece a copiar com o botão "Save/start" (Salvar/iniciar). Durante o trabalho, ele piscará ))).
No Translator positions.MQ5, você pode alterar a linha int han=FileOpen(subfolder+"\\\experts\\\files\\\\"+folder+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,","); para int han=FileOpen(folder+".csv",FILE_WRITE|FILE_SHARE_READ|FILE_ANSI,","); ou seja, o arquivo será gravado na pasta \\Program Files\MetaTrader 5\MQL5\Files.