Assista a como baixar robôs de negociação gratuitos

Roteiro interessante?
Então poste um link sobre isto -
deixe que outros avaliem

Você gostou do roteiro? Experimente no terminal MetaTrader 5

Visualizações:
814
Classificação:
votos: 22
Publicado:
2014.01.14 13:24
Atualizado:
2016.11.22 07:33
\MQL5\Include\\MQL5\Indicators\

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:

ChartInfo_Old 1.00

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:

ChartInfo 1.00

Agora, trabalhar com fontes nos parâmetros de entrada do indicador se tornou muito mais conveniente.

Traduzido do russo por MetaQuotes Software Corp
código original: https://www.mql5.com/ru/code/644

IncCMOOnArray IncCMOOnArray

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 X2MA_HTF_Signal

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.

XdinMA XdinMA

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.

IncERDOnArray IncERDOnArray

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.