Detaillierte Erläuterung neuer Funktionen von Strategie-Schnittstellenparametern und interaktiven Steuerungen
Bei der Entwicklung von Strategien auf der FMZ Quant Trading Platform ist es notwendig, Strategieparameter und Strategieinteraktionen zu entwerfen. Die FMZ Quant Trading Platform ist bestrebt, einfach zu bedienende und leistungsstarke quantitative Handelswerkzeuge bereitzustellen und Produktdesign und -funktionen kontinuierlich zu iterieren. Durch die Aktualisierung von Strategieparametern und interaktiven Kontrollen wurde die Designflexibilität von Parametern und Interaktionen im Strategiedesign weiter erhöht. Die Funktionen von Strategieparametern und interaktiven Kontrollen wurden verbessert, wodurch einige Designanforderungen leichter zu erreichen sind. In diesem Artikel verstehen wir zwei wesentliche Inhalte im Strategiedesign: Strategieparameterdesign und Strategieinteraktionsdesign.
Strategie-Schnittstellenparameter
Die Arten von Strategieparametern in FMZ Quant haben sich nicht erhöht, und es sind immer noch die fünf Arten von Parametern, mit denen wir vertraut sind:
- Numerische Parameter
- Stringparameter
- Booleanische Parameter
- Parameter der Dropdown-Box
- Verschlüsselte Zeichenfolgeparameter
Dann werden Sie mich sicherlich fragen, welche Inhalte in diesem Plattform-Update hinzugefügt und optimiert wurden?
Dieses Upgrade fügt Komponentenkonfiguration für Parameterbindungssteuerungen hinzu, vereinfacht die Gruppierung und Parameterabhängigkeit Funktionen und integriert diese beiden Funktionen in Komponentenkonfiguration. Für den Standardwert des Parameters wird eine optional/required Option hinzugefügt, um festzustellen, ob die Strategie die Bedingungen für die Ausführung hat. Wenn der Parameter auf required gesetzt ist, aber keine spezifischen Parameter in der Parametersteuerung geschrieben werden, wenn die Strategie ausgeführt wird, kann die Strategie zu diesem Zeitpunkt nicht ausgeführt werden.
Jetzt, da wir ein allgemeines Verständnis für die Upgrade-Änderungen haben, lassen Sie uns es im Detail testen.
1. Numerische Parameter
Wir haben bereits kurz über die optional/required Funktionen gesprochen, also werde ich hier nicht ins Detail gehen.
Setzen Sie verschiedene Eigenschaften, Typen und Regeln des Steuerelements, dem der Parameter entspricht (an den er gebunden ist). Der Standardsteuerelement, das an den numerischen Parameter gebunden ist (Zahlstyp), ist das Eingabefeld. Sie können die Regeln für die von dem Eingabefeld empfangenen Daten festlegen, d. h. die Steuerelemente minimal value und maximum value in der zu stellenden Abbildung verwenden.
Zusätzlich zur Standardsteuerung der Eingabebox hat die Plattform:
- Zeitauswahl
In Component Type wählen Sie Time Selector aus, und die Eingabefeldsteuerung auf der Strategieoberfläche, die dem aktuellen Parameter entspricht, wird zu einer Zeitauswahlsteuerung.
Solche Steuerelemente werden in der Regel für Zeitbereichseinstellungen, Start- und Enddateneinstellungen verwendet. Dies ist sehr praktisch und intuitiv. Die Verwendung der Datensteuerung kann die Strategie den entsprechenden Zeitstempel wissen lassen, und es ist nicht erforderlich, komplexen Zeitkonvertierungscode zu schreiben.
Der Variablenwert des Schnittstellenparameters lautet: Wert (der den Zeitstempel repräsentiert)
- Schiebe Eingabeleiste
Wenn Sie als Schiebe-Eingabe-Streifensteuerung eingestellt sind, müssen Sie den Minimum-Wert und den Maximum-Wert angeben, um den Bereich des Schiebereglers zu bestimmen.
Die gleitende Eingabeleiste kann einen Parameter zur Steuerung des Stop Loss implementieren und Gewinnniveaus bequem nehmen.
Der Variablewert des Schnittstellenparameters lautet: Wert (darstellt die Positionsinformationen des Schiebereglers auf dem Schieberegler)
2. Booleanische Parameter
Boolean-Parameter sind dadurch besonders, dass sie nur eine entsprechende Steuerung haben, die die Standard-Switch-Steuerung ist.
Da Boolean-Werte entweder wahr oder falsch sind, sind sie binäre Optionen. Daher ist es sehr angemessen, eine Schaltsteuerung zu verwenden, um diesem Parametertyp zu entsprechen.
Im Allgemeinen werden booleanische Typparameter verwendet, um zu kontrollieren, ob bestimmte Strategiefunktionen auf der Plattform aktiviert sind.
3. Stringparameter
Zusätzlich zur Standardsteuerung der Eingabebox hat die Plattform:
-
Schrift
In Component Type wird auf: Text gesetzt. Die Eingabefeldsteuerung auf der Strategieoberfläche, die dem aktuellen Parameter entspricht, wird in ein größeres Textfeld geändert.
Der Unterschied zwischen der Textsteuerung und der gewöhnlichen Eingabefeldsteuerung besteht darin, dass der in die Textbox eingegebene Text verpackt werden kann und die Textbox die Steuerschubgröße anpassen kann.
Der Variablenwert des Schnittstellenparameters lautet: String.
-
Zeitauswahl
In Component Type wählen Sie Time Selector aus. Die Eingabefeldsteuerung auf der Strategieoberfläche, die dem aktuellen Parameter entspricht, wird zu einer Steuerung zur Einstellung von Uhrzeit und Datum.
Time Selector for Component Type of String Parameter unterscheidet sich von Time Selector for Component Type of Numeric Parameter.
- Datum: Wenn Zeitformat auf Datum gesetzt ist, ist das Steuerelement eine vollständige Zeitauswahlsteuerung zur Auswahl von Jahr, Monat, Tag, Stunde, Minute und Sekunde und unterstützt die Auswahl der aktuellen Zeit mit einem Klick.
- Zeit: Wenn Time Format auf Time eingestellt ist, ist die Steuerung eine Zeitauswahlsteuerung zur Auswahl von Minuten, Stunden und Sekunden.
- Jahr und Monat: Wenn Zeitformat auf Jahr und Monat eingestellt ist, ist das Steuerelement eine Zeitauswahlsteuerung zur Auswahl von Jahr und Monat.
- Jahr: Wenn Zeitformat auf Jahr eingestellt ist, ist das Steuerelement eine Zeitauswahlsteuerung für die Auswahl des Jahres.
Der Variablenwert des Schnittstellenparameters lautet: String (formatiert als entsprechende Zeit).
- Farbauswahl
In Component Type wählen Sie Color Selector aus. Das Eingabefeld der Strategieoberfläche, das dem aktuellen Parameter entspricht, wird zu einem Farbauswahlsteuerung.
wird im Allgemeinen verwendet, um Parameter für die Einstellung von Farben zu entwerfen.
Der variable Wert des Schnittstellenparameters ist: String (der Farbwert, der der ausgewählten Farbe entspricht, z. B.: #7e1717).
4. Drop-Down-Box-Parameter
Die standardmäßig entsprechende Steuerung des Dropdown-Box-Parameters ist ein Dropdown-Box, aber diesmal wurden viele Upgrades an das vorherige einfache Single-Select-Dropdown-Box vorgenommen:
- Unterstützt mehrere Auswahlmöglichkeiten
Sie können mehrere Optionen gleichzeitig im Dropdown-Box-Steuerelement auswählen, das dem Dropdown-Box-Parameter entspricht. Zu diesem Zeitpunkt ist der Variablenwert des Dropdown-Box-Parameters nicht mehr der ausgewählte Optionsindex, sondern ein Array. Das Array enthält die Indizes oder gebundenen Daten aller ausgewählten Optionen.
- Unterstützen Sie benutzerdefinierte Standardwerte
Wenn diese Option aktiviert ist, können Sie die Standardwerte anpassen, anstatt eine Option aus dem Dropdown-Fenster als Standardwert auswählen zu müssen.
- Hinzugefügt die Funktion der Bindung numerischer Werte und Zeichenfolgen zu Dropdown-Box-Optionen.
Eine Zeichenfolge oder einen numerischen Wert an eine Option binden. Bei Einstellung dieses Parameters ist der Wert der Dropdown-Fenstervariable nicht mehr der Index der ausgewählten Option, sondern die Zeichenfolge oder der numerische Wert, der an die ausgewählte Option gebunden ist.
Zusätzlich zur Standardsteuerung des Dropdown-Boxes fügt die Plattform diesmal:
- Segmentkontroller
In Component type wählen Sie Segment controller aus. Das an den aktuellen Parameter gebundene Steuerelement wird zu einem auswählbaren Segment-Schieberegler und Sie können einen bestimmten Segmentblock auswählen.
Im Allgemeinen kann es wie folgt konzipiert werden: Normalerweise verwendet, um zwischen mehreren sich gegenseitig ausschließenden Optionen zu wechseln, oft verwendet, um Inhalte nach Kategorie oder Tag zu filtern und zwischen verschiedenen Betriebsarten zu wählen.
Der Variablewert des Schnittstellenparameters ist der Index des ausgewählten Teils des Segmentcontrollers oder die Daten, die an das ausgewählte Teil gebunden sind (die gebundenen Daten unterstützen numerische Werte und Zeichenfolgen).
5. Verschlüsselte Zeichenfolgeparameter
Der verschlüsselte Zeichenfolgeparameter ist ebenfalls ganz speziell und hat nur eine entsprechende Steuerung, die die standardmäßig verschlüsselte Eingabefachsteuerung ist.
Auf der Plattform werden verschlüsselte Zeichenfolge-Typ-Steuerungen in der Regel verwendet, um sensible Informationen wie Geheimschlüssel, Passwörter usw. festzulegen. Diese Eingabeparameterwerte werden vor der Übertragung lokal verschlüsselt.
Der Variablenwert des Schnittstellenparameters lautet: String.
Für alle oben genannten Arten von Strategie-Schnittstellenparametern integriert dieses Upgrade die bisherigen Parameter-Gruppierung und Parameter-Abhängigkeit-Funktionen in Komponentenkonfiguration.
- Gruppenbildung
Sie können das Etikett eingeben, das Sie direkt im Dropdown-Control der Gruppe gruppieren möchten, und mit der Eingabe-Taste die Eingabe der Gruppe bestätigen. Das System wird das aktuell eingegebene Etikett in der Gruppierungsoption aufzeichnen. Dann können Sie eine Gruppe für die aktuellen Schnittstellenparameter angeben.
Nach der Gruppierung werden die als Gruppe gekennzeichneten Parameter auf der Schnittstelle Strategie-Backtesting/Live-Handel in einem Gruppierungsbereich angezeigt.
- Filter
Geben Sie einige Ausdrücke in die Filtersteuerung ein, um festzustellen, ob der aktuelle Parameter aktiviert und angezeigt werden muss.
Beispiel für Filterausdruck:
Filter format: a>b , a==1 , a , !a , a>=1&&a<=10 , a>b
Hier stellen sowohl a als auch b Variablen der Strategie-Schnittstellenparameter dar.
Strategie zur Prüfung von Schnittstellenparametern
Wenn die obigen Erklärungen ein wenig unintuitiv sind, ist der beste Weg, sie zu verstehen, diese Parameterfunktionen tatsächlich zu verwenden und zu testen:
Nehmen wir die JavaScript-Sprachstrategie als Beispiel:
function main() {
Log("---------------------------Start testing numeric type parameters---------------------------")
Log("Variable pNum1:", pNum1, ", Variable value type:", typeof(pNum1))
Log("Variable pNum2:", pNum2, ", Variable value type:", typeof(pNum2))
Log("Variable pNum3:", pNum3, ", Variable value type:", typeof(pNum3))
Log("Variable pNum4:", pNum4, ", Variable value type:", typeof(pNum4))
Log("---------------------------Start testing Boolean type parameters---------------------------")
Log("Variable pBool1:", pBool1, ", Variable value type:", typeof(pBool1))
Log("Variable pBool2:", pBool2, ", Variable value type:", typeof(pBool2))
Log("---------------------------Start testing string type parameters---------------------------")
Log("Variable pStr1:", pStr1, ", Variable value type:", typeof(pStr1))
Log("Variable pStr2:", pStr2, ", Variable value type:", typeof(pStr2))
Log("Variable pStr3:", pStr3, ", Variable value type:", typeof(pStr3))
Log("Variable pStr4:", pStr4, ", Variable value type:", typeof(pStr4))
Log("---------------------------Start testing the drop-down box type parameters---------------------------")
Log("Variable pCombox1:", pCombox1, ", Variable value type:", typeof(pCombox1))
Log("Variable pCombox2:", pCombox2, ", Variable value type:", typeof(pCombox2))
Log("Variable pCombox3:", pCombox3, ", Variable value type:", typeof(pCombox3))
Log("---------------------------Start testing encryption string type parameters---------------------------")
Log("Variable pSecretStr1:", pSecretStr1, ", Variable value type:", typeof(pSecretStr1))
}
Vollständige Parameterprüfstrategie:https://www.fmz.com/strategy/455212
Viele Strategien haben die Anforderung, eine Reihe von Einstellungen basierend auf einem bestimmten Parameter zu aktivieren, was mit Parameterabhängigkeiten wie diesem erreicht werden kann.
Interaktive Bedienelemente
Die FMZ Quant Trading Plattform verfügt zudem über fünf Arten von interaktiven Strategie-Steuerungen, die diesmal optimiert und aktualisiert wurden.
1. Anzahl der interaktiven Bedienelemente
Die interaktiven Steuerelemente sind im Grunde die gleichen wie die Komponentenkonfiguration der Strategie-Schnittstellenparameter.
- Zeitauswahl
Der gesendete interaktive Befehl enthält den Zeitstempel der ausgewählten Zeit.
- Schieberegler Eingabe
Der gesendete interaktive Befehl enthält den Wert, der durch die ausgewählte Schieberegelung dargestellt wird.
Die Verwendung ist die gleiche wie bei verschiedenen Komponentenarten von Strategie-Schnittstellenparametern, daher wird sie hier nicht wiederholt.
2. Boolean (true/false) Interaktive Steuerelemente
Die interaktiven Bedienelemente sind im Grunde die gleichen wie die Komponentenkonfiguration der Strategie-Schnittstellenparameter.
3. Interaktive Steuerelemente
Zusätzlich zur Standardsteuerung für Eingabeboxen unterstützt der Komponententyp auch:
- Schrift
Der gesendete interaktive Befehl enthält den im Textfeld eingegebenen Inhalt.
- Zeitauswahl
Der gesendete interaktive Befehl enthält eine Zeitfolge der ausgewählten Zeit mit mehreren Auswahlformaten.
- Farbauswahlgerät
Der gesendete interaktive Befehl enthält eine Farbwertfolge für die ausgewählte Farbe.
4. Dropdown-Box (gewählt) Interaktive Steuerung
Das Dropdown-Box der interaktiven Steuerung wurde ebenfalls aktualisiert: unterstützt mehrere Auswahlmöglichkeiten, eigene Standardwerte, Optionsbindung an bestimmte Daten usw.
Zusätzlich zur Standard-Drop-down-Box-Komponente werden folgende Komponenten hinzugefügt:
- Segmentkontroller
Der gesendete interaktive Befehl enthält den Index oder die gebundenen Daten des ausgewählten Schiebereglers.
5. Interaktive Buttonsteuerung
Die interaktive Steuerung des Tastentyps hat keine Eingabeobjekte.
Interaktive Kontrollprüfstrategie
Der beste Weg, um es zu verstehen, ist, es manuell zu testen.
Es ist zu beachten, dass interaktive Steuerungen nicht im Backtesting-System getestet werden können und nur Live-Tests erstellt werden können.
function main() {
var lastCmd = ""
while (true) {
var cmd = GetCommand() // Receive messages generated by interactive controls
if (cmd) {
Log(cmd)
lastCmd = cmd
}
LogStatus(_D(), lastCmd)
Sleep(500)
}
}
Geben Sie einige zufällige Informationen ein, setzen Sie einige Optionen ein und klicken Sie dann auf die interaktive Steuerung, um interaktive Nachrichten zu generieren.
Vollendete Strategie für die interaktive Kontrollprüfung:https://www.fmz.com/strategy/455231
Aktualisierung
- Die FMZ-Plattform hat den String-Typ und den Dropdown-Box-Typ der Schnittstellenparameter und interaktiven Steuerelemente aktualisiert; Unterstützung für 2 neue Steuerelemente hinzugefügt:
- Parameterprüfungen unter Verwendung von Währungskontrolle und Handelspaarkontrolle in Strategie-Schnittstellenparametern einstellen
function main() {
Log("After parameter test1 is selected using currency controls, the value of test1 is:", test1)
Log("After parameter test2 is selected using trading pair controls, the value of test2 is:", test2)
}
After parameter test1 is selected using currency controls, the value of test1 is: BTC
After parameter test2 is selected using trading pair controls, the value of test2 is: ETH_USDT.next_quarter
- Einstellen von interaktiven Tests unter Verwendung von Währungskontrolle und Handelspaarkontrolle in strategischen interaktiven Kontrollen:
function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(2000)
}
}
test1:SOL
test2:XRP_USDT.swap