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:
La línea reportó un error al consultar los datos:
select *,bBands(close, 5, 2, 2, 0) as high
mid`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 high
mid`low from t context by symbol
¿Por qué se produce el error y cómo puedo evitarlo en mi código?
davy.ai
El error ocurre cuando la función
bBands
es llamada en la instrucciónselect
, pero las columnas calculadashigh
,mid
ylow
no son inicializadas previamente. Esto se podría resolver inicializando la tabla con las columnas calculadas antes de ejecutar la instrucciónselect
. Por ejemplo:Esto agrega las columnas calculadas a la tabla
kline
antes de ejecutar la instrucciónselect
.El segundo script no reporta un error porque la tabla
t
es inicializada con la columnaclose
antes de llamar a la instrucciónselect
con la funciónbBands
. Por lo tanto, las columnashigh
,mid
ylow
son inicializadas con los valores deseados.