A lona é legal! - página 91

 
Ihor Herasko #:

Você não precisa fazer isso. No destrutor do Canvas, isso é feito automaticamente:

Obrigado!

 

Ao criar painéis e outros dashboards na tela, você precisa prever diferentes monitores. Por exemplo, 4k.

Eu faço isso da seguinte maneira: meço o tamanho da fonte e passo a partir daí. Mas, ao alterar a escala em 100-200-300-400%, às vezes me deparo com o fato de que nem todos os elementos são dimensionados perfeitamente.

Mas talvez haja uma maneira mega universal de dimensionar automaticamente a tela em diferentes monitores, que levaria em conta todos os elementos do painel (janela de entrada padrão (não a tela), gráficos, texto)?

 
Vitaliy Kuznetsov tamanho da fonte e passo a partir daí. Mas, ao alterar a escala em 100-200-300-300-400%, às vezes me deparo com o fato de que nem todos os elementos são dimensionados perfeitamente.

Mas talvez haja alguma maneira mega universal de dimensionar automaticamente a tela em diferentes monitores, que levaria em conta todos os elementos do painel (janela de entrada padrão (não a tela), gráficos, texto)?

Você deve usar TERMINAL_SCREEN_DPI
 
Nikolai Semko #:
Você deve usar TERMINAL_SCREEN_DPI

Obrigado pela dica.

Seria útil ter um exemplo no mt4/5. Existe algum lugar ou você pode escrever?) É importante combinar a tela e qualquer outro objeto regular em um único local/painel.

 
Vitaliy Kuznetsov #:

Obrigado pela dica.

Seria útil ter um exemplo no mt4/5. Existe algum em algum lugar ou você pode postar?) O importante aqui é combinar a tela e qualquer outro objeto regular em um local/painel.

Não há nada de complicado nisso. Esse parâmetro é simplesmente o número de pixels por polegada (25,4 mm) no monitor.
Conhecendo esse parâmetro, é fácil obter um fator de escala, de modo que todos os tamanhos não estejam em pixels, mas em milímetros. É claro que você ainda precisa levar em conta a distância do olho em geral. Afinal, ela é diferente quando se usa um laptop ou um monitor de 32 polegadas. Mas, para isso, é necessário saber o tamanho da tela inteira em pixels. Todas essas características também podem ser obtidas usando a função

TerminalInfoInteger

Ocupado, realmente ocupado.



 
Nikolai Semko #:

Por isso, criei um exemplo com ícones de análise e dimensionamento em um plano de fundo transparente.

Bom dia!!!

Posso ter um exemplo simples de como exibir várias imagens usando o kanvas?

 
Vladimir Pastushak #:

Bom dia!

Posso ter um exemplo simples de como exibir várias imagens usando o kanvas?

https://www.mql5.com/en/code/45439
 
Nikolai Semko:

Eu me propus uma tarefa: demonstrar as possibilidades de gráficos personalizados por meio da classe CCanvas em um código curto.

Aqui está o que consegui: ......

Sim, é claro - as possibilidades são COLOSSAL (!)
... agora - precisamos de EXEMPLOS do que você pode fazer a partir do utilizável (?????!!!!!!_
Por exemplo - eu conheço produtos no CCanvas - faça "DESENHOS" para gráficos - literalmente como no Paint - para fazer esboços em um gráfico, por exemplo, ao analisar um gráfico - para desenhar um suposto movimento de preço adicional! .... É conveniente! :)

mas o que mais pode ser feito?!
eles dizem - no Kanvas você pode fazer um texto de 3 linhas para assinar sinais em Indicadores - de modo que quando você muda a escala do Gráfico = o espaçamento entre as linhas permanece constante (!!!) :)
...

Sugiro que todos os FABRICANTES DE CANVAS HANDY = se unam, criem um único tópico e publiquem nele TODAS AS OPÇÕES - tudo o que pode ser feito no Canvas!
e os Clientes - para não encher esse tópico com discussões e desejos - escrevam para os Desenvolvedores em particular = o que eles querem e se eles (Desenvolvedores) podem atender ao seu Pedido (?!) :).

... enquanto ninguém centralizar o tópico com amostras de produtos no Canvas = sua popularidade não aumentará (!!!).

Boa sorte! :)

 
Vitaliy Kostrubko #:


Mas o que mais pode ser feito?
digamos - no Kanvas, você pode criar um texto de 3 linhas para assinar sinais nos indicadores - de modo que, quando você alterar a escala do gráfico, o espaçamento entre as linhas permaneça constante (!!!):)

Pessoalmente, preciso de um canvas antes de tudo para desenvolver algoritmos complexos. Sem visualizações intermediárias de processos e dados, é muito mais difícil e demorado fazer isso.

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Erros, bugs, perguntas

Nikolai Semko, 2021.12.24 20:25

É claro que é mais difícil trabalhar com buffers. É mais fácil com telas.
Você não pode colocar #property em uma função.

E você pode adicionar uma linha de kanvas com uma linha passando uma matriz para uma função.
Pessoalmente, uso o kanvas mais para visualizar alguns processos e dados intermediários durante o desenvolvimento. É mais fácil ver os problemas e encontrar soluções ideais.
A menos, é claro, que estejamos falando de algoritmos primitivos baseados em interseções.
Aqui, por exemplo, está meu trabalho atual.
Todo esse revestimento de serviço me ajuda muito a encontrar soluções ideais.
É claro que não é possível fazer isso com buffers. Além disso, essa solução funciona igualmente em Expert Advisors e indicadores. O código também funciona no MT4.

E é implementado de forma muito fácil e rápida. Literalmente em tempo real.

A exibição de qualquer matriz na tela, em qualquer lugar, de qualquer tamanho e com qualquer transparência, é feita com apenas uma linha de código.

Às vezes, é importante ver tudo de forma dinâmica

 
Vitaliy Kostrubko #:


Sugiro que todos os MANIPULADORES DO CANVAS se unam, criem um único tópico e publiquem nele TODAS AS OPÇÕES - tudo o que pode ser feito no Canvas!

Este tópico está cumprindo essa função há quase 5 anos.