Discussão do artigo "Modelos prontos para integrar indicadores nos Expert Advisors (Parte 1): Osciladores"
//--- Defina e ajuste, se necessário, o período de cálculo period=int(InpPeriod<1 ? 14 : InpPeriod);
Entendo que a entrada é uma constante. Só não consigo imaginar a tarefa.
Bem, apenas como uma defesa contra um tolo que coloca um sinal de menos, mas seria melhor ter um alerta de que a pessoa cometeu um erro.
Por que de uint para int e por que essa construção?
Entendo que a entrada é uma constante. Só não consigo imaginar a tarefa.
Bem, apenas como uma defesa contra um tolo que colocou um sinal de menos, mas seria melhor ter um alerta de que a pessoa cometeu um erro.
InpPeriod é uma variável de entrada. Não há como colocar um sinal de menos ali. Você pode colocar um zero ali. Essas verificações (para menos de um) são um hábito de não comparar números com zero diretamente - se, de repente, em outra construção semelhante, houver uma variável de entrada com tipo duplo, isso me permitirá evitar a comparação direta de dois números duplos. Sim, isso é "infalível". Em primeiro lugar, por mim mesmo - para cometer menos erros ao portar o código para outros lugares.
InpPeriod - entrada de variável de entrada. Não há como colocar um sinal de menos nesse local. Você pode colocar um zero ali. Essas verificações (para menos de um) são um hábito de não comparar números com zero diretamente - se, de repente, em outra construção semelhante, houver uma variável de entrada com tipo duplo, isso me permitirá evitar a comparação direta de dois números duplos. Sim, isso é "infalível". Em primeiro lugar, por mim mesmo - para cometer menos erros ao portar o código para outros lugares.
Bem, sim, é uint)))))) Você não pode colocar um sinal de menos nele))))
E zero é possível. Mas, nesse caso, o indicador será definido com o valor padrão.
Mas o objetivo da sua pergunta era outro - você já sabe sobre o zero.
Mas eu não vou adivinhar
É isso mesmo. Não há necessidade de adivinhar. Era apenas uma pergunta para Valery. Você não pode colocar um menos, mas um zero?
Então, o zero é atual)))) Como um projeto infalível é ótimo))))))
E você pode colocar uma máscara no teclado, de modo que apenas os dígitos sejam pressionados e as outras teclas não sejam pressionadas)))))) Os soldados dos anos 90 fizeram isso)))))) E ao pressionar outras teclas, um aviso aparecia em letras grandes))
Hi. Acho que nunca fiz uma saída de texto para células com pontos de ancoragem diferentes.
Mas se presumirmos que column_width é a largura da célula, column_height é sua altura,
e text_w e text_h são as dimensões correspondentes do texto a ser enviado para a célula,
, então as coordenadas do canto superior esquerdo do texto devem ser calculadas usando estas fórmulas:
| Âncora | text_x | text_y |
|---|---|---|
| ESQUERDA_UPER | 0 | 0 |
| ESQUERDA | 0 | (altura_da_coluna - altura_do_texto)/2 |
| ESQUERDA_INFERIOR | 0 | altura_da_coluna - text_h |
| INFERIOR | (largura_da_coluna - text_w)/2 | altura_da_coluna - text_h |
| DIREITA_INFERIOR | largura_da_coluna - text_w | altura_da_coluna - text_h |
| DIREITA | largura_da_coluna - text_w | (altura_da_coluna - text_h)/2 |
| SUPERIOR DIREITA | largura_da_coluna - text_w | 0 |
| SUPERIOR | (largura_da_coluna - text_w)/2 | 0 |
| CENTRAL | (largura_da_coluna - text_w)/2 | (altura_da_coluna - text_h)/2 |
Aqui, a ancoragem do texto - por padrão - inicia as coordenadas do texto no canto superior esquerdo e, para exibir o texto dependendo do ponto de ancoragem (âncora no cabeçalho da tabela), você precisa calcular as coordenadas do texto usando as fórmulas acima.
Hi. Acho que não fiz a saída de texto para células com pontos de ancoragem diferentes.
Mas se presumirmos que column_width é a largura da célula, column_height é sua altura,
e text_w e text_h são os tamanhos correspondentes do texto a ser enviado para a célula,
, então as coordenadas do canto superior esquerdo do texto devem ser calculadas usando essas fórmulas:
| Âncora | text_x | text_y |
|---|---|---|
| ESQUERDA_UPER | 0 | 0 |
| ESQUERDA | 0 | (altura_da_coluna - altura_do_texto)/2 |
| ESQUERDA_INFERIOR | 0 | altura_da_coluna - text_h |
| INFERIOR | (largura_da_coluna - text_w)/2 | altura_da_coluna - text_h |
| DIREITA_INFERIOR | largura_da_coluna - text_w | altura_da_coluna - text_h |
| DIREITA | largura_da_coluna - text_w | (altura_da_coluna - text_h)/2 |
| SUPERIOR DIREITA | largura_da_coluna - text_w | 0 |
| SUPERIOR | (largura_da_coluna - text_w)/2 | 0 |
| CENTRAL | (largura_da_coluna - text_w)/2 | (altura_da_coluna - text_h)/2 |
Aqui, a ancoragem do texto - por padrão - inicia as coordenadas do texto no canto superior esquerdo e, para exibir o texto dependendo do ponto de ancoragem (âncora no cabeçalho da tabela), você precisa calcular as coordenadas do texto de acordo com as fórmulas fornecidas.
Foi mais ou menos isso que pensei, mas achei que havia uma solução mais simples.
Obrigado!
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso

Novo artigo Modelos prontos para integrar indicadores nos Expert Advisors (Parte 1): Osciladores foi publicado:
Neste artigo, examinaremos os indicadores padrão da categoria Osciladores. Criaremos modelos prontos a serem usados em Expert Advisors, modelos esses que incluirão: declaração e configuração de parâmetros, inicialização/desinicialização de indicadores e recuperação de dados/sinais a partir de buffers de indicador em EAs.
Embora integrar indicadores ao EA e usar os dados do buffer de indicador no EA seja uma tarefa bastante simples, é necessário consultar os materiais de referência o tempo todo. De fato, é preciso lembrar todos os parâmetros passados para a função de criação do indicador, preparar parte deles como parâmetros de entrada do EA, verificar se estão corretos, etc. Já para acessar os dados, a pessoa tem de escrever funções que retornem os dados necessários a partir da barra desejada. Tudo isso requer tempo para consultar a documentação, inserir as variáveis necessárias no EA, escrever funções para receber e monitorar dados para detectar sinais, etc.
É por isso que o objetivo deste artigo é criar modelos para acoplar indicadores aos Expert Advisors. Veremos os indicadores da categoria Oscilador, suas variáveis de entrada, a criação de um handle de indicador e a recuperação dos dados necessários a partir dele.
Autor: Artyom Trishkin