Documentation

Applications

Dernière mise à jour le 17. 6. 2020 par Mark Fric

Journalisation et DebugColsole

DebugConsole dans StrategyQuant X est destiné à faciliter le débogage/la journalisation lorsque vous développez vos propres snippets dans SQ CodeEditor.

Il est simple à utiliser et vous permet de voir ce qui se passe "derrière la scène" lorsque votre extrait est exécuté.

 

Comment l'utiliser dans le code

Deux méthodes sont disponibles :

débogage(catégorie, message)
enregistre le message dans une console de débogage (plus d'informations à ce sujet ultérieurement)

et

fdebug(catégorie, message)
enregistre le message dans un fichier journal standard situé dans /user/log/StrategyQuant

Les deux méthodes ont les deux mêmes paramètres :

  • catégorie (chaîne)- nom de la catégorie d'enregistrement - lorsque vous avez plusieurs messages de débogage, vous pouvez les classer par catégorie afin de pouvoir classer les messages par catégorie.
  • message (chaîne) - un message texte réel à enregistrer

Note - les fonctions debug() et fdebug() devraient être disponibles dans toutes les classes de snippets à partir de la version 128. Dans la version 128, ces méthodes sont absentes des classes d'indicateurs, vous pouvez donc utiliser d'autres appels :
debug() -> DebugConsole.log()
log() -> Log.info()

 

Exemple d'utilisation

Nous allons ajouter un enregistrement à un indicateur CCI, à son OnBarUpdate() où les valeurs des indicateurs sont calculées :

@Override
protected void OnBarUpdate() throws TradingException {
    averageCalculator.onBarUpdate(Input.get(0), CurrentBar) ;
    
    if (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", "CCI value is : "+cci) ;
        }
    }
}

 

Notez que nous n'avons ajouté qu'une ligne :

debug("CCI", "CCI value is : "+cci) ;

Nous avons utilisé debug() les messages enregistrés ont donc été ajoutés à une console de débogage spéciale, disponible en haut à droite sous l'icône de débogage :

Icône de la DebugConsole

Lorsque vous l'ouvrez après avoir exécuté un test d'une stratégie contenant un indicateur CCI, vous verrez que les messages ont été enregistrés :

DebugConsole affichée

 

 

Cet article a-t-il été utile ? L'article était utile L'article n'était pas utile

S'abonner
Notification pour
3 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Emmanuel
24. 11. 2021 9:54 am

si j'utilise la commande fdebugje peux voir la sortie dans le journal, mais si j'utilise débogage rien n'apparaît dans la console de débogage

Je ne peux sélectionner aucune catégorie autre que "tous"

SteveChou
14. 3. 2023 6:45 am

Cette méthode a-t-elle échoué ? Parce qu'elle ne peut pas être utilisée
débogage(catégorie, message) et fdebug(catégorie, message) directement dans l'éditeur de code.

Emmanuel
21. 4. 2023 11:50 am

titre étrange : Enregistrement et DebugColsole