Freunde, die sich auf der FMZ Quant Trading Platform entwickeln, haben oft solche Bedürfnisse:
Wenn Sie eine Strategie zur Vermietung entwickeln, möchten Sie verschiedene Mittelbeschränkungen für die Strategie und verschiedene Plattformbeschränkungen haben (begrenzen Sie die Plattformen, die von der Strategie betrieben werden), oder Sie möchten die Plattformkontokonfiguration einschränken (spezifizieren Sie, dass die Strategie nur auf vorher vereinbarten Konten funktionieren kann; wenn der Strategiebenutzer andere Konten verwendet, wird die Strategie aufgefordert und wird nicht mehr handeln und andere Operationen durchführen).
Diese können offensichtlich nicht hard-codiert werden, denn wenn sie hard-codiert sind, unterliegen alle Benutzer diesen Einschränkungen, und sie können nicht verschiedene Nutzungsrechte für verschiedene Benutzergruppen steuern.
Auf der Grundlage der oben genannten Nachfrage-Szenarien hat die FMZ Quant Trading Plattform eine neue Funktion erweitert:Strategie Mietregistercode Metadaten Einstellungen.
Bei der Erstellung eines Registercodes können Sie eine MetadatenMeta
, was eine Zeichenfolge ist. Hinweis: Die Länge von Meta darf 190 Zeichen nicht überschreiten, wenn der Registercode generiert wird.
Zum Beispiel bin ich ein Exporteur von Strategieentwicklung, und ich habe eine Strategie mit einem Spot-Handelspaar von BTC_USDT entwickelt.QuoteCurrency
, d. h. USDT; nach dem Einkauf wird es eine Position bei derBaseCurrency
Wenn ich diese Strategie vermieten will, ist der Strategie-Nametest1
.
Wie Sie sehen können, müssen die Beschränkungen der Strategie speziell in Kombination mit der spezifischen Situation der Strategie entworfen werden. Dieses Beispiel ist eine Demonstration einer Spot-Strategie, aber was ist, wenn die Strategie eine Futures-Strategie ist? Dann ist es notwendig, die Futures-Positionsinformationen (gemäß den von GetPosition zurückgegebenen Positionsdaten) zu begrenzen. Wenn die Strategie feststellt, dass die Position das Limit überschreitet, wird die Logik der Auftragserteilung und Eröffnung einer Position nicht mehr ausgeführt (andere Logik muss normal ausgeführt werden, wie das Schließen einer Position und andere Operationen).
Daher muss die Gestaltung dieser Beschränkungen mit der Strategie selbst kombiniert werden; das Beispiel ist nur eine einfache Anleitung, ohne den tatsächlichen Nutzungswert.
Strategie Quelle:
function main() {
// The maximum asset value of the quote currency allowed by the strategy
var maxBaseCurrency = null
// Obtain the metadata when the register code is created
var level = GetMeta()
// Detect the corresponding conditions of Meta
if (level == "level1") {
// -1 means no limit
maxBaseCurrency = -1
} else if (level == "level2") {
maxBaseCurrency = 10
} else if (level == "level3") {
maxBaseCurrency = 1
} else {
maxBaseCurrency = 0.5
}
while(1) {
Sleep(1000)
var ticker = exchange.GetTicker()
// Detect the assets amount
var acc = exchange.GetAccount()
if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
// Stop executing the strategy trading logic
LogStatus(_D(), "If the position exceeds the usage limits of register code, the strategy trading logic will no longer be executed!")
continue
}
// Other trading logic
// Normally export the information of status bar
LogStatus(_D(), "The strategy is operating normally!ticker data:\n", ticker)
}
}
Beim Erstellen des Registercodes finden Sie auf der Seite
KlickenInterner Verkauf.
Klicken Sie auf das kleine
Dann müssen Sie die Beschränkung Informationen in dieÜberschriftSteuerung, z. B. mehrere Nutzungsstufen der in diesem Beispiel entworfenen Strategie:
Erstens setzen wirlevel1
in der Meta-Steuerung, und lassen Sie den erstellten Registercode dielevel1
der Prüfung1.
Nach Erstellung des Registercodes sendet der Strategieverkäufer den Registercode an den Strategieabnehmer.
Wenn ich beispielsweise den Registrierungscode auf einem anderen Konto (wie dem Konto des Käufers) nutze, habe ich das Recht, den Strategie-Test zu verwenden1.
Als Strategie-Käufer müssen Sie zunächst einen Bot hinzufügen, test1 als Strategie auswählen und ein WexApp-Spot-Austauschobjekt hinzufügen (WexApp ist der simulierte Bot von FMZ) und dann den Bot ausführen.
Wenn man sieht, dass die Strategie richtig läuft, bedeutet das,level1
hat keine Begrenzung für den Positionsbetrag (den auf dem Spotkonto gehaltenen Münzbetrag).
Wenn der Strategie-Registercode verwendet wird, kann der Strategie-Entwickler, wenn er die Metadaten des zu übermittelnden Registercodes anpassen muss, diese vollständig ändern.
Auf der
Die Metadaten können geändert werden.
Wir haben die Metadaten des alten Registercodes inlevel3
, und der Strategie-Benutzer muss den Bot neu starten, um zu testen.level3
den maximalen Positionsbetrag auf eine Münze zu begrenzen.
Wenn Sie eine Strategie nach verschiedenen Benutzergruppen und Zahlungsstufen vermieten, können Sie die Metadaten speziell konfigurieren, um die Strategie nach Ebenen zu steuern.
Natürlich sind die oben genannten Beispiele nur die häufigsten Einschränkungen und Kontrollanforderungen. Es gibt noch verschiedene ähnliche Anforderungen, die auch die Funktion realisieren können.