El lienzo es genial. - página 89

 
Nikolai Semko #:
La cuestión es que al implementar algo así, inevitablemente te encontrarás con una catastrófica falta de longitud del deslizador.
Por regla general, esto se implementa en un solo deslizador, no en uno, cuya anchura se puede cambiar arrastrando el botón por sus bordes, cambiando así la escala. Pero este enfoque no resuelve el problema de la longitud del deslizador, aunque es más conveniente.

Sí, ya me lo he encontrado ;)

hice uno largo

Todo este baile de pandereta era solo para

ver cómo realmente y lo más importante de qué y por qué el precio se mueve.

ahora está todo claro ;))))

¡por supuesto que está muy bien dibujado en el terminal, pero no es cierto!

gráfico correcto en el trailer
Archivos adjuntos:
777.png  15 kb
 
Renat Akhtyamov #:

sip, ya me lo he encontrado ;)

hizo un largo

Todo este baile de pandereta era solo para

ver cómo va realmente y, lo que es más importante, qué hace que el precio vaya y por qué.

Bueno, ahora está todo claro ;))))

en mi opinión, es mucho más cómodo y visual tener un deslizador bidimensional, cuya coordenada de altura sea la responsable de la escala.
Algo así:

en este caso solo necesitas un clic de ratón con movimiento para llegar a cualquier momento del tiempo de toda la historia con cualquier escala.

 
Nikolai Semko #:

En cuanto a mí, un deslizador bidimensional con una coordenada de altura responsable de la escala es mucho más cómodo y visual.
Algo así:

muy chulo ;)

 
Renat Akhtyamov #:

te ha quedado muy chulo ;)

Gracias,
Quiero hacer uno en toda regla sobre WebAssembly (en Rust).

 
Nikolai Semko #:

Gracias,
Quiero hacer uno completo de estos en WebAssembley (en Rust)

Sí.

Lo principal es que no tienes que cambiar nada.

El plazo mínimo se escala.

y estoy desconcertado - ¿cómo es que las señales son diferentes en diferentes marcos de tiempo al mismo precio?

¿Quién va al bosque, que va al bosque....

Los marcos de tiempo ni siquiera son necesarios en esencia.

ticks son necesarios y eso es todo

 
Renat Akhtyamov #:

No tienes que cambiar nada.

el plazo mínimo está escalado.

y estoy desconcertado - ¿cómo es que las señales son diferentes en diferentes marcos de tiempo al mismo precio?

quien va al bosque, quien va al bosque....

marcos de tiempo ni siquiera son necesarios en esencia.

Se necesitan ticks, eso es todo.

Sí, el modelo actual de timeframes es muy inconveniente. Cada barra del TF senior contiene un número diferente de barras de minutos. Con esta estructura, si el TF senior se reduce suavemente al junior, los gráficos no coincidirán.
He encontrado una solución aceptable para mí.
A partir de M1 formo los siguientes TFs índice M2, M4, M8, M16, M32, M64, M128, M256, M1024, M2048 , M4096, M8192.
En este caso, se garantiza que cada barra de cualquier marco temporal contenga el mismo número de M1.
Todos los TFs se escalan por igual y muy fácil recálculo TF literalmente en una acción matemática. Y hay muchas más ventajas.
El hecho de que cada barra de un TF superior puede ser de diferente densidad de tiempo no me molesta, porque no es la densidad de tiempo que es más importante, pero la densidad de negociación.
Es bastante aceptable utilizar el número de barras de minutos para medir la densidad de negociación.
Podemos ir más allá y utilizar los ticks para medir la densidad de negociación.
 
Nikolai Semko #:
Sí, el modelo actual de marco temporal es muy inconveniente. Cada barra del TF senior contiene un número diferente de barras de minutos. Con tal estructura, si el TF senior se reduce suavemente al junior, los gráficos no coincidirán.
He encontrado una solución aceptable para mí.
A partir de M1 formo los siguientes TFs índice M2, M4, M8, M16, M32, M64, M128, M256, M1024, M2048 , M4096, M8192.
En este caso, se garantiza que cada barra de cualquier marco temporal contenga la misma cantidad de M1.
Todos los TFs se escalan por igual y muy fácil recálculo TF literalmente en una acción matemática. Y muchas otras ventajas.
El hecho de que cada barra de un TF superior puede ser de diferente densidad de tiempo no me molesta, porque no es la densidad de tiempo que es más importante, pero la densidad de negociación.
Es bastante aceptable utilizar el número de barras de minutos para medir la densidad de negociación.
Podemos ir más allá y utilizar los ticks para medir la densidad de negociación.

No estoy del todo de acuerdo

no escalados, sino comprimidos.

Los TF desaparecen.
 
Renat Akhtyamov #:

No estaba del todo bien

no escalado, sino comprimido.

TFmas desaparecen
Como yo uso sólo M1, este problema no existe para mí.
Lo más probable es que sea un problema de sincronización de relevancia de formar matrices de TFs mayores, porque MQ las tiene todas formadas (calculadas) desde M1 también.
O su error
 

Ayúdame a entender el concepto de recurso gráfico y en qué se diferencia del concepto de objeto gráfico en un gráfico.

Por ejemplo, si borro un objeto gráfico creado con Canvas usando la función ObjectDelete(), y luego en un bucle voy a crear objetos Canvas con diferentes nombres una y otra vez, pero usando la misma instancia de la clase Canvas... y de nuevo borraré los objetos gráficos usando ObjectDelete(). ¿Hay algún peligro en esto?

Todavía no entiendo muy bien la diferencia entre ObjectDelete( ) y C.Destroy(), pero me gustaría entenderlo....

 
leon_17 borro un objeto gráfico creado con Canvas usando la función ObjectDelete(), y luego en un bucle voy a crear objetos Canvas con diferentes nombres una y otra vez, pero usando la misma instancia de la clase Canvas... y de nuevo borrar los objetos gráficos usando ObjectDelete(). ¿Tiene algún problema?

Es que todavía no entiendo muy bien la diferencia entre ObjectDelete( ) y C.Destroy(), pero me gustaría entenderlo....

El lienzo es un objeto al que se vincula una matriz de píxeles. El Recurso es el responsable de enlazar esta matriz de píxeles (ver la función bool CCanvas::Create())
Es una mala práctica borrar y volver a crear un lienzo todo el tiempo.
Es una buena práctica crear un lienzo cuando lo necesites y borrarlo cuando ya no lo necesites, por ejemplo, al final del programa.

Una vez creado un objeto lienzo, puedes limpiarlo, sobrescribir la matriz de píxeles en cada fotograma, cambiar el tamaño del lienzo y moverlo a donde quieras.