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:
- 2610
- Avaliação:
- Publicado:
- 2017.08.24 13:54
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Versão 1
Versão 2.
O indicador reflete o tamanho da barra. O tamanho da vela é calculado pela fórmula: "minuendo" menos "subtraendo". "Minuendo" e "subtraendo" podem ser um dos seus quatro valores (open, high, low or close).
Adicionado à versão 2:
- escolha de cor de rótulo para barras de alta e de baixa
- configuração de recuo a partir da barra
- o texto agora é exibido:
- em baixo da barra, ser a barra é alta
- em cima da barra, em outros casos
O número de barras, para os quais é exibido o tamanho, é limitado nos parâmetros de entrada (InpNumberOfBars). Este número permanece inalterado, mesmo se for aberta a última barra:
Sobre a sincronização de barras e objetos gráficos.
Contabilidade de objetos gráficos
Os nomes dos objetos são armazenados na matriz m_arr_names[], seu tamanho é igual ao parâmetro de entrada InpNumberOfBars. Por que usamos uma matriz em vez de uma variável simples de tipo string? É porque é uma espécie de base para o futuro.
Formando um nome de objeto
O nome do objeto correspondente à barra "index" é formado pela seguinte fórmula:
name[index] = m_prefix + ("high_" or "low_") + TimeToString(time[index])
Quando você precisa excluir todos os objetos
Como é sabido, os indicadores são descarregados nos seguintes casos:
- quando o indicador é removido do gráfico;
- quando o terminal é encerrado (se o indicador foi anexado ao gráfico);
- carregamento do modelo, (se o indicador foi anexado ao gráfico);
- fechamento do gráfico ao qual foi anexado o indicador;
- ao alterar o perfil, se o indicador foi anexado a um dos gráficos do perfil anterior;
- ao alterar o símbolo e/ou período do gráfico ao qual foi anexado o indicador;
- ao alterar os parâmetros de entrada do indicador.
Portanto, realizamos a remoção completa de objetos gráficos gerados:
- em OnDeinit()
- em OnInit() (isto é, no caso, se houver objetos órfãos não removidos)
- em OnCalculate(), quando prev_calculated==0.
Também limpamos a matriz m_arr_names[]:
- em OnCalculate(), quando prev_calculated==0 ou quando prev_calculated!=rates_total
Mantendo um número constante de objetos gráficos:
ao surgir uma nova barra (ou barras) no gráfico é desencadeada a condição prev_calculated!=rates_total. Neste caso, todos os objetos são removidos, enquanto a matriz m_arr_names[] é limpada.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/18483

Exibição de setas - fonte Wingdings -, se o RSI cruzar os níveis UP e DOWN.

Variação usando fractais.

Negociação sobre o padrão "Bullish and Bearish Engulfing".

Média móvel com EMA quíntupla, com exibição do valor mais recente sob a forma de etiquetas de preço, com a possibilidade de arredondar os níveis do indicador até um número necessário de dígitos