Documentación

Aplicaciones

Última actualización el 17. 6. 2020 by Mark Fric

Registro y DebugColsole

DebugConsole en StrategyQuant X está pensado para permitir una depuración/registro más fácil cuando desarrolle sus propios fragmentos en SQ CodeEditor.

Es fácil de usar y le permite ver lo que ocurre "entre bastidores" cuando se ejecuta su fragmento.

 

Cómo utilizarlo en código

Hay dos métodos disponibles:

depurar(categoría, mensaje)
registra el mensaje en una consola de depuración (más información al respecto más adelante)

y

fdebug(categoría, mensaje)
registra el mensaje en un archivo de registro estándar ubicado en /user/log/StrategyQuant

Ambos métodos tienen los mismos dos parámetros:

  • categoría (cadena)- nombre de la categoría de registro - cuando tienes múltiples mensajes de depuración puedes categorizarlos para poder archivar los mensajes por categoría
  • mensaje (cadena) - un mensaje de texto real a registrar

Nota - las funciones debug() y fdebug() deberían estar disponibles en todas las clases de snippet en builds a partir de 128. En la Build 128 estos métodos faltan en las clases de indicadores, por lo que puede utilizar llamadas alternativas:
debug() -> DebugConsole.log()
log() -> Log.info()

 

Ejemplo de uso

Añadiremos un registro a un indicador CCI, a su OnBarUpdate() en el que se calculan los valores de los indicadores:

@Override
protected void OnBarUpdate() throws TradingException {
    averageCalculator.onBarUpdate(Input.get(0), CurrentBar);
    
    if (CurrentBar == 0) {
        Valor.set(0, 0);
    }
    else {
        double media = 0;
        double sma = mediaCalculator.getValue();
        
        for (int idx = Math.min(CurrentBar, Period - 1); idx >= 0; idx--) {
            media += Math.abs(Input.get(idx) - sma);
        }
        
        if(media < 0.0000000001) {
            Valor.set(0, 0);
        } else {
            double cci = (Input.get(0) - sma) / (media == 0 ? 1 : (0.015 * (media / Math.min(Period, CurrentBar + 1))));
            Value.set(0, cci);

            debug("CCI", "El valor de CCI es: "+cci);
        }
    }
}

 

Observe que sólo hemos añadido una línea:

debug("CCI", "El valor de CCI es: "+cci);

Utilizamos depurar() por lo que los mensajes registrados se añadieron a una consola de depuración especial que está disponible en la parte superior derecha bajo el icono de depuración:

Icono de la consola de depuración

Cuando lo abra después de ejecutar una prueba de alguna estrategia que contenga el indicador CCI, verá que se registraron los mensajes:

Se muestra la DebugConsole

 

 

¿Le ha resultado útil este artículo? El artículo era útil El artículo no era útil

Suscríbase a
Notificar a
3 Comentarios
Más antiguo
Más reciente Más votados
Feedbacks de Inline
Ver todos los comentarios
Emmanuel
24. 11. 2021 9:54 am

si utilizo el comando fdebugfunciona, puedo ver la salida en el registro, pero si utilizo depurar no aparece nada en la consola de depuración

No puedo seleccionar ninguna categoría que no sea "todas".

SteveChou
14. 3. 2023 6:45 am

¿Ha fallado este método ahora? Porque no se puede utilizar
depurar(categoría, mensaje) y fdebug(categoría, mensaje) en el editor de código directamente.

Emmanuel
21. 4. 2023 11:50

título extraño : Registro y DebugColsole