Im vorherigen Artikel haben wir die Vorlagenparameter der „Mai Language Trading Library“ von Mai Language kennengelernt. Diese Vorlage wird bei ihrer Erstellung mit der Mai Language-Strategie geliefert und kapselt einige Funktionen, die in Transaktionen festgelegt werden müssen. In diesem Artikel erfahren Sie mehr über die Verwendung der Mai-Sprache in der Inventor Quantitative Trading Platform.
Die Strategieparameter der Mai-Sprache sind dieselben wie die anderer Sprachen auf der Inventor Quantitative Trading Platform. Sie werden auf der Strategiebearbeitungsseite festgelegt. Beispielsweise verwenden wir die Mai-SprachversionDual Thrust
Strategie als Beispiel.
Strategieadresse: https://www.fmz.com/strategy/128884.
Auf der Seite zur Richtlinienbearbeitung können die für die Richtlinie festgelegten Parameter direkt im Richtliniencode verwendet werden. Die Richtlinienparameter der Mai-Sprache verwenden im Allgemeinen nur numerische Typen. Andere Typen wie Boolesche Typen, Dropdown-Felder, Zeichenfolgen usw. werden nicht häufig verwendet.
Im obigen BeispielN
Der Standardwert dieses Parameters ist 4. Wenn dieser Parameter beim Erstellen des Roboters nicht geändert wird, beträgt der Wert von N in der Strategie 4, nachdem der Roboter ausgeführt wurde.
Wir haben den Inhalt auf der Ebene der Mai-Sprachstrategie bereits verstanden (Strategieparameter der Mai-Sprache, Parameter der Vorlage für die Handelsbibliothek der Mai-Sprache). Als nächstes werfen wir einen Blick auf den tatsächlichen Handel und das Backtesting von Mai Language.
Backtesting
Nachdem Sie den Backtest-Zeitraum (Startzeit, Endzeit) ausgewählt haben, legen Sie den K-Line-Zeitraum der Strategie fest. Mai Language unterstützt auch mehrere K-Line-Zeitraumdaten in der Strategie. Der hier eingestellte K-Linienzeitraum ist jedoch der Standard-K-Linienzeitraum. Wenn er hier auf tägliche K-Linie eingestellt ist, ist das nach Ausführung der Strategie automatisch generierte Diagramm die tägliche K-Linie. Der Backtesting-Modus ist in „Realebene“ und „Simulationsebene“ unterteilt. Einzelheiten finden Sie im Dokument: https://www.fmz.com/digest-topic/4009. Wählen Sie dann den Markt oder die Börse aus, die einem Backtest unterzogen werden soll. Nachdem Sie ihn hinzugefügt haben, können Sie mit dem Backtesting beginnen. Wenn andere Parameter angepasst werden müssen, wie z. B. der anfängliche Backtesting-Fondswert usw., können Sie diese entsprechend den spezifischen Anforderungen festlegen. Es wird eine Eingabeaufforderung, wenn Sie mit der Maus auf den Parameter zeigen.
Parameter, die sich auf den Markt und die Börse beziehen, wie z. B. der Wert des Backtest-Simulationsfonds, der Backtest-Transaktionsgebührensatz, die Backtest-Preisgenauigkeit, die Transaktionsmengengenauigkeit, die Backtest-Datenquelle usw., sind nicht wirksam, wenn sie auf der Backtest-Seite geändert werden. Sie müssen die Sie können zuvor hinzugefügte Märkte und Börsen aufrufen und diese nach Abschluss der Einstellungen erneut hinzufügen.
Festes Angebot
Die eigentliche Einrichtung ist viel einfacher. Sie müssen lediglich einen Host für den erstellten Roboter angeben (d. h., auf welchem Host der Roboter ausgeführt wird). Stellen Sie den K-Line-Zeitraum und das zu bedienende Börsenobjekt (also das konfigurierte Börsenkontoobjekt) ein.
Wenn die Strategie ausgeführt wird, gibt es keinen großen Unterschied zwischen dem tatsächlichen Handel und dem Backtest, außer dass der Backtest einige zusätzliche statistische Daten enthält, die automatisch vom Backtest-System generiert werden.
Informationen zur Statusleiste
Informationen in der Statusleiste, die Tabelle ist hauptsächlich in „Marktinformationen“ und „Fondsinformationen“ unterteilt. MarktinformationenEs zeichnet hauptsächlich die Startzeit des aktuell eingestellten Standard-K-Line-Zyklus, den Transaktionstyp (Vertragscode), das Positionsvolumen, den Positionspreis und andere Daten auf. Es ist zu beachten, dass die Marktaktualisierungen für das „Echtzeit-Preismodell“ und das „Schlusskursmodell“, die in den Vorlagenparametern der Mai Language Trading Library festgelegt sind, unterschiedlich sind. Indem Sie hier auf die zeitlichen Aktualisierungen achten, können Sie die Funktionsweise der Strategie und der Marktaktualisierungen beurteilen. (Vorläufiges Urteil: Programm hängt, Protokolle belegen den Festplattenspeicher usw.)
FinanzierungsinformationenDabei wird im Wesentlichen der Wert des Roboters vom Beginn des Betriebs bis zum aktuellen Kassenbestand erfasst.
Unten in der Statusleiste können auch beliebige Daten der Strategie angezeigt werden, wie im folgenden Beispiel:UPTRACK
, DOWNTRACK
, stellen Sie die Anzeige nach Ihren Bedürfnissen ein. Hier müssen wir über die Zuweisungsmethode im Strategiecode sprechen.
Die folgenden Symbole werden verwendet, um einer Variablen einen Wert zuzuweisen (Auszug aus der API-Dokumentation der Mai-Sprache):
Symbole:
Der Doppelpunkt stellt die Zuordnung dar und wird im Graphen (Untergraphen) ausgegeben und in der Statusleistentabelle angezeigt.
Symbole:=
Der Doppelpunkt steht für eine Zuweisung, wird jedoch weder im Diagramm (Hauptdiagramm, Unterdiagramm usw.) ausgegeben noch in der Statusleistentabelle angezeigt.
Symbole^^
Die beiden ^-Symbole stehen für eine Zuweisung, die der Variablen einen Wert zuweist, ihn an das Diagramm (Hauptdiagramm) ausgibt und in der Statusleistentabelle anzeigt.
Symbole..
Die beiden .-Symbole stehen für eine Zuweisung, die der Variablen einen Wert zuweist und ihn in der Statusleistentabelle anzeigt, aber nicht im Diagramm (Hauptdiagramm, Unterdiagramm usw.) ausgibt.
Es ist ersichtlich, dass es sich bei diesen Symbolen um Zuweisungsoperationen handelt. Der Unterschied besteht jedoch darin, ob die Variable in der Statusleiste angezeigt wird und ob die Variable im Hauptdiagramm oder im angehängten Diagramm (wird später angezeigt) gezeichnet wird.
^^
、:
、..
Ja, Sie können den Variablenwert unten in der Statusleistentabelle anzeigen.
Candlestick-Chart Gemäß der im Strategie-Backtesting und auf den Seiten für den tatsächlichen Handel festgelegten Standard-K-Linienperiode generiert die Strategie ein K-Liniendiagramm und zeigt die variable Wertekurve basierend auf dem Strategieinhalt im K-Liniendiagramm an. Beispielsweise das Diagramm im Beispiel:
Hauptbild:
Einfach ausgedrückt: Das Hauptdiagramm hat dieselbe Y-Achse wie die K-Linie. Wann müssen Sie also Daten im Hauptdiagramm anzeigen?
Wenn die anzuzeigenden Daten, die Indikatorlinienwertgröße und die zugrunde liegende Preisgröße ähnlich sind (d. h. die Preiswertgröße auf der K-Linie BAR ist ähnlich), kann sie im Hauptdiagramm angezeigt werden, z. B. der gleitende Durchschnitt, der von der Strategie berechnet wird. Die oberen und unteren Preisschienen (UPTRACK
UndDOWNTRACK
)。
Unterbild:
Welche Art von Daten eignet sich also zur Anzeige im Unterdiagramm?
Wenn die zu zeichnende Linie (angezeigte Daten) sich deutlich vom Preiswert auf der K-Linie BAR unterscheidet (viel größer oder kleiner als der Preis auf der K-Linie), kann sie im Unterdiagramm angezeigt werden, denn wenn Es wird zu diesem Zeitpunkt im Hauptbild angezeigt und führt zu einer Bildkomprimierung, die sehr unangenehm zu beobachten ist. Beispielsweise möchten Sie nach der Berechnung des MACD-Indikators den MACD-Indikator im Diagramm anzeigen.
Fügen Sie dieser Beispielstrategie beispielsweise einen Satz hinzu:AA^^(O-C)*100000;
Das K-Linien-Diagramm kann nicht mehr gefunden werden, wenn es direkt komprimiert wird.
Ein weiterer Unterschied besteht darin, dass das Diagramm der Mai Language Strategy während des realen Handels ein HighCharts-Diagramm und während des Backtests ein TradingView-Diagramm ist.
Das Diagramm des realen Marktes:
Mai-Sprachstrategie, wenn das Handelssignal ausgelöst wird (BK
,SK
,BP
,SP
,BPK
,SPK
) wird ein Protokoll ausgedruckt, das die Position (Zeilennummer) des Signalauslösers im Code und die Häufigkeit der Signalauslösungen zeigt.
Nachdem der Preis und die Menge des Auftragsprotokolls aufgezeichnet wurden, wird im Protokoll auch der Preis der ersten Stufe der Gegenpartei zu diesem Zeitpunkt angezeigt. Wenn Sie beispielsweise eine Long-Position kaufen, werden der Preis und die Menge der ersten Stufe der Ask-Order angezeigt. .