Documentação

Aplicações

Última atualização em 17. 6. 2020 por Mark Fric

Logging e DebugColsole

O DebugConsole no StrategyQuant X tem o objetivo de facilitar a depuração/registro quando você desenvolve seus próprios trechos no SQ CodeEditor.

É simples de usar e permite que você veja o que está acontecendo "por trás da cena" quando o snippet é executado.

 

Como usá-lo no código

Há dois métodos disponíveis:

debug(categoria, mensagem)
registra a mensagem em um console de depuração (mais sobre isso posteriormente)

e

fdebug(categoria, mensagem)
registra a mensagem em um arquivo de registro padrão localizado em /user/log/StrategyQuant

Ambos os métodos têm os mesmos dois parâmetros:

  • categoria (string)- nome da categoria de registro - quando houver várias mensagens de depuração, você poderá categorizá-las para poder filtrar as mensagens por categoria
  • mensagem (string) - uma mensagem de texto real a ser registrada

Observação - as funções debug() e fdebug() devem estar disponíveis em todas as classes de snippet nas compilações a partir da 128. Na compilação 128, esses métodos estão ausentes nas classes de indicadores, portanto, você pode usar chamadas alternativas:
debug() -> DebugConsole.log()
log() -> Log.info()

 

Exemplo de uso

Adicionaremos um registro a um indicador CCI, ao seu EmBarUpdate() em que os valores dos indicadores são computados:

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

            debug("CCI", "O valor do CCI é: "+cci);
        }
    }
}

 

Observe que adicionamos apenas uma linha:

debug("CCI", "O valor do CCI é: "+cci);

Usamos debug() portanto, as mensagens registradas foram adicionadas a um console de depuração especial que está disponível no canto superior direito, no ícone de depuração:

Ícone do console de depuração

Ao abri-lo depois de executar um teste de alguma estratégia que contenha o indicador CCI, você verá que as mensagens foram registradas:

O console de depuração é exibido

 

 

Este artigo foi útil? O artigo foi útil O artigo não foi útil

Assine
Notificação de
3 Comentários
Mais antigo
Novidades Mais Votados
Feedbacks em linha
Ver todos os comentários
Emmanuel
24. 11. 2021 9:54 am

Se eu usar o comando fdebugSe eu usar o debug nada aparece no console de depuração

Não consigo selecionar nenhuma categoria que não seja "todos"

SteveChou
14. 3. 2023 6:45 am

Esse método falhou agora? Porque ele não pode ser usado
debug(categoria, mensagem) e fdebug(categoria, mensagem) diretamente no editor de código.

Emmanuel
21. 4. 2023 11:50 am

título estranho : Registro e DebugColsole