
Freunde, die auf der Inventor Quantitative Trading Platform entwickeln, haben möglicherweise häufig folgende Anforderungen:
Wenn Sie eine Strategie für die Vermietung entwickeln, möchten Sie verschiedene Fondsbeschränkungen für die Strategie festlegen, verschiedene Umtauschbeschränkungen für die Strategiemiete festlegen (den Umtausch des Strategiebetriebs begrenzen) oder Sie möchten Umtauschkontokonfigurationsbeschränkungen für die Strategiemiete festlegen (angeben Diese Strategie kann nur mit Konten verwendet werden, die im Voraus vereinbart wurden. Wenn der Strategiebenutzer andere Konten verwendet, fordert die Strategie dazu auf und führt keine Transaktionen mehr aus usw.).
Diese können offensichtlich nicht im Code fest codiert werden, weil sie sonst im Code fest codiert wären. Diese Beschränkungen gelten für alle Benutzer und es ist nicht möglich, unterschiedliche Nutzungsberechtigungen für unterschiedliche Benutzergruppen zu steuern.
Basierend auf den oben genannten Nachfrageszenarien wurde die Inventor Quantitative Trading Platform um neue Funktionen erweitert:Einstellungen für die Metadaten des Registrierungscodes für die Richtlinie zur Miete
Beim Erstellen eines Registrierungscodes können Sie Metadaten angebenMeta, Daten sind eine Zeichenfolge. Hinweis: Beim Generieren eines Registrierungscodes darf die Länge der Metadaten 190 Zeichen nicht überschreiten.
Ich bin beispielsweise Strategieentwickler. Ich habe eine Strategie für das Spot-Handelspaar BTC_USDT entwickelt. Die Strategie ist nur lang (zunächst nur die KurswährungQuoteCurrencyDas heißt, USDT. Sobald Sie es kaufen, haben Sie eine Handelswährung.BaseCurrencyIch möchte diese Strategie mieten, der Strategiename isttest1。
Es ist ersichtlich, dass die Ausgestaltung der Strategiebeschränkungen speziell auf die spezifischen Umstände der Strategie abgestimmt sein muss. Dieses Beispiel ist eine Demonstration einer Spot-Strategie. Was wäre, wenn es sich bei der Strategie um eine Futures-Strategie handelt? Dann ist es notwendig, die Futures-Positionsinformationen einzuschränken (basierend auf den von GetPosition zurückgegebenen Positionsdaten). Wenn die Strategie feststellt, dass die Position das Limit überschreitet, wird die Logik zum Öffnen der Order nicht mehr ausgeführt (andere Logik muss normal ausgeführt werden, z. B. das Schließen von Positionen).
Daher müssen diese Entwürfe in Kombination mit der Strategie selbst spezifisch sein. Dieses Beispiel dient lediglich zur Veranschaulichung und hat möglicherweise keinen praktischen Wert.
Quellcode der Strategie:
function main() {
// 策略允许的计价币最大资产数值
var maxBaseCurrency = null
// 获取创建注册码时的元数据
var level = GetMeta()
// 检测Meta对应的条件
if (level == "level1") {
// -1为不限制
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()
// 检测资产数值
var acc = exchange.GetAccount()
if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
// 停止执行策略交易逻辑
LogStatus(_D(), "持仓超过注册码的使用限定,不再执行策略交易逻辑!")
continue
}
// 其它交易逻辑
// 正常输出状态栏信息
LogStatus(_D(), "策略正常运行!ticker数据:\n", ticker)
}
}
Suchen Sie beim Erstellen eines Registrierungscodes in der Richtlinienbibliothek nach der Richtlinie test1 und klicken Sie aufAktionselementaufverkaufen。

KlickenInterner Verkauf。

Klicken Sie auf den „kleinen Schraubenschlüssel“, um die Metadaten des Registrierungscodes festzulegen.

Schreiben Sie dann die Informationen, die Sie einschränken möchten, inMetaKontrollen wie die verschiedenen in diesem Beispiel entwickelten Strategien verwenden Ebenen:

Wir setzen zuerst die Meta-Steuerunglevel1, sodass der erstellte Registrierungscode die Strategie test1 hatlevel1Grad.
Der Registrierungscode wurde erstellt:
购买地址: https://www.fmz.com/m/s/282900
注册码: 7af0c24404b268812c97b55d073c1867
Diesen Registrierungscode sendet der Strategievermieter an den Strategiemieter.
Beispielsweise verwende ich derzeit diesen Registrierungscode in meinem anderen Konto (Strategiemieter), um das Recht zur Verwendung der Strategie Test1 zu erhalten.

Strategiemieter, erstellen Sie ein Echtgeldkonto, verwenden Sie Test1 als Strategie, fügen Sie ein WexApp-Spot-Exchange-Objekt hinzu (WexApp ist ein simuliertes Konto auf der FMZ-Plattform) und führen Sie das Echtgeldkonto aus.

Sie können sehen, dass die Strategie normal ausgeführt wird. Dies zeigt an,level1Die Anzahl der gehaltenen Positionen (die Anzahl der im Spotkonto gehaltenen Münzen) ist durch das Level nicht begrenzt.
Wenn der Richtlinienregistrierungscode verwendet wurde und der Richtlinienentwickler die Metadaten des ausgegebenen Registrierungscodes anpassen muss, können diese geändert werden.
Verkaufsdatensatz in der Strategiebibliothek.

Metadaten können geändert werden.

Wir ändern die Metadaten des vorherigen Registrierungscodes inlevel3, dann startet der Strategieanwender hier den Echtzeittest neu.

Wie Sie im Bild oben sehen können,level3Das maximale Haltelevellimit beträgt 1 Münze.
Beim Vermieten von Policen entsprechend unterschiedlicher Benutzergruppen und Zahlungsstufen werden bestimmte Metadaten konfiguriert, um eine hierarchische Policenkontrolle zu erreichen.
Natürlich sind oben nur die häufigsten Einschränkungen und Kontrollanforderungen aufgeführt. Es gibt verschiedene ähnliche Anforderungen, die mit dieser Funktion erfüllt werden können.