Discusión sobre el artículo "Desarrollo de un sistema de repetición — Simulación de mercado (Parte 23): FOREX (IV)"
Hola querido Daniel,
Felicidades por este gran sistema que has diseñado.
Me he encontrado con algunos problemas mientras probaba tu sistema y necesito tu ayuda.
La primera cosa es que he guardado los datos de garrapatas durante un mes y lo puso para la repetición. Sin embargo, en el TimeFrame de 1 minuto para la repetición en un mes con el cambio del pin en el deslizador, el número de velas que se muestra no coincide con la posición del pin en el deslizador, he mostrado esto en el video adjunto. He llevado la patilla hasta el final, pero las velas sólo se repiten durante un pequeño número de barras de 1 minuto (unas 20 barras).
Lo segundo es que necesito cambiar este sistema para que la forma en que se mueven las barras sea como en Strategy Tester, es decir, que la posición del pin represente la velocidad a la que se muestran las barras, o que tenga la posibilidad de moverse barra a barra como en la web de TradingView. Su sistema es de tal manera que se puede cambiar así????
Le agradecería si me pudiera orientar.
Atentamente,
Lo segundo es que necesito cambiar este sistema para que la forma en que se mueven las barras sea como en Strategy Tester, es decir, que la posición del pin represente la velocidad a la que se muestran las barras, o que tenga la posibilidad de moverse barra a barra como en la web de TradingView. Su sistema es de tal manera que se puede cambiar así????
Les agradecería si me pudieran orientar.
Atentamente,
OK, vayamos por partes, como diría JACK...😁👍
Puede que estés muy confundido con esta aplicación, o mejor dicho, puede que estés esperando que esta aplicación se use para algo para lo que no estaba pensada en un principio. No digo que no se pueda utilizar para algo en concreto, como por ejemplo un probador de estrategias. Pero ese no era el objetivo inicial para implementarlo.
En cuanto a la primera pregunta: Puede que no hayas entendido realmente cómo se llevará a cabo la repetición/simulación. Olvídate del control deslizante por un momento. Cuando reproduzcas el sistema, recuperará los datos que se han cargado, ya sea como ticks o barras, y los mostrará como barras en el gráfico, basándose en un tiempo de 1 minuto. Esto es independiente del tiempo del gráfico que quieras utilizar. Es por eso que los datos en el archivo deben ser considerados como barras de 1 minuto. No debe considerar los datos del archivo como datos individuales. Esta aplicación no lo ve de esa manera. Siempre interpretará las barras, incluso las de dos horas, como barras de 1 minuto. Siempre.
Si utiliza barras, la aplicación se dará cuenta automáticamente y creará una simulación para que cada barra tenga una duración aproximada de 1 minuto. Creando tantos ticks como sean necesarios para que los valores se representen correctamente en el gráfico. Si los datos del fichero son ticks, el sistema lanzará cada tick al intervalo aproximado definido entre ellos, ver artículos anteriores para entender esto. Este intervalo puede variar desde unos pocos milisegundos hasta varias horas. Pero al hacer esto, cualquier cosa en el intervalo será tratada como una subasta o una interrupción de la negociación. Así que si utiliza datos con un intervalo de más de un día, o 24 horas, lo más probable es que la aplicación no sea capaz de reconocer las barras correctamente. Este es el caso si utiliza el deslizador para buscar un nuevo punto de estudio. Por este motivo, debe evitar utilizar datos con un intervalo de tiempo superior a un día.
Recuerde que la aplicación está diseñada para ser utilizada en un tiempo equivalente al tiempo real. En otras palabras, periodos cortos. Para introducir periodos largos en el estudio. Si necesita utilizar una media o indicador que requiera el trazado de muchas barras. NO DEBE utilizar los datos en la repetición o simulador. Debe utilizarlos como barras anteriores. Este es el primer punto que debes tratar de entender.
En cuanto a la segunda pregunta: Usted imagina que el deslizador buscará un punto específico. Efectivamente lo hace, pero no de la manera que usted quiere o imagina. Para entenderlo mejor, echa un vistazo a los artículos anteriores donde se implementó el deslizador. Allí verás en detalle cómo busca realmente una posición concreta. Pero en esta misma pregunta, estás confundiendo el uso del control. Ya que también planteas la idea de que podría utilizarse para modificar la velocidad a la que se trazan las barras. Este no es el caso en absoluto. El trazado que notas, cuando arrastras el mando y luego pulsas el botón de reproducción, se produce a mayor velocidad. En realidad es una ilusión creada por la aplicación. Para mostrar cómo se crearon las barras hasta el punto en el que indicaste que se iniciara la simulación o la reproducción, para que puedas realizar tu estudio.
Mi sugerencia es: Lee atentamente los artículos anteriores, y si tienes alguna duda, puedes ponerla como comentario. Esto te facilitará mucho la comprensión de lo que realmente ocurre y cómo puedes utilizar la aplicación con una buena experiencia de usuario. Si tienes alguna duda puedes preguntar en los comentarios .... 😁👍
Vale. Vamos a desglosarlo como diría JACK...😁👍
Quizás estés muy confundido con esta aplicación, o mejor dicho, quizás estés esperando que esta aplicación llegue a servir para algo, para lo que en realidad no estaba pensada en principio. No digo que no se pueda utilizar para algo en concreto, como por ejemplo un comprobador de estrategias. Pero este no era el objetivo inicial para que se implementara.
Sobre la primera pregunta: Es posible que no haya entendido realmente cómo la repetición / simulación va a suceder. Olvídate del control deslizante por un momento. Al pulsar el botón de reproducción, el sistema recuperará los datos que se hayan cargado, ya sea como ticks o barras, y los mostrará como barras en el gráfico, basándose en un tiempo de 1 minuto. Esto es independiente del marco temporal que desee utilizar. Por esta razón, los datos, que deben estar en el archivo, deben pensarse como barras de 1 minuto. No debe considerar los datos del fichero como datos individuales. Porque esta aplicación no los ve de esa manera. Siempre interpretará las barras, incluso las de dos horas, como barras de 1 minuto. Siempre .
Si utiliza barras, la aplicación se dará cuenta automáticamente y creará una simulación para que cada una de las barras tenga una duración aproximada de 1 minuto. Creando tantos ticks como sean necesarios para que los valores se representen correctamente en el gráfico. Si los datos presentes en el fichero son ticks, el sistema registrará cada uno de los ticks en el intervalo aproximado que se defina entre ellos. Ver artículos anteriores para entender esto. Dicho intervalo puede variar desde unos pocos milisegundos hasta varias horas. Pero al hacer esto, cualquier cosa que esté dentro del intervalo será tratada como una subasta o una retención de operaciones. Así, si utiliza datos con un intervalo de más de un día, es decir, 24 horas, lo más probable es que la aplicación no sea capaz de reconocer las barras correctamente. Esto ocurre si se utiliza el deslizador para buscar un nuevo punto de estudio. Por lo tanto, hay que evitar utilizar datos con un tiempo superior a un día.
Recuerde que la aplicación fue pensada para ser utilizada en un tiempo equivalente al tiempo real. Es decir, periodos cortos. Entrar con periodos largos en el estudio. En caso de necesitar utilizar algún promedio o indicador que necesite muchas barras para ser graficado. NO DEBE utilizar los datos en la repetición o simulador. Debes colocarlos como prebarras. Este es el primer punto que debes tratar de entender.
Ahora sobre la segunda pregunta: Te imaginas que el deslizador buscará un punto específico. Efectivamente, lo hace, pero no de la forma que tú quieres o imaginas. Para entenderlo mejor, vea los artículos anteriores, donde se implementó el control. Allí verás en detalle cómo hace realmente para buscar una determinada posición. Pero en esta misma pregunta, usted está confundiendo el uso del control. Ya que también planteas la idea de que tal vez sirva para modificar la velocidad en el trazado de las barras. Esto en realidad no ocurre en absoluto. Tal trazado que observas, al arrastrar el control y luego presionar el botón de play, en este a mayor velocidad. En realidad es una ilusión creada por la aplicación. Para mostrar cómo se crearon las barras hasta el punto en que usted indicó que la simulación o la reproducción debe comenzar,
Mi sugerencia es: Lee con calma los artículos anteriores, y en caso de duda, ponlos como comentario. Porque te será mucho más fácil entender lo que realmente está pasando y cómo puedes utilizar la aplicación teniendo una buena experiencia de usuario. Cualquier duda puedes preguntar en los comentarios.... 😁👍
Cambiar la velocidad es muy sencillo. Sólo tienes que ir a la clase C_Replay y buscar la función LoopEventOnTime. Allí hay una llamada a Sleep. Aquí es donde controlamos la velocidad de trazado cuando estamos en modo de reproducción. Pero creo que esto ya ha sido explicado adecuadamente en artículos anteriores.
Cambiar la velocidad es muy sencillo. Sólo tienes que ir a la clase C_Replay y buscar la función LoopEventOnTime. Allí hay una llamada a Sleep. Aquí es donde controlamos la velocidad de trazado cuando estamos en modo reproducción. Pero creo que esto ya se ha explicado adecuadamente en artículos anteriores.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Desarrollo de un sistema de repetición — Simulación de mercado (Parte 23): FOREX (IV):
La creación ahora se realiza en el mismo punto en el que convertimos los ticks en barras. Así, si algo va mal durante la conversión, nos daremos cuenta del error enseguida. Esto se debe a que el mismo código que coloca las barras de 1 minuto en el gráfico cuando avanzamos rápidamente también se utiliza para el sistema de posicionamiento y para colocar las barras durante el avance normal. En otras palabras, el código responsable de esta tarea ya no se duplica en ningún lugar. De esta manera, tenemos un sistema mucho más adecuado tanto para el mantenimiento como para las mejoras.
En el artículo anterior, "Desarrollo de un sistema de repetición — Simulación de mercado (Parte 22): FOREX (III)", hicimos algunas modificaciones en el sistema para lograr que el simulador pueda generar información basada en el BID y no solo en el LAST. Pero estas modificaciones no me dejaron satisfecho, y la razón es simple: estamos duplicando código. El hecho de que esta duplicación esté ocurriendo no me resulta cómodo en absoluto.
Pero dado que el código ya estaba cerrado para el artículo y el mismo ya estaba casi listo, dejé las cosas como estaban. Pero eso me molestaba mucho. No tiene sentido que el código funcione en ciertas situaciones y no en otras. Incluso al depurar el código e intentar encontrar la causa del error, realmente no podía encontrarla. Pero al ignorar el código por un momento y observar el diagrama de flujo del sistema (y sí, siempre debes intentar usar un diagrama de flujo para agilizar la codificación), noté que podría hacer algunos cambios para evitar la duplicación del código. Y para empeorar las cosas, el código realmente se estaba duplicando. Esto era lo que causaba el problema que, personalmente, no podía resolver. Pero hay una solución, y vamos a comenzar este artículo resolviendo este problema. Ya que su existencia podría hacer que la codificación adecuada del simulador, para manejar los datos de mercado como se encuentran en FOREX, sea inviable.
Autor: Daniel Jose