Para Julio_dsl

Todo sobre el trading en los mercados financieros: funcionamiento, dudas, noticias, etc.
Responder
tamayo
Mensajes: 5
Registrado: 07 Mar 2005 14:01

Para Julio_dsl

Mensaje por tamayo »

Antes que nada y aunque sea con un poco de retraso, agradecerte la ayuda que me prestaste con el sistema en el mensaje que puse el dia 9-3.
Abusando de tu amabilidad, me gustaria que si pudieses me ayudases con el problema que me he encontrado.:
En el programa inclui todas las instrucciones me me distes, compile el programa, no me dio ningun error, se genero la DLL, se incluyo en los sistemas del Visual, pero al intentar insertar el sistema en un grafico me sale el siguiente mensaje:
"Ocurrio un error de ejecucion en Visual Basic.Verifique o depure el codigo desde el entorno Vba.
Error: Desbordamiento"
Programar en Vsual Basic no tenia ni idea, pero con el manual de una pagina que publico X-trader hace algun tiempo, he empezado a hacer alguna cosilla.
En otros lenguajes de programacion mas o menos si se lo que significa el error DESBORDAMIENTO, pero en Visual Basic ni idea. He repasado el programa y creo que lo he hecho bien, aunque como es logico en algun sitio habre metido la pata.
Te agradeceria , me ayudases con esto.
Saludos.
julio_dsl
Mensajes: 2
Registrado: 21 Sep 2004 21:00

Mensaje por julio_dsl »

Pues lo único que se me ocurre es lo obvio: el programa compila bien (por eso genera la DLL), pero se produce un error de ejecución. Esta es una de las razones por las que no me gusta ninguna versión de basic (y eso que he programado en este lenguaje), los errores son difíciles de encontrar por la propia filosofía del lenguaje de programación. El principal problema es que las variables no se declaran, y eso provoca que si te equivocas, y usas Openn_price en vez de Open_price, por ejemplo, el programa se da como válido, puesto que internamente es declarada otra variable con el nombre erróneo. Esto, que al principio puede paracer una ventaja al programador principiante (puesto que no tiene que declarar nada), es un grave inconveniente en cuanto el programa se complica un poco o nuestros objetivos son programas profesionales o "serios", en este caso, puesto que nos jugamos la pasta. Paradójicamente, el Visual Basic PERMITE (y a veces OBLIGA en ciertos casos) la declaración de variables, pero esto no vale para nada mientras también permita la no-declaración y considere a las variables erróneas como nuevas. No quiero enrollarme, tan sólo es que lo más seguro es que te haya pasado algo de esto. Por ejemplo, otro caso más grave de confusión de variables (que a mí me ha ocurrido) es escribir Open cuando queremos decir .Open, lo cual interfiere directamente con una función interna de visualchart, pero que también será dado por válido y el programa se compilará la DLL. Entonces lo más seguro es que te dé un error de ejecución y puede que de desbordamiento, ya que internamente la función .Open se refiere a un array (ya que podemos referirnos al precio de hace x días). Estos errorcillos tardarás bastante en verlos en un listado y el compilador no los detecta (lo cual debería, pero no puede porque no infringe ninguna regla del lenguaje de programación), yo que tú miraría con lupa el listado para ver si has cometido un error de estos.

Por eso y por muchos otros detalles es por lo que en su momento abandoné el visualchart. Actualmente (y a ratos, porque no dispongo de mucho tiempo) me estoy haciendo un pequeño programa en C para comprobar estrategias a partir de históricos, porque así estaré seguro al 100% de que los resultados sean fiables, además, hay muchas estrategias que no he podido siquiera programar en visualchart (unas propias y otras que me han pedido). Por ejemplo, yo no he encontrado la manera de automatizar una estrategia basada en varias escalas temporales, y me explico: por ejemplo, utilizamos un gráfico diario para ver la tendencia general, el de media hora para entrar, y el de 5 minutos para salir, pongamos por caso (este tipo de estrategias me interesan mucho, pues no todo tiene por qué ser medido con el mismo gráfico).

(no quiero desanimarte a ti ni a nadie con lo del basic, sencillamente es una opinión personal, a algunas personas les servirá de maravilla y funcionarán bien con él, sobre todo si no habían programado antes, pero a mí, sencillamente, no me sirve)

Si no te aclaras, puedo echar un vistazo al código si lo posteas, o si me lo mandas por mail o por privado.

Saludos.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!
Responder

Volver a “Trading en General”