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
- Visualizações:
- 1524
- Avaliação:
- Publicado:
- 2014.01.14 13:24
- Atualizado:
- 2016.11.22 07:33
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Quando é utilizado gráficos de texto nos indicadores, muitas vezes é necessário implementar a possibilidade de alterar o tipo de fonte nos parâmetros de entrada do indicador.
A solução mais óbvia em tal caso é que se introduza um nome da fonte manualmente como uma linha nos parâmetros de entrada, porém, ela não é muito conveniente e é propensa a erros. Um método mais eficiente é utilizar as variáveis personalizadas baseado em enumerações e lista de menu suspensas. O módulo da função apresentada é projetada para resolver esta tarefa.
Um exemplo é o suficiente para ser capaz de trabalhar com a biblioteca. Suponha que temos o indicador (ChartInfo_Old.mq5) que exibe um rótulo de texto em um dos cantos do gráfico. Aqui estão seus parâmetros de entrada:
//+----------------------------------------------+ //| Parâmetros de entrada do indicador | //+----------------------------------------------+ input string Text="Real"; // Conteúdo do rótulo texto input color TextColor=Red; // Cor do rótulo de texto input int FontSize=24; // Tamanho da fonte input type_font FontType=Font7; // Tipo da fonte input ENUM_BASE_CORNER WhatCorner=CORNER_LEFT_LOWER; // Localização do canto input uint Y_=1; // Localização vertical
Com esse código a janela de parâmetros de entrada do indicador terá o seguinte aspecto:
Para liberar o usuário da necessidade de inserir manualmente um nome de fonte devemos inserir algumas alterações no código:
1. Adicione o conteúdo do arquivo GetFontName.mqh antes da declaração dos parâmetros de entrada do indicador com a ajuda da diretiva #include:
//+----------------------------------------------+ // type_font Descrição da enumeração | // CFontName Descrição da classe | //+----------------------------------------------+ #include <GetFontName.mqh>
2. Substitua a linha de FontType dos parâmetros de entrada:
input string FontType="Courier New"; // Tipo da fonte
pela linha
input type_font FontType=Font7; // tipo da fonte
Assim, nós mudamos um pouco o significado do uso da variável. Deve-se notar que o significado da variável anterior na nova variável String deve ser declarada a nível global
string sFontType;
Então, a variável FontType do código do indicador deve ser substituída por sFontType. Isso deve ser feito apenas em um lugar:
SetTLabel(0,"Info_Label",0,WhatCorner,ENUM_ANCHOR_POINT(2*WhatCorner),5,Y_,Text,TextColor,sFontType,FontSize);
Agora, a variável sFontType deve ser inicializada no bloco OnInit() . Que pode ser feito com apenas algumas linhas de código:
CFontName FONT; sFontType=FONT.GetFontName(FontType);
O indicador ChartInfo.mq5, após sua revisão, deve ser compilado.
Agora você pode ver as mudanças na janela dos parâmetros de entrada do indicador:
Agora, trabalhar com fontes nos parâmetros de entrada do indicador se tornou muito mais conveniente.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/644

A classe CMOOnArray foi projetada para calcular os valores de CMO (Chande Momentum Oscillator) em buffers de indicadores. O exemplo de utilização da classe CMOOnArray é apresentado.

X2MA_HTF_Signal exibe a direção da tendência das três últimas barras do indicador X2MA como três objetos gráficos, cujas cores determinam a direção da tendência.

Média móvel calculada usando uma simples combinação algébrica de outras duas médias móveis de diferentes períodos. Este indicador permite que você selecione um dos dez tipos de suavização disponíveis.

A classe CERDOnArray foi projetada para calcular o Índice de Eficiência (ER) utilizada na Média Móvel Adaptativa (AMA), considerando a direção do movimento dos preços. Quando o preço está se movendo para cima o indicador possui valores positivos, caso ele esteja se movendo para baixo, seus valores são negativos.