
Les amis qui développent sur la plateforme de trading quantitatif Inventor peuvent souvent avoir de tels besoins :
Lors de l’élaboration d’une stratégie de location, vous souhaitez définir différentes restrictions de fonds pour la stratégie, définir différentes restrictions d’échange pour la location de stratégie (limiter l’échange de l’opération de stratégie) ou vous souhaitez définir des restrictions sur la configuration du compte d’échange pour la location de stratégie (précisez Cette stratégie ne peut être utilisée qu’avec des comptes qui ont été convenus à l’avance. Lorsque l’utilisateur de la stratégie utilise d’autres comptes, la stratégie invite et n’effectue plus de transactions, etc.).
Ceux-ci ne peuvent évidemment pas être codés en dur dans le code, car s’ils sont codés en dur dans le code. Tous les utilisateurs seront soumis à ces restrictions et il ne sera pas possible de contrôler différentes autorisations d’utilisation pour différents groupes d’utilisateurs.
Sur la base des scénarios de demande ci-dessus, la plateforme de trading quantitative Inventor a étendu de nouvelles fonctions :Paramètres des métadonnées du code d’enregistrement de la police de location
Lors de la création d’un code d’enregistrement, vous pouvez spécifier une métadonnéeMeta, les données sont une chaîne. Remarque : lors de la génération d’un code d’enregistrement, la longueur du méta ne peut pas dépasser 190 caractères.
Par exemple, je suis un développeur de stratégie. J’ai développé une stratégie pour la paire de trading spot BTC_USDT. La stratégie est longue uniquement (initialement uniquement la devise de cotationQuoteCurrencyAutrement dit, l’USDT. Une fois que vous l’aurez acheté, vous disposerez d’une monnaie d’échange.BaseCurrencyJe souhaite louer cette stratégie, le nom de la stratégie esttest1。
On peut constater que la conception des limites de la stratégie doit être spécifiquement conçue en combinaison avec les circonstances spécifiques de la stratégie. Cet exemple est une démonstration d’une stratégie spot. Et si la stratégie était une stratégie à terme ? Il est alors nécessaire de limiter les informations de position à terme (en fonction des données de position renvoyées par GetPosition). Lorsque la stratégie constate que la position dépasse la limite, la logique d’ouverture d’ordre ne sera plus exécutée (d’autres logiques doivent être exécutées normalement, comme la fermeture des positions).
Ces conceptions doivent donc être spécifiques en combinaison avec la stratégie elle-même. Cet exemple n’est qu’un simple exemple illustratif et peut ne pas avoir de valeur pratique.
Code source de la stratégie :
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)
}
}
Lors de la création d’un code d’enregistrement, recherchez la politique test1 dans la bibliothèque de politiques et cliquez surÉlément d’action, cliquezvendre。

CliquezVente interne。

Cliquez sur la « petite clé » pour définir les métadonnées du code d’enregistrement.

Ensuite, écrivez les informations que vous souhaitez limiterMetaLes contrôles, tels que les différentes stratégies conçues dans cet exemple, utilisent des niveaux :

Nous avons d’abord défini le contrôle Metalevel1, afin que le code d’enregistrement créé ait la stratégie test1level1grade.
Le code d’enregistrement a été créé :
购买地址: https://www.fmz.com/m/s/282900
注册码: 7af0c24404b268812c97b55d073c1867
Le bailleur de stratégie envoie ce code d’enregistrement au locataire de stratégie.
Par exemple, à ce moment, j’utilise ce code d’enregistrement dans mon autre compte (locataire de stratégie) pour obtenir le droit d’utiliser la stratégie test1.

Locataire de stratégie, créez un compte réel, utilisez test1 comme stratégie, ajoutez un objet d’échange spot WexApp (WexApp est un compte simulé sur la plate-forme FMZ) et exécutez le compte réel.

Vous pouvez voir que la stratégie fonctionne normalement, ce qui indiquelevel1Le niveau ne limite pas le nombre de positions détenues (le nombre de pièces détenues sur le compte spot).
Lorsque le code d’enregistrement de la politique a été utilisé, si le développeur de la politique doit ajuster les métadonnées du code d’enregistrement émis, celui-ci peut être modifié.
Dans la bibliothèque de stratégies, vendez des disques.

Les métadonnées peuvent être modifiées.

Nous modifions les métadonnées du code d’enregistrement précédent pourlevel3, puis l’utilisateur de stratégie redémarre ici le test en temps réel.

Comme vous pouvez le voir sur l’image ci-dessus,level3La limite de niveau maximale pour détenir est de 1 pièce.
Lors de la location de politiques en fonction de différents groupes d’utilisateurs et niveaux de paiement, des métadonnées Meta spécifiques sont configurées pour obtenir un contrôle hiérarchique des politiques.
Bien entendu, ce qui précède ne répertorie que les exigences de limitation et de contrôle les plus courantes. Il existe diverses exigences similaires qui peuvent être satisfaites à l’aide de cette fonction.