Documentazione

Applicazioni

Ultimo aggiornamento il 17. 6. 2020 da Mark Fric

Registrazione e DebugColsole

La DebugConsole di StrategyQuant X ha lo scopo di facilitare il debug/logging quando si sviluppano i propri snippet in SQ CodeEditor.

È semplice da usare e consente di vedere cosa succede "dietro le quinte" quando il vostro snippet viene eseguito.

 

Come usarlo nel codice

Sono disponibili due metodi:

debug(categoria, messaggio)
registra il messaggio in una console di debug (per saperne di più in seguito).

e

fdebug(categoria, messaggio)
registra il messaggio in un file di log standard situato in /user/log/StrategyQuant

Entrambi i metodi hanno gli stessi due parametri:

  • categoria (stringa) - nome della categoria di logging - quando si hanno più messaggi di debug è possibile classificarli per poter filtrare i messaggi per categoria
  • messaggio (stringa) - un messaggio di testo effettivo da registrare

Nota - Le funzioni debug() e fdebug() dovrebbero essere disponibili in tutte le classi di snippet nelle build dalla 128 in su. Nella build 128 questi metodi mancano nelle classi di indicatori, quindi è possibile utilizzare chiamate alternative:
debug() -> DebugConsole.log()
log() -> Log.info()

 

Esempio di utilizzo

Aggiungeremo un logging a un indicatore CCI, al suo OnBarUpdate() dove vengono calcolati i valori degli indicatori:

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

            debug("CCI", "Il valore CCI è: "+cci);
        }
    }
}

 

Si noti che abbiamo aggiunto solo una riga:

debug("CCI", "Il valore CCI è: "+cci);

Abbiamo utilizzato debug() quindi i messaggi registrati sono stati aggiunti a una speciale console di debug, disponibile in alto a destra sotto l'icona di debug:

Icona DebugConsole

Quando lo si apre dopo aver eseguito un test di una strategia contenente l'indicatore CCI, si vedranno i messaggi registrati:

DebugConsole visualizzata

 

 

Questo articolo è stato utile? L'articolo è stato utile L'articolo non è stato utile

Abbonarsi
Notificami
3 Commenti
Il più vecchio
Più recente I più votati
Feedback in linea
Visualizza tutti i commenti
Emmanuel
24. 11. 2021 9:54

se utilizzo il comando fdebugfunziona, posso vedere l'output nel log, ma se utilizzo debug , non appare nulla nella console di debug

Non riesco a selezionare una categoria diversa da "tutti".

SteveChou
14. 3. 2023 6:45

Questo metodo è fallito ora? Perché non può essere utilizzato
debug(categoria, messaggio) e fdebug(categoria, messaggio) direttamente nell'editor di codice.

Emmanuel
21. 4. 2023 11:50

titolo strano : Registrazione e DebugColsole