Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Bonito. E a carga de CPU ao abrir uma troca, você sabe, na Si se você colocar o mercado?
Existe uma exibição gráfica da posição aberta no mercado? Isto é o que eu sinto falta no padrão.
No anterior a posição aberta é mostrada com moldura magenta ao redor do preço com posição em vermelho, no seguinte está no lado positivo.
tudo em uma só lona
O processador carrega bem, na figura anterior você pode ver a posição aberta, a moldura ao redor do preço é de cor magenta, a posição é em menos, na figura abaixo a posição é em mais
Que tal simplesmente limitar a taxa de atualização - não mais do que 10 atualizações por segundo? Os atrasos levarão a um painel comercial frisado, não?
Eu posso ver a indicação do estado da posição - parece confortável!
Que tal simplesmente limitar a taxa de atualização a não mais do que 10 vezes por segundo? A frenagem provocará o congelamento do painel comercial - não?
...
Não sei exatamente como é a implementação do Rafil, mas se as células forem redesenhadas separadamente de todo o kanvas, isso resolveria o problema de carga.
Para fazer isso:
1. Cada célula deve ser uma etiqueta retangular independente com texto no topo, com suas próprias coordenadas e dimensões na matriz.
2. Em um evento de mudança de valor, seu retângulo (fundo) é redesenhado primeiro, e depois o texto. A área de redesenho é dezenas de vezes menor que a área de toda a tela e, portanto, a carga cairá em dezenas de por cento.
Não sei exatamente como funciona a implementação do Rafil, mas se as células forem redesenhadas separadamente de toda a tela, isto resolverá o problema de carga.
Para fazer isso:
1. Cada célula deve ser uma etiqueta retangular separada com texto no topo, com suas próprias coordenadas e dimensões na matriz.
2. Em um evento de mudança de valor, seu retângulo (fundo) é redesenhado primeiro, e depois o texto. A área de redesenhamento é dezenas de vezes menor do que a área de toda a tela e, portanto, a carga será reduzida em dezenas de por cento.
A essência do vidro é que quando o preço se move, ele tem que ser redesenhado como um todo, mas a parte esquerda da visualização - sim, pode haver opções, mas eu acho que há um objeto de agrupamento (velas?) desenhado separadamente e ele é redesenhado somente quando novas informações chegam.
A essência do vidro é que quando o preço se move tem que ser redesenhado como um todo, mas a parte esquerda da visualização - sim, pode haver opções, mas eu acho que há um objeto de agrupamento separado (vela?) desenhado e ele é redesenhado somente quando novas informações chegam.
Não necessariamente. Os preços no mercado não estão mudando de uma só vez e algumas células periodicamente ficam ociosas. Não há sentido em redesenhar a tela inteira.
O mesmo se aplica à parte esquerda. Embora, de qualquer forma, não haja ali nenhuma carga pesada. Se apenas na rolagem do gráfico e na barra atual. Mas não é muito.
Não necessariamente. Os preços não mudam todos de uma só vez e algumas células ocasionalmente estão ociosas. Não há sentido em redesenhar a tela inteira.
Não é necessário, mas o preço se move e consequentemente o valor nas células muda - de que outra forma? Outra coisa é se você mudar as coordenadas do retângulo com o preço, mas eu acho que é o mesmo desenho dentro do kanvas.
Não necessariamente, mas o preço se move, o que significa que o valor nas células muda - de que outra forma? Outra coisa é se você mudar as coordenadas do retângulo com o preço, mas eu acho que isto também é um desenho dentro da tela.
O preço se move, o vidro é centralizado e é necessário um novo desenho. Ninguém está contestando isso. É sobre a área do redesenho.
Muitas células são ociosas e não mudam de valor em cada evento da xícara. Por exemplo - às vezes os valores-limite mudam apenas em algumas células, enquanto o preço e os volumes em outras células permanecem inalterados. Neste caso, é um desperdício de recursos redesenhar a tela inteira. É necessário controlar as mudanças nas células e desenhá-las individualmente no caso de chegada de um novo valor.
Esta abordagem simples irá reduzir a carga muitas vezes.
Além disso, você pode reduzir a freqüência de saída de valores para as células.
O preço se move, o vidro é centralizado e um redesenho é necessário. Ninguém está argumentando isso. É sobre a área do redesenho.
Muitas células são ociosas e não mudam de valor em cada evento da xícara. Por exemplo - às vezes os valores-limite mudam apenas em algumas células, enquanto o preço e os volumes em outras células permanecem inalterados. Neste caso, é um desperdício de recursos redesenhar a tela inteira. É necessário controlar as mudanças nas células e desenhá-las individualmente no caso de chegada de um novo valor.
Esta abordagem simples irá reduzir a carga muitas vezes.
Além disso, você pode reduzir a freqüência de saída de valores para as células.
Sim, eu entendo sua idéia, mas as informações sobre mudanças de preço e volume podem muitas vezes (suposição) vir em sincronia na abertura do mercado.
Lembro-me que você queria fazer seu próprio copo - algum resultado?
Sim, eu entendo sua idéia, mas as informações sobre mudanças de preço e volume podem muitas vezes vir em sincronia na abertura do mercado.
Lembro-me que você queria fazer seu próprio copo de mercado - algum resultado?
Ontem eu fiz um exemplo do vidro de mercado com células redesenhadas independentemente da tela de toda a janela- https://www.mql5.com/ru/forum/333652/page4.
Descobri que um redesenho separado das células mantém a carga dentro de 20% (o vídeo mostra mais por causa da gravação do vídeo), SEMPRE se TODAS as células forem redesenhadas a 40 fps. A dinâmica normal do secador com esta abordagem irá carregar 5-10% aproximadamente.
A carga é alta somente se for redesenhada uma grande área (~500*500 px) a alta taxa sem pausas (~40+ fps). Qualquer atraso ou redução da área de redesenhamento reduz a carga em um fator de dois.