Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
Tradutor - biblioteca para MetaTrader 5
- Visualizações:
- 1972
- Avaliação:
- Publicado:
- 2014.01.14 14:54
- Atualizado:
- 2016.11.22 07:33
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
A classe foi projetada para localização de mensagens em programas MQL5. Em resumo, todas as saídas que são geradas no log com a ajuda da função print() e também mensagens de texto exibidas em Alert(), Comment(), MessageBox() podem ser escritas em código multilingue.
Métodos de classe:
- bool init(string progName, ENUM_LANGUAGES lang) - inicializa o objeto. Na entrada vamos definir o nome do programa e o código da linguagem de tabulação no arquivo LanguagesEnum.mqh.
- string tr(string str) - tradução da string str*.
- void print(string str) - tipos de tradução da string str* no log.
- void alert(string str) - exibe o alerta com a tradução da string*.
- void comment(string str) - exibe a comentário com a tradução da string*.
- int messageBox(string text, string caption=NULL, int flags=0) - exibe o texto* traduzido na janela de mensagem e traduz o título da janela*. Retorna um dos retornos de códigos MessageBox(). Assim como o MessageBox(), este método não pode ser obtido a partir de indicadores de usuários.
- * - Se o arquivo de idioma não tem a tradução equivalente, então retorna/exibe a entrada da string.
Uso:
- Download dos arquivos Translator.mqh e LanguagesEnum.mqh para a pasta MetaTrader 5\MQL5\Include. A classe em si está localizado no primeiro arquivo, a lista de idiomas está localizado no segundo arquivo de acordo com a padrão ISO 639 (nesta fase estão listados no arquivo apenas os idiomas para a qual o terminal foi traduzido. Se necessário, você pode adicionar o código de qualquer outro dioma, de preferência em conformidade com a norma padrão ISO 639 para evitar confusão);
- Crie um arquivo de texto traduzido para "seu" idioma no formato Alias = Tradução, onde Alias é um nome de string traduzível e também uma cadeia de argumento pelo qual os métodos da classe são posteriormente chamados, Translation é a tradução de texto que vai ser exibido eventualmente;
- Codificação do idioma file(s): UTF8 (sem BOM);
- O nome do arquivo deve corresponder estritamente ao seguinte formato: <nome do código MQL5>.<Código do idioma em letra latin minúscula>.ini. Por exemplo, o arquivo de texto com a tradução para o Russo de código MyCode deve ser chamado MyCode.ru.ini. Eventualmente, o número de arquivos de idioma deve corresponder ao número de idiomas para as quais você deseja traduzir as mensagens;
- Coloque os arquivos de idioma criado para a pasta para MetaTrader 5\MQL5\Files\Languages folder.
No código:
- Conectar o arquivo tradutor(# include <Traslator.mqh>) no código (Expert Advisor, indicador, script);
- Criar um objeto. Por exemplo, CTranslator ru;
- Adicionar um parâmetro de entrada para a tradução. Por exemplo, input ENUM_LANGUAGES InpToLanguage = RU;
- Inicializar o objeto. Por exemplo, ru.init(MQL5InfoString(MQL5_PROGRAM_NAME), InpToLanguage);
- Usar qualquer um destes métodos se necessário. Por exemplo, ru.print ("Seu Texto").
Para um exemplo ilustrativo do script Sample.mq5 com dois arquivos de idiomas ligados a ele para traduzir em russo e japonês. O resultado do trabalho do script (a princípio funcionou no gráfico com o parâmetro para traduzir para o russo e em seguida, para o japonês):
Recomendações:
As aliases podem ser escritas em qualquer idioma e também uma Alias pode ser apenas uma abreviatura em vez de uma frase inteira. É melhor escrever em Inglês e sem abreviatura. Assim:- mesmo se não houver nenhum arquivo de idioma, todas as mensagens serão exibidas em Inglês,
- a necessidade de escrever um arquivo especial para a tradução ao Inglês é eliminado automaticamente (aqueles que escreve sob extensões Joomla CMS extensões provavelmente entende mais fácil, já que a lógica é a mesma).
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/1484
Este é um Expert Advisor simples que utiliza um indicador personalizado RKD.
TrendIndicador de tendência desenhado na forma de nuvem colorida
O objetivo do script é exportar dados de intervalos históricos para o formato conveniente para análise em programas externos.
FIR_filterCálculo de Média Móvel usando um filtro digital.