Documentation
Applications
Dernière mise à jour le 17. 6. 2020 par Mark Fric
Journalisation et DebugConsole
Contenu des pages
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 :
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 :
Cet article a-t-il été utile ? L'article était utile L'article n'était pas utile

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"
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.
titre étrange : Enregistrement et DebugColsole
Bonjour,
J'essaie de faire quelque chose de similaire : enregistrer la propagation. Cependant, mon fichier .mp5 donne une erreur lors de la compilation. Quelqu'un sait-il quel est le problème avec le code ?
Merci beaucoup
pseudo-code ("Spread" comme variable double) :
//——————————————————————–
// Règle de trading : Assigner une variable (à l'ouverture de la barre)
//——————————————————————–
si Le bar est-il ouvert ?
{
// Action #1
Diffusion = Spread en Pips("Actuel");
}
//——————————————————————–
// Règle de trading : Enregistrement (à l'ouverture de la barre)
//——————————————————————–
si Le bar est-il ouvert ?
{
// Action #1
Enregistrer dans un fichier: "NQ_spread.txt", “ ”L'écart actuel est de, "+Etendue";}
Voici le message que j'ai écrit dans la boîte de message LogToFile :
"La marge actuelle est de, "+Marge