Discussão do artigo "Indicador de perfil de mercado — Market Profile (Parte 2): Otimização e desenho em canvas"
Esse é um tópico interessante. Eu também mudei para o Canvas para exibir meu perfil, mas esse método tem algumas desvantagens. Se as figuras gráficas forem "desenhadas e esquecidas", o mt5 as dimensionará por si só ao mover o gráfico, alterar o TF etc., então o Canvas deve ser redesenhado sempre, em qualquer CHARTEVENT_CHART_CHANGE, mesmo que o VP esteja em algum lugar no histórico, em dados já inalterados. E esses dados devem ser obtidos e nem sempre eles (dados de tick) estão no cache do mt5, aqui ou armazenamos a memória e verificamos se os limites do VP foram alterados ou solicitamos constantemente ao mt5 (agora eu tenho isso implementado), o que não funciona rapidamente e, portanto, os dados nem sempre são fornecidos completamente, e não imediatamente, com certeza.
O desenho é uma parte do problema. A segunda parte é que um trader nem sempre precisa apenas de uma imagem para admirá-la, ele precisa de sinais baseados nessa imagem, como POC, VHL, VLL, "entrada no vazio", etc. E podemos vincular eventos somente a objetos gráficos (condicionalmente, podemos mantê-los em uma matriz em algum lugar do indicador, mas ainda é desejável visualizar onde está esse nível, onde o alerta foi acionado). Ou seja, ainda precisamos de objetos gráficos para a VP do kanvas, embora, é claro, eles sejam uma ordem ou até mesmo várias ordens de magnitude menores do que no caso da exibição da VP por meio de objetos gráficos.
Em geral, o resumo é o seguinte: não podemos obter um terminal volumétrico do mt5 (ainda?) (e precisamos de clusters, deltas, etc.).
A imagem é um exemplo de como o VP se parece em uma onda de impulso, o POC é mostrado por uma linha, aqui estão os volumes de ticks, se houvesse volumes reais eu trabalharia neles (finam, amp global). Como a prática de comparar volumes de ticks e reais em TFs sênior mostrou, eles coincidem ou estão muito próximos um do outro, exceto nos casos de grandes volumes que passam pelas velas de alta ou baixa, onde os volumes de ticks são impotentes para nos ajudar.
Esse é um tópico interessante. Eu também mudei para o Canvas para exibir meu perfil, mas esse método tem algumas desvantagens. Se as figuras gráficas forem "desenhadas e esquecidas", o mt5 as dimensionará por si só ao mover o gráfico, alterar o TF etc., então o Canvas deve ser redesenhado sempre, em qualquer CHARTEVENT_CHART_CHANGE, mesmo que o VP esteja em algum lugar no histórico, em dados já inalterados. E esses dados devem ser obtidos, e nem sempre eles (dados de tick) estão no cache do mt5, onde é possível armazenar a memória e verificar se os limites do VP foram alterados ou solicitar constantemente ao mt5 (agora eu tenho isso implementado), o que não funciona rapidamente e os dados nem sempre são fornecidos completamente, e não imediatamente, com certeza.
O desenho é uma parte do problema. A segunda parte é que um trader nem sempre precisa apenas de uma imagem para admirá-la, ele precisa de sinais baseados nessa imagem, como POC, VHL, VLL, "entrada no vazio", etc. E podemos vincular eventos somente a objetos gráficos (condicionalmente, podemos mantê-los em uma matriz em algum lugar do indicador, mas ainda é desejável visualizar onde está esse nível, onde o alerta foi acionado). Ou seja, ainda precisamos de objetos gráficos para a tela VP, embora, é claro, eles sejam uma ordem ou até mesmo várias ordens de magnitude menores do que no caso da exibição da VP por meio de objetos gráficos.
Em geral, o resumo é o seguinte: não é possível obter um terminal volumétrico do mt5 (ainda?) (e precisamos de clusters, deltas etc.).
A imagem é um exemplo de como o VP se parece em uma onda de impulso, o POC é mostrado por uma linha, aqui estão os volumes de ticks, se houvesse volumes reais eu trabalharia neles (finam, amp global). Como a prática de comparar volumes de ticks e reais em TFs sênior mostrou, eles coincidem ou estão muito próximos um do outro, exceto nos casos de grandes volumes que passam pelas velas de alta ou baixa, onde os volumes de ticks são impotentes para nos ajudar.
Não é exatamente assim. Não se trata de desvantagens, mas de recursos que você precisa conhecer para usar a ferramenta com o máximo de possibilidades e liberdade de ação.
Tudo pode ser feito, mesmo com clusters 3D.
Aqui está um exemplo de MQL5 usando apenas o Canvas sem usar o OpenCL. Se você usar o OpenCL (ou seja, uma placa gráfica), poderá obter uma aceleração significativa (dezenas de vezes).

- 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 Indicador de perfil de mercado — Market Profile (Parte 2): Otimização e desenho em canvas foi publicado:
Retomando o tema do indicador de Perfil de Mercado iniciado no artigo anterior, vale dizer que a construção do gráfico de perfil de mercado com objetos gráficos convencionais consome muitos recursos. Isso ocorre porque cada ponto de preço do Low ao High da barra diária é preenchido com objetos gráficos-retângulos na quantidade de barras que, ao longo do dia, alcançaram esse nível de preço. E isso para cada ponto, todos contendo múltiplos objetos gráficos, criados e desenhados para cada dia em que se desenha o gráfico de perfil. Quando o indicador cria milhares de objetos gráficos, isso pode causar atrasos significativos ao lidar com outros objetos gráficos e na atualização do gráfico.
Para três dias de negociação, o perfil de mercado final terá este aspecto:
Autor: Artyom Trishkin