Application des métadonnées du code de location stratégique

Auteur:Je suis désolée., Créé à: 2022-04-13 09:35:06, mis à jour à: 2022-04-13 17:13:27

Application de la stratégie Les métadonnées du code de location

Les amis qui développent sur la plateforme de trading FMZ Quant peuvent souvent avoir de tels besoins:

Lorsque vous élaborez une stratégie de location, vous souhaitez avoir des limites de fonds différentes sur la stratégie et des limites de plate-forme différentes (limiter les plateformes exploitées par la stratégie), ou vous souhaitez limiter la configuration du compte de la plate-forme (spécifier que la stratégie ne peut fonctionner que sur des comptes pré-accordés; lorsque l'utilisateur de la stratégie utilise d'autres comptes, la stratégie est invitée et ne fera plus de transactions ni d'autres opérations).

Il est évident qu'ils ne peuvent pas être codés en dur, car s'ils sont codés en dur, tous les utilisateurs seront soumis à ces limitations, et ils ne peuvent pas contrôler différents privilèges d'utilisation pour différents groupes d'utilisateurs.

Sur la base des scénarios de demande ci-dessus, la plate-forme de négociation quantitative FMZ a étendu une nouvelle fonction:Paramètres de métadonnées du code du registre de location de stratégie.

Lorsque vous créez un code de registre, vous pouvez spécifier une métadonnéeMeta, qui est une chaîne. Remarque: La longueur de Meta ne peut pas dépasser 190 caractères lorsqu'il génère le code de registre.

  • ### Utilisez les métadonnées du code du registre FMZ pour limiter les stratégies

Par exemple, je suis un exportateur de développement de stratégie, et j'ai développé une stratégie avec une paire de trading au comptant de BTC_USDT.QuoteCurrency, à savoir l'USDT; après avoir acheté, il détiendra une position auprès duBaseCurrencySi je veux louer cette stratégie, le nom de la stratégie esttest1.

Comme vous pouvez le voir, les limitations de la stratégie doivent être spécifiquement conçues en combinaison avec la situation spécifique de la stratégie. Cet exemple est une démonstration d'une stratégie au comptant, mais que se passe-t-il si la stratégie est une stratégie à terme? Ensuite, il est nécessaire de limiter les informations de position à terme (selon les données de position renvoyées par GetPosition). Lorsque la stratégie constate que la position dépasse la limite, la logique de placement d'un ordre et d'ouverture d'une position ne sera plus exécutée (d'autres logiques doivent être exécutées normalement, telles que la fermeture d'une position et d'autres opérations).

Par conséquent, la conception de ces limitations doit être combinée avec la stratégie elle-même; l'exemple n'est qu'une simple instruction, sans la valeur d'utilisation réelle.

Stratégie Code source:

  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)
      }
  }

Lorsque vous créez le code de registre, trouvez le test de stratégie1 dans la page Strategy et cliquez sur la touche droiteLes actionsle bouton, puis cliquezLocation.

Application of Strategy Rental Code Metadata

CliquezVente interne.

Application of Strategy Rental Code Metadata

Cliquez sur la petite icône wrench, et définissez la métadonnée du code d'enregistrement.

Application of Strategy Rental Code Metadata

Ensuite, vous devez écrire les informations de limitation dans leMétacontrôle, comme plusieurs niveaux d'utilisation de la stratégie conçue dans cet exemple:

  • niveau 1: aucune limite pour le montant de la position;
  • niveau2: limite pour le montant maximal de la position à 10 pièces;
  • niveau3: limite pour le montant maximal de la position à 1 pièce;
  • Meta non défini: lorsqu'il n'est pas défini, la limite par défaut pour le montant maximal de la position est de 0,5 pièce.

Application of Strategy Rental Code Metadata

Tout d'abord, nous avons mislevel1dans le contrôle Meta, et laisser le code de registre créé avoir lelevel1de l'essai1. Après la création du code de registre, le vendeur de stratégie envoie le code de registre à l'acheteur de stratégie.

Par exemple, si j'utilise le code de registre sur un autre compte (comme le compte de l'acheteur) que j'ai, j'aurai le droit d'utiliser le test de stratégie1.

Application of Strategy Rental Code Metadata

  • ### Comment l'acheteur de stratégie utilise la stratégie

En tant qu'acheteur de stratégie, vous devez d'abord ajouter un bot, choisir test1 comme stratégie, et ajouter un objet d'échange au comptant WexApp (WexApp est le bot simulé de FMZ), puis exécuter le bot.

Application of Strategy Rental Code Metadata

Quand vous voyez la stratégie bien exécutée, cela signifielevel1n'a pas de limite pour le montant de la position (le montant de la pièce détenue sur le compte au comptant).

  • Modifier les métadonnées

Lorsque le code du registre de stratégie est utilisé, si le développeur de stratégie a besoin d'ajuster les métadonnées du code du registre à envoyer, il peut les modifier totalement.

Dans la page Strategy, c'est dans les dossiers de vente.

Application of Strategy Rental Code Metadata

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

Application of Strategy Rental Code Metadata

Nous avons modifié les métadonnées de l'ancien code de registre enlevel3, et l'utilisateur de la stratégie doit redémarrer le bot pour tester.level3limiter le montant maximal de la position à une pièce.

  • ### Conclusion

Lorsque vous louez une stratégie, selon différents groupes d'utilisateurs et niveaux de paiement, vous pouvez spécifiquement configurer les métadonnées, pour contrôler la stratégie par niveaux.

Bien sûr, les exemples mentionnés ci-dessus ne sont que les limitations et les exigences de contrôle les plus courantes.


En savoir plus