Mitschrift des Chats vom 18/11/2021

Nochmals vielen Dank an alle Teilnehmer des letzten Coding Chats.

Die nächste Coding-Session findet am 25. November um 14:00 Uhr MEZ statt, das ist 13:00 Uhr Londoner Zeit, 8 Uhr New Yorker Zeit, 5 Uhr San Franciscoer Zeit, 0:00 Uhr Sydneyer Zeit.

Alle Menschen, die die Formular für das Interesse an einer Coding-Session werden über jede nächste Sitzung benachrichtigt (bis sie sich von der Sitzungs-Mailingliste abmelden), wenn Sie eine Einladung erhalten möchten, füllen Sie bitte das Formular hier.

Abschrift der Codierungssitzung - es handelt sich nicht um eine 100%-Übereinstimmung, sondern sie ist gefiltert und zur besseren Lesbarkeit nach dem Thema der Frage gruppiert.

 

 

beetrader
Ist es möglich, die Farbkodierung in der Korrelationsmatrix zu ändern? Extrem negative Zahlen werden grün dargestellt. Ich möchte die gleichen Farbtöne wie die positiven Zahlen haben, wenn sich die negativen Zahlen von Null entfernen. Gibt es eine Möglichkeit, dies im Code zu tun?

Mark - SQ
Ich glaube, es ist nicht möglich, die Farben im Moment zu ändern, sie sind fest kodiert
aber ich verstehe. Im Prinzip ist alles anpassbar, auch die Farben in der Korrelationsmatrix-Tabelle, aber wir können nicht jede einzelne Sache im Programm konfigurieren. Ich bezweifle, dass es viele andere Nutzer gibt, die von dieser Funktion profitieren würden, daher hat sie für uns eine geringe Priorität. Wir müssen uns auf wichtigere Dinge mit den größten Auswirkungen konzentrieren

 

 

beetrader
Ich möchte eine Datenbank zum Speichern der XML-Ergebnisse implementieren. Erwarten Sie in den nächsten Monaten irgendwelche Änderungen, oder kann ich sie in der aktuellen Spezifikation sicher speichern?

Mark - SQ
Nein, XML sollte sich nicht ändern. Es kann zwar erweitert werden (neue Tags oder Attribute), aber das sollte sich nicht auf den Code auswirken, der es verarbeitet

 

 

beetrader
Ist es möglich, eine andere Preisdatenquelle als die im Datenmanager aufgelisteten zu verwenden, z. B. kann ich Preise aus einer Mongodb- oder Sql-Datenbank abrufen?

Mark - SQ
Die einfachste Lösung wäre, die Preise aus Ihrer DB in ein CSV-Format zu exportieren. Dann können Sie jedes CSV-Format einfach in SQ importieren.

 

 

sebasfiorent 
Ich suche gerade, wie man einen FormulaBlock implementiert, um einen festen Betrag in (USD/EUR, d.h. Kontowährung) für TakeProfit zu implementieren

Mark - SQ
es sollte eine Formel im Paket SQ.Formulas.SLPT sein. Aber um ehrlich zu sein, haben wir nicht versucht, diesen Teil extern zu erweitern. Es gibt einige Abhängigkeiten, die ein Problem darstellen könnten - Sie können eine neue Formel in SQ erstellen, aber Sie müssten auch ihre "Übersetzung" in MT4/5 MQL und/oder TS EasyLanguage hinzufügen, damit sie im endgültigen generierten Code für diese Plattformen funktioniert

 

 

beetrader
Frage mit offenem Ende: Es gibt ein paar Indikatoren von John Ehlers in der SQX, sind seine anderen auf Signalverarbeitung basierenden Indikatoren schwierig oder unmöglich in der SQX zu implementieren?

Mark - SQ
Sie können implementiert werden, es war nur keine Zeit dafür. Es gibt Tausende von möglichen Indikatoren, die in SQ implementiert werden könnten, wir haben die ausgewählt, die wir bevorzugen. Wir fügen ab und zu ein paar hinzu

clonex
Dies sollte kein Problem sein

Es ist nicht so schwer. Pls Senden Sie mir hier Indikatoren von Ehlers Sie gemeint haben, implementiert.
Ich habe etwas im Prozess der Arbeit Autokorrelation, etwas getan wird (Reflex), aber es gibt viele mögliche.

beetrader
Ok, danke, wir können einige davon umsetzen. Was ich wissen wollte, ist vielleicht eine Liste von Problemen, auf die man achten sollte. Wenn Sie z. B. wissen, dass etwas definitiv nicht funktioniert, wenn Sie versuchen, es zu implementieren, dann ist es für die Entwickler/Erweiterer von SQX nützlich, dies im Voraus zu wissen.

Mark - SQ
Ich bin nicht sicher, ob es bei der Implementierung der Indikatoren Probleme gibt, wenn es sich nicht um spezielle Multi-Timeframe-Indikatoren handelt.
Indikatoren in SQ sind recht einfach, ihre Logik ist ähnlich wie NinjaTrader C#-Indikatoren - ich empfehle Ihnen, für NT indicato rimplementation suchen, könnte es sehr einfach sein, diese zu SQ konvertieren

beetrader
Vielen Dank, das ist ein "gotcha".

 

 

beetrader
Gibt es eine Möglichkeit, SPP so zu erweitern, dass es den Mediangewinn und nicht den Durchschnittsgewinn verwendet?

Mark - SQ
Ich bin mir nicht sicher, was Sie meinen. SPP verwendet nicht den Median- oder Durchschnittswert, um den Parameterwert auszuwählen, sondern sucht nach dem stabilsten Bereich.

beetrader
Muss ich einen Änderungsantrag stellen oder ist es zu kompliziert, die derzeitige Architektur zu ändern?

beetrader
Ich habe auf dem Bild markiert

Mark - SQ
Ich sehe, es ist nicht SPP, sondern Optimierungsprofil. Der Durchschnitt wird dort verwendet, weil er in der Originalarbeit verwendet wird, auch die Standardabweichung wird normalerweise vom Durchschnitt gemessen. Ich bin mir nicht sicher, wie es sich im Falle von Median verhalten würde

beetrader
Natürlich verstehe ich das. Das Problem ist, dass seit SPP basiert auf Median-Werte, sind wir nicht dann über und unter geschätzt, wenn wir auf die Verwendung der durchschnittlichen Gewinne und nicht der Median Gewinn wechseln. Ich kann mit den Einstellungen herumspielen, um die besten StdDev-Zahlen zu finden, so dass es nicht eine hohe Priorität Punkt.

 

 

beetrader 
Ist es Ihnen gelungen, einen Weg zu finden, Martingale in QuantAnalyser zu implementieren?

clonex
Verstehen Sie 1) einfacher Weg ist es, es in was, wenn scenarion zu implementieren, wo Sie Schleife troght Auftragsliste 2) härter Weg ist, dies in Geld-Management-Plugin in QA tun

 

 

beetrader
Ich möchte fragen, ob es eine fertige Metrik (wie Sharpe oder Sqn) gibt, die Statistiken über häufigere "Mark-to-Market"-Geschäfte als nur abgeschlossene Geschäfte erstellen würde.
Im Aktienbereich ist es beispielsweise üblich, bei mehrtägigen Geschäften eine tägliche Marktbewertung vorzunehmen und die Sharpe Ratio anhand der täglichen PNL zu berechnen.

clonex
Sie meinen so etwas wie: Sharpe für die letzten 20 Trades berechnen?

clonex
Noch nicht, und das hat für mich wirklich keine Priorität. Es gibt viel bessere Dinge, die vor uns liegen, bei allem Respekt
Derzeit arbeite ich an "Was wäre wenn"-Schnipseln:
1) man erkennt die maximale DD im IS Zug/oder Test - dann wird der Handel eingestellt, wenn die DD-Schwelle im OS erreicht wird
2) Simulation des Aktienhandels in Was-wäre-wenn-Szenarien (zusammen mit Kontokontroll-Snippets in MT4/MT5) (sie sind fertig, aber noch nicht veröffentlicht)

beetrader
Ja, ich weiß, dass Sie viel zu tun haben. Ich brauche nur eine Anleitung, wie ich mich im QA-Code auf frühere Abschlüsse beziehen kann,

Mark - SQ
Nein, eine solche Metrik gibt es nicht. In SQ berechnen wir die Metriken erst nach dem Backtest der Strategie, daher hat es keinen Zugang zu jeder Bewegung im Handel. Es speichert MAE/MFE, dies kann verwendet werden, um diese Art von Metriken zu einem gewissen Grad zu berechnen.

beetrader
er meint, während ein Handel offen ist, möchte er die In-Play-Statistiken wie diese MAFE https://strategyquant.com/codebase/mafe-profit-factor/

os
Ich meine die Berechnung aus dem täglichen pnl zum Beispiel, einschließlich des "nicht realisierten" Teils

Das Problem mit allen "risikoangepassten Renditemetriken" in SQX, die ich gefunden habe (Sharpe, Sqn, Return over dd), ist, dass man eine "kaputte" Strategie haben kann, die langfristig in einer Verlustposition bleibt (Wochen, Monate), sie kann einen riesigen unrealisierten Drawdown haben (wie 50%+), aber wenn man seine Statistik (Sharpe) nur anhand der realisierten PNL berechnet (nicht anhand der Marktbewertung), wird sie unrealistisch gut aussehen.

@beetrader ja, so etwas wie MAE ist ein Workaround. Das ist es, was ich jetzt als Fitnessfunktion verwende, eine Kombination aus Rendite, Sharpe/Sqn und MAE.
Das ist in Ordnung, aber ich würde gerne etwas Besseres implementieren...

clonex
Ich weiß nicht, wie man das im Moment macht, aber ich habe viele unveröffentlichte Snippets mit MAE / MFE gemacht, ich weiß nicht, wie man das jetzt macht
Die Gesamtkantenquote, die mfe- und die mae-Analyse können uns viel mehr sagen, als ich erwartet habe.
Bitte bewahren Sie diese Frage für den morgigen Tag auf @os os.

clonex
Ich bin mir nicht sicher, ob dies jetzt in QA möglich ist. Es fehlen im MoneyManagementTypes Paket
Es sollte möglich sein, die Bestellung als Instanzvariable zu verfolgen, ich weiß es nicht.

os
Gut, danke.

Zum Beispiel geht es in dieser Frage und der ersten Antwort genau um dieses Problem...
Es ist sinnvoll, unrealisierte pnl (eröffnete Trades pnl) täglich zu betrachten, da Sie sonst ein Jahr lang offene Trades haben können und nicht sehen, was in der Zwischenzeit mit Ihrem Kontowert aus Ihrer Statistik passiert.
https://quant.stackexchange.com/questions/9935/calculate-daily-returns-for-sharpe-ratio

clonex
Vielleicht ist es aber auch möglich

 

 

martinx
(übersetzt von Mark) Gibt es eine Funktion, die misst, wie viele Sekunden der Balken gedauert hat? Ich möchte es für Range- und Volume-Bars verwenden

Mark - SQ
martinx - bitte nur auf Englisch. Nein, es gibt keine Funktion, die misst, wie viele Sekunden der Balken gedauert hat. Ich bin mir nicht einmal sicher, ob diese Art von Information für Volumen- und Range-Balken gespeichert ist.

martinx
Funktion gibt es in Standard-Plattform (ich bin mit Tradestation oder multicharts) zum Beispiel in ms, in Ihrer Plattform ist nicht Weise messen diese grundlegenden Sachen? danke

Mark - SQ
Ok, ich verstehe. Ich bin mir jetzt nicht 100% sicher, aber die Zeiten in SQ werden auch in Millisekunden gespeichert. Die Zeiten, die Sie anzeigen, sollten also von Time block/series abrufbar sein. S müssen Sie nur Time(0) - Time(1) machen, um eine Differenz zwischen dem vorherigen und dem aktuellen Bar zu erhalten

 

 

EmmanuelE
Ich möchte Strategien für mehrere Positionen erstellen, z. B. mehrere Käufe und Verkäufe,
Absicherung der Position. Wo kann ich diese Snippets im CodeEditor entwickeln?

Ich sehe, dass wir eine neue "Order Action" erstellen können oder ist es ein neues "Money Management"?

Wo kann ich ein Handelsmanagement mit mehreren Positionen entwickeln?

Mark - SQ
Sie können mehrere Aufträge mit Enter At Market/Stop/Limit öffnen. In Standardstrategien ist dies nicht möglich, aber wenn Sie die Strategielogik erstellen, können Sie dies im AlgoWizard-Editor tun.
Die Erstellung eines Snippets im Code-Editor ist nicht so einfach

EmmanuelE
Ich habe es im Algowizard gesehen, aber nicht im Code-Editor

Mark - SQ
Ja, Sie können ein neues Order Action Snippet erstellen, aber Sie müssen auch die Art und Weise hinzufügen, wie Sie es in MT4/5 oder EasyLanguage Code übersetzen - je nachdem, welchen Sie verwenden.
CodeEditor ist für die Entwicklung von Handelsblöcken, ich verstehe nicht ganz, was Sie machen wollen. Es sollte einfach sein, in AlgoWizard durch Hinzufügen von mehr EnterAtXXX Blöcke

EmmanuelE
Haben wir ein Beispiel für ein neues Aktions-Snippet?
Wie können wir sie dem Übersetzer in leichter Sprache hinzufügen?

Mark - SQ
Sie können sich EnterAtMarket ansehen, und es gibt einen Quellcode für jeden Baustein im Code Editor - Paket SQ.Blocks.Order.Open

siehe das Beispiel für das Hinzufügen eines Indikators, das Prinzip ist das gleiche: https://strategyquant.com/doc/programming-for-sq/adding-envelopes-indicator-step-by-step/#adding-pseudo-code-template-for-a-new-block
Es handelt sich um eine schrittweise Anleitung zum Hinzufügen eines neuen Indikatorblocks zu SQ.
alle Vorlagen für alle Bausteine sind in Freemarker Sprache im Kodexabschnitt

EmmanuelE
Ich möchte zum Beispiel eine Absicherungsposition hinzufügen können, wenn SQX nach Strategien sucht (nicht im Algowizard)

oder mehr
Ich habe mehrere Handelsmanagementstrategien entwickelt. I
würde sie gerne in SQX hinzufügen
im Code-Editor

Mark - SQ
gibt es im Allgemeinen zwei Möglichkeiten:
1. benutzerdefinierte Snippets - Indikatoren, Bestellaktionen - erstellen, die dies erledigen, aber das ist ziemlich komplex
2. Erstellen Sie Ihre eigene Strategievorlage - SQ kann dann Strategien auf der Grundlage Ihrer Vorlage erstellen
https://strategyquant.com/doc/strategyquant/strategy-templates/

EmmanuelE
Ich bin bereit, Zollschnipsel zu entwickeln.

Mark - SQ
Alle Standardblöcke in SQ haben ihren vollständigen Code in Snippets im Code-Editor

EmmanuelE
Ich studiere jeden einzelnen

EmmanuelE
Wenn ich eine Vorlage in einem Algowizard mit mehreren Positionen erstelle, ist es nicht möglich, eine Strategie in SQX mit zufälligen Indikatorstrategien zu erstellen.
die einzige Lösung ist der Code-Editor

Ich bin bereit, für den Anfang eine Vorlage zu erstellen.

Wenn ich in algowizard eine Vorlage mit mehreren Positionen erstelle, kann ich in SQX keine Strategie mit zufälligen Blockindikatorstrategien erstellen, sondern nur den in algowizard ausgewählten Indikator.

die einzige Lösung ist der Code-Editor

Mark
Ich sehe nicht, warum es nicht mit Templating funktionieren sollte, ich glaube, es ist möglich.

 

 

Poker1
Hallo, wie importiere ich Indikatoren von Tradestation (easylanguage) in SQ.
Ist eine zusätzliche Codierung erforderlich (oder kann ich von TS kopieren und einfügen?

Mark - SQ
Es tut mir leid, aber so einfach ist es nicht. TS verwendet EasyLangiuage und SQ verwendet Java. Jeder Indikator, den Sie übertragen möchten, muss also in SQ implementiert werden.
Sie können es selbst tun, oder Sie können diese Art von Dienstleistung bei jemandem in Auftrag geben - vielleicht bei clonex

Poker1
Na gut. Ich habe nämlich ein paar Indikatoren, bei denen ich gerne Unterstützung hätte.
Wenn es bei Clonex funktioniert?

Mark - SQ
können Sie Clonex fragen:
Kontakt Ivan Hudec StrategyQuantX Berater
Füllen Sie dieses Formular aus.

 

 

oliverhowton
die Post https://strategyquant.com/doc/programming-for-sq/example-per-databank-custom-analysis/ ersetzt diese Funktion Funktionen in quant analyzer. ive versucht, einen bestimmten Durchlauf von einem Spaziergang vorwärts matix Test in einer csv Datei zu speichern und importto quant analyzer, aber sein nicht mögliches, also sind ein wenig verloren zum Nutzen dieser Eigenschaft? danke

Mark - SQ
Oliver, dieses Beispiel ist für StrategyQuant, es würde nicht in QuantAnalyzer funktionieren. Ich habe seit einiger Zeit nicht mehr für QA programmiert, aber Sie sollten in der Lage sein, etwas Ähnliches mit Scripter in QA zu tun - wählen Sie Strategien in der Datenbank aus (oder laden Sie sie von der Festplatte) und tun Sie dann etwas auf ihnen.
Was genau wollen Sie tun?

oliverhowton
so ive fand einen stabilen Lauf/Params-Einstellungen in einem Walkforward und so die einzigartige Equity-Kurve, die ich in Quant Analyzer importieren möchte, aber die CSV-Datei beim Versuch, in QA zu importieren, funktioniert nicht ..... irgendwelche Ideen, wie ich dies erreichen kann? danke

Mark
Ok, jetzt verstehe ich. Das Problem ist, dass QA nur das Hauptergebnis der Strategie lädt, nicht die WF-Ergebnisse.
Ich denke, es gibt eine Lösung, aber keine einfache.
In SQ können Sie die Liste der Abschlüsse für Ihr gegebenes WF-Ergebnis aufrufen und die Abschlüsse in eine CSV-Datei exportieren
in QA können Sie dann diese Liste von Gewerben laden. Das Einzige, was Sie tun müssen, ist, ein benutzerdefiniertes Format anzugeben: https://strategyquant.com/doc/quantanalyzer/formats-supported-in-quantanalyzer/#format-specification
aber Sie müssen es nur einmal tun

Ich habe das benutzerdefinierte Format bereits in einem Kommentar zu Ihrer Aufgabe hinzugefügt: https://roadmap.strategyquant.com/tasks/sq4_8403
Das hinzugefügte Format ist:
Format.4.SkipRow=1
Format.4.Separator=;
Format.4.DateFormat=jjjj.MM.tt HH:mm:ss
Format.4.LineFormat=Unused,Symbol,Action,OpenTime,OpenPrice,Size,CloseTime,ClosePrice,PL,Unused,Unused,Unused,Unused,Unused,Unused,Comment

beetrader
Wenn ich mir Ihre Ergebnisdatei ansehe, denke ich, dass es am besten ist, einfach die optimalen Einstellungen zu wählen, die Sie gefunden haben, und die Strategie in AW erneut auszuführen, Ihre Datei unter einem neuen Dateinamen zu speichern und dann in QA zu importieren. Auf diese Weise erhalten Sie nicht das andere Zeug, weil QA Ihre Ergebnisse als ein Portfolio behandelt. und dann können Sie leicht sehen oder analysieren Sie Ihre Ergebnisse, die ich mit den Pfeilen im Diagramm markiert haben.

oliverhowton
danke. ill nehmen einen anderen Blick. ja die Ausgabe ist ich plane, meine Strategien zu reoptimieren und das wfm rät, bestimmte Einstellungen in die Zukunft für zukünftige Dateneinstellungen zu verwenden, die ich plane zu verwenden. diese Billigkeitskurve, die in der Reihenfolge optimiert worden ist, die ich plane, mit anderen zu vergleichen, also kann ich ein Portefeuille aufbauen. und so sein nicht möglich, passend zu konstruieren. die einzige Methode, die ich ausarbeiten kann, ist, die Einstellungen auf dem wfm Zeitraum zu wiederholen und durch jeden Zeitraum mit den Einstellungen zu schreiten und in einem Portefeuille zu kombinieren, um den zutreffenden Rücktest zu erhalten, aber dieses scheint wie eine Menge Arbeit für gerade eine Strategie

Abonnieren
Benachrichtigen Sie mich bei
1 Kommentar
Älteste
Neuestes Meistgewählt
Inline-Rückmeldungen
Alle Kommentare anzeigen
Emmanuel
27. 11. 2021 4:43 Uhr

es ist hilfreich, die Antwort noch einmal zu lesen

Lesen Sie weiter