Dokumentation
Anwendungen
Zuletzt aktualisiert am 17. 6. 2020 von Mark Fric
Protokollierung und DebugColsole
Inhalt der Seite
Die DebugConsole in StrategyQuant X soll das Debuggen/Protokollieren erleichtern, wenn Sie Ihre eigenen Snippets im SQ CodeEditor entwickeln.
Es ist einfach zu bedienen und ermöglicht es Ihnen zu sehen, was "hinter den Kulissen" vor sich geht, wenn Ihr Snippet ausgeführt wird.
Wie man sie im Code verwendet
Es sind zwei Methoden verfügbar:
Fehlersuche(Kategorie, Nachricht)
protokolliert die Nachricht auf einer Debug-Konsole (mehr dazu später)
und
fdebug(Kategorie, Nachricht)
protokolliert die Meldung in einer Standard-Protokolldatei unter /user/log/StrategyQuant
Beide Methoden haben die gleichen zwei Parameter:
- Kategorie (string)- Name der Protokollierungskategorie - wenn Sie mehrere Debug-Meldungen haben, können Sie diese kategorisieren, um die Meldungen nach Kategorien zu ordnen
- Nachricht (string) - eine zu protokollierende Textnachricht
Hinweis - die Funktionen debug() und fdebug() sollten in allen Snippet-Klassen ab Build 128 verfügbar sein. In Build 128 fehlen diese Methoden in Indikator-Klassen, so dass Sie alternative Aufrufe verwenden können:
debug() -> DebugConsole.log()
log() -> Log.info()
Beispiel für die Verwendung
Wir werden einem CCI-Indikator eine Protokollierung hinzufügen, und zwar zu seinem OnBarUpdate() Methode, bei der die Indikatorwerte berechnet werden:
@Override protected void OnBarUpdate() throws TradingException { averageCalculator.onBarUpdate(Input.get(0), CurrentBar); if (CurrentBar == 0) { Value.set(0, 0); } sonst { 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(Mittelwert < 0,0000000001) { Wert.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-Wert ist: "+cci); } } }
Beachten Sie, dass wir nur eine Zeile hinzugefügt haben:
debug("CCI", "Der CCI-Wert ist: "+cci);
Wir haben debug() Methode, so dass die protokollierten Meldungen zu einer speziellen Debug-Konsole hinzugefügt wurden, die oben rechts unter dem Debug-Symbol zu finden ist:
Wenn Sie es öffnen, nachdem Sie einen Test einer Strategie mit CCI-Indikator ausgeführt haben, sehen Sie, dass die Meldungen protokolliert wurden:
War dieser Artikel hilfreich? Der Artikel war nützlich Der Artikel war nicht nützlich
wenn ich den Befehl fdebugfunktioniert, kann ich die Ausgabe im Protokoll sehen, aber wenn ich Fehlersuche in der Debug-Konsole erscheint nichts
Ich kann keine andere Kategorie als "alle" auswählen.
Ist diese Methode nun gescheitert? Weil sie nicht verwendet werden kann
Fehlersuche(Kategorie, Nachricht) und fdebug(Kategorie, Nachricht) direkt im Code-Editor.
seltsamer Titel : Protokollierung und DebugColsole