Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Telegram!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Visualizações:
1940
Avaliação:
(31)
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").
É importante se o arquivo necessário não existe ou o arquivo não tem um apelido adequado, então a string passada para o método como um argumento será exibida.

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):

Amostra de Tradutor

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. Este é um Expert Advisor simples que utiliza um indicador personalizado RKD.

Este é um Expert Advisor simples que utiliza um indicador personalizado RKD.

Trend Trend

Indicador de tendência desenhado na forma de nuvem colorida

Exportação de dados históricos Exportação de dados históricos

O objetivo do script é exportar dados de intervalos históricos para o formato conveniente para análise em programas externos.

FIR_filter FIR_filter

Cálculo de Média Móvel usando um filtro digital.