A lona é legal! - página 89

 
Nikolai Semko #:
A questão é que, ao implementar algo assim, você inevitavelmente se deparará com uma falta catastrófica de comprimento do controle deslizante.
Como regra, isso é implementado em um único controle deslizante, não em um, cuja largura pode ser alterada arrastando o botão pelas bordas, alterando assim a escala. Mas essa abordagem não resolve o problema do comprimento do controle deslizante, embora seja mais conveniente.

Sim, já me deparei com isso;)

fiz um longo

Toda essa dança do pandeiro foi apenas com o propósito de

ver como, de fato, e o mais importante, de que e por que o preço se move.

Agora está tudo claro ;))))

é claro que o terminal tem um belo desenho, mas não é verdade!

gráfico correto no trailer
Arquivos anexados:
777.png  15 kb
 
Renat Akhtyamov #:

sim, já me deparei com ele ;)

fez um longo

Toda essa dança do pandeiro foi apenas com o propósito de

ver como realmente funciona e, mais importante, o que faz o preço subir e por quê.

Bem, agora está tudo claro ;))))

Na minha opinião, é muito mais conveniente e visual ter um controle deslizante bidimensional, cuja coordenada de altura é responsável pela escala.
Algo assim:

Nesse caso, é necessário apenas um clique do mouse com movimento para chegar a qualquer momento do histórico inteiro com qualquer escala.

 
Nikolai Semko #:

Para mim, um controle deslizante bidimensional com uma coordenada de altura responsável pela escala é muito mais conveniente e visual.
Algo assim:

você tem um muito legal ;)

 
Renat Akhtyamov #:

você tem um muito legal ;)

Obrigado,
. Quero fazer um completo sobre o WebAssembly (em Rust).

 
Nikolai Semko #:

Obrigado,
. Quero criar um desses no WebAssembley (em Rust)

Sim.

O principal é que você não precisa trocar nada.

O prazo mínimo é escalonado.

E estou intrigado - como é possível que os sinais sejam diferentes em diferentes períodos de tempo com o mesmo preço?

Quem vai para a floresta, quem vai para a floresta....

Os períodos de tempo não são nem mesmo necessários em sua essência.

Os ticks são necessários e isso é tudo

 
Renat Akhtyamov #:

Sim

Você não precisa trocar nada.

o prazo mínimo é dimensionado.

E estou intrigado - como os sinais são diferentes em diferentes períodos de tempo com o mesmo preço?

quem vai para a floresta, quem vai para a floresta....

Os períodos de tempo não são nem mesmo necessários em sua essência.

Você precisa de ticks, só isso.

Sim, o modelo atual de timeframes é muito inconveniente. Cada barra do TF sênior contém um número diferente de barras de minutos. Com essa estrutura, se o TF sênior for suavemente reduzido para o júnior, os gráficos não coincidirão.
Encontrei uma solução aceitável para mim.
A partir de M1, formei os seguintes índices TFs M2, M4, M8, M16, M32, M64, M128, M256, M1024, M2048, M4096, M8192.
Nesse caso, é garantido que cada barra de qualquer período de tempo contenha o mesmo número de M1.
Todos os TFs são dimensionados igualmente e é muito fácil recalcular o TF literalmente em uma ação matemática. E há muitas outras vantagens.
O fato de cada barra de um TF sênior poder ter uma densidade de tempo diferente não me incomoda, porque não é a densidade de tempo que é mais importante, mas a densidade de negociação.
É bastante aceitável usar o número de barras de minutos para medir a densidade de negociação.
Podemos ir além e usar ticks para medir a densidade de negociação.
 
Nikolai Semko #:
Sim, o modelo atual de período de tempo é muito inconveniente. Cada barra do TF sênior contém um número diferente de barras de minutos. Com essa estrutura, se o TF sênior for suavemente reduzido para o júnior, os gráficos não coincidirão.
Encontrei uma solução aceitável para mim.
A partir de M1, formei os seguintes índices TFs M2, M4, M8, M16, M32, M64, M128, M256, M1024, M2048, M4096, M8192.
Nesse caso, é garantido que cada barra de qualquer período de tempo contenha a mesma quantidade de M1.
Todos os TFs são dimensionados igualmente e é muito fácil recalcular o TF literalmente em uma ação matemática. E muitas outras vantagens.
O fato de cada barra de um TF sênior poder ter uma densidade de tempo diferente não me incomoda, porque não é a densidade de tempo que é mais importante, mas a densidade de negociação.
É bastante aceitável usar o número de barras de minutos para medir a densidade de negociação.
Podemos ir além e usar ticks para medir a densidade de negociação.

Não estou muito certo

não em escala, mas comprimido.

Os TFs desaparecem.
 
Renat Akhtyamov #:

Eu não estava muito certo

não em escala, mas compactado.

TFmas desaparecem
Como uso apenas o M1, esse problema não existe para mim.
O mais provável é que seja um problema de sincronização da relevância da formação de matrizes de TFs sênior, porque o MQ tem todas elas formadas (calculadas) a partir do M1 também.
Ou seu erro
 

Ajude-me a entender o conceito de um recurso gráfico e como ele difere do conceito de um objeto gráfico em um gráfico.

Por exemplo, se eu excluir um objeto gráfico criado com o Canvas usando a função ObjectDelete() e, em seguida, em um loop, criarei objetos do Canvas com nomes diferentes várias vezes, mas usando a mesma instância da classe Canvas... e novamente excluir objetos gráficos usando ObjectDelete(). Há algum perigo nisso?

Ainda não entendo muito bem a diferença entre ObjectDelete() e C.Destroy(), mas gostaria de entender....

 
leon_17 eu excluir um objeto gráfico criado com o Canvas usando a função ObjectDelete() e, em seguida, em um loop, criarei objetos do Canvas com nomes diferentes várias vezes, mas usando a mesma instância da classe Canvas... e novamente excluir objetos gráficos usando ObjectDelete(). Isso está repleto de alguma coisa?

Ainda não entendo muito bem a diferença entre ObjectDelete() e C.Destroy(), mas gostaria de entender....

Canvas é um objeto ao qual está vinculada uma matriz de pixels. O Resource é responsável por vincular essa matriz de pixels (consulte a função bool CCanvas::Create())
É uma má prática excluir e recriar uma tela o tempo todo.
É uma boa prática criar uma tela quando você precisar dela e excluí-la quando não precisar mais dela, por exemplo, no final do programa.

Depois de criar um objeto de tela, você pode limpá-lo, substituir a matriz de pixels a cada quadro, redimensionar a tela e movê-la para onde quiser.