Erros, bugs, perguntas - página 3125

 
Nikolai Semko #:

Deus, estes indicadores tampão são tão desconfortáveis. Assustador.
Com o desenho em tela tudo é muito mais fácil, menos código, mais claro, mais versátil e completa liberdade de acção.

O seu gosto pela tela tem sido claro desde há muito tempo. Mas nem todos estão acostumados a isso... )))
 
Alexey Viktorov #:
Todos compreendem o seu gosto por kanvas há muito tempo atrás. Mas nem todos estão tão habituados a isso... )))
Está enganado.
O hábito é uma coisa do passado.
 
Nikolai Semko #:
Não deve.
O hábito é uma coisa do passado.

Sim... se eu não morrer primeiro...

 
Os amortecedores são mais fáceis de trabalhar, mas pode produzir qualquer coisa para Kanvas. Por outro lado, existem também muitos tipos diferentes de amortecedores de indicadores em indicadores personalizados na MQL5. Em geral, o programador não deve cometer um erro ao escolher qualquer um destes métodos. Mas a escolha deve depender sempre da tarefa em mãos.
 
Alexey Viktorov #:

Provavelmente não é uma muleta, mas até agora não tenho nenhuma explicação para o que se passa. Obrigado...

Provavelmente depende de qual é o tampão mais elevado na construção. Basta mudar o + para -

e também vai funcionar. Mas eu precisava de dirigir a espessura dentro da barra.

O tampão de enchimento tem duas cores. É necessário separá-los ambos por vírgulas. Qual delas é mais alta no ecrã determina a cor de preenchimento. Não se especifica uma das cores - é substituída por clrNONE

 
Mihail Matkovskij #:
É mais fácil trabalhar com amortecedores, mas pode produzir qualquer coisa em Kanvas. Por outro lado, nos indicadores personalizados em MQL5 há também muitos tipos diferentes de amortecedores de indicadores. Em geral, o programador não deve cometer um erro ao escolher qualquer um destes métodos. Mas a escolha deve depender sempre da tarefa em mãos.

É claro que os amortecedores são mais difíceis de trabalhar. É mais fácil com uma lona.
Não se pode colocar o #propriedade numa função.

E pode adicionar uma linha kanvas com uma única linha passando uma matriz para uma função.
Pessoalmente utilizo mais o kanvas para visualização de alguns processos e dados intermediários durante o desenvolvimento. Desta forma é mais fácil ver os problemas e encontrar soluções óptimas.
A menos, claro, que estejamos a falar de algoritmos primitivos construídos sobre intersecções.
Eis, por exemplo, o meu trabalho actual.
Todo este folheado é serviço e ajuda-me muito a encontrar as melhores soluções.
Com buffers, claro, não pode ser feito. Além disso, esta solução funciona igualmente em Consultores Especialistas e indicadores. E o código funciona também no MT4.

E é realizada muito fácil e rapidamente. Literalmente na mosca.
 
Nikolai Semko #:

É claro que os amortecedores são mais difíceis de trabalhar. É mais fácil com uma lona.
Não se pode colocar o #propriedade numa função.

E pode adicionar uma linha kanvas com uma única linha passando uma matriz para uma função.
Pessoalmente utilizo mais o kanvas para visualizar alguns processos e dados intermédios durante o desenvolvimento. Desta forma é mais fácil ver os problemas e encontrar soluções óptimas.
A menos, claro, que estejamos a falar de algoritmos primitivos construídos sobre intersecções.
Eis, por exemplo, o meu trabalho actual.
Todo este folheado é serviço e ajuda-me muito a encontrar as melhores soluções.
Com buffers, claro, não pode ser feito. Além disso, esta solução funciona igualmente em Consultores Especialistas e indicadores. E o código funciona também no MT4.

E isto é implementado muito fácil e rapidamente. Literalmente na mosca.

Este problema requer o uso de Tela. Naturalmente, não temos outra escolha. Embora haja uma possibilidade, é o DirectX. Mas não sei quem o utiliza em aplicações de MQL. Nunca vi tais exemplos. Kanvass ajudou-me muito quando precisei de produzir o oscilador no gráfico juntamente com os indicadores de tendência. Naturalmente, não posso alcançar tal resultado utilizando mecanismos de indicadores personalizados. Criei duas classes baseadas no CCanvas. Um deles exibe osciladores, o segundo - indicadores de tendência utilizando métodos, onde são passados conjuntos de valores indicadores, conjuntos de cores e conjuntos de índices de cor. Mas quando preciso de exibir um indicador, utilizo métodos de indicadores personalizados. Não sei porquê. Ou é um hábito ou não quero complicar demasiado o código, quando o ponto principal e a complexidade está no cálculo dos valores, não no método da sua saída.

 
Mihail Matkovskij #:
Mas a escolha deve depender sempre da tarefa em mãos.

Esqueci-me de vos dizer. A utilização de Kanvas é também muito útil em robôs, onde é necessário produzir valores calculados num gráfico, mas não estão disponíveis buffers indicadores. Então os valores ou sinais só podem ser emitidos usando Kanvas se houver um número suficiente deles (não 2-3 sinais que possam ser emitidos usando objectos gráficos).

 
Nikolai Semko #:

Deus, estes indicadores tampão são tão desconfortáveis. Assustador.
Com o desenho em tela tudo é muito mais fácil, há menos código, mais claro, mais versátil e completa liberdade de acção.

A versatilidade de uma tela termina quando os seus valores precisam de ser obtidos de outro EA/indicador.

Ou também já encontrou uma solução para isso? )

 
Andrey Khatimlianskii #:

A versatilidade de Kanvas termina quando os seus valores precisam de ser obtidos de outro EA/indicador.

Ou também já encontrou uma solução para isso? )

Quais são os problemas, Andrei?
Forma-se uma estrutura de dados ou um conjunto de estruturas na EA ou no indicador e envia-se para um recurso.
E no lado receptor, lê esta estrutura ou conjunto de estruturas.
É ainda mais conveniente, porque tem de lidar com nomes e diferentes tipos de dados de tamanhos necessários, em vez de conjuntos duplos numerados de todo o comprimento das cotações.
Se isto é um indicador para um mercado, mas tem de fornecer a classe que lê os dados do recurso.
O cliente só precisa de acrescentar um include e declarar uma instância da classe. Também pode chamar métodos da OnTimer e OnTick. E então este exemplo da classe terá sempre dados reais do indicador lido sob a forma de uma estrutura convenientemente legível ou matriz de estruturas.