es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error ocurre en la cláusula SELECT al buscar el módulo de análisis técnico en DolphinDB.

La imagen muestra el esquema de la tabla:
enter image description here

La línea reportó un error al consultar los datos:

select *,bBands(close, 5, 2, 2, 0) as highmid`low from kline

El mensaje de error es:

The calculated column was not initialized or an exception was raised.

Sin embargo, otro script que intenté no reportó el error:

close = 7.2 6.97 7.08 6.74 6.49 5.9 6.26 5.9 5.35 5.63 3.81 3.935 4.04 3.74 3.7 3.33 3.64 3.31 2.69 2.72
date = (2020.03.02 + 0..4 join 7..11).take(20)
symbol = take(F,10) join take(GPRO,10)
t = table(symbol, date, close)
select *, bBands(close, 5, 2, 2, 2) as highmid`low from t context by symbol

¿Por qué se produce el error y cómo puedo evitarlo en mi código?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El error ocurre cuando la función bBands es llamada en la instrucción select, pero las columnas calculadas high, mid y low no son inicializadas previamente. Esto se podría resolver inicializando la tabla con las columnas calculadas antes de ejecutar la instrucción select. Por ejemplo:

    kline = kline + select bBands(close, 5, 2, 2, 0) as `high`mid`low from kline
    select * from kline
    

    Esto agrega las columnas calculadas a la tabla kline antes de ejecutar la instrucción select.

    El segundo script no reporta un error porque la tabla t es inicializada con la columna close antes de llamar a la instrucción select con la función bBands. Por lo tanto, las columnas high, mid y low son inicializadas con los valores deseados.

Comments are closed.