avatar of 发明者量化-小小梦 发明者量化-小小梦
フォロー ダイレクトメッセージ
4
フォロー
1271
フォロワー

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

作成日:: 2021-05-20 09:53:15, 更新日:: 2024-12-04 21:24:10
comments   0
hits   1470

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

戦略的レンタルコードメタデータの適用

Inventor Quantitative Trading Platform で開発する友人は、次のようなニーズを抱えていることが多いかもしれません。

レンタル用の戦略を開発する際に、戦略に異なる資金制限を設定したり、戦略レンタルに異なる交換制限を設定したり(戦略操作の交換を制限したり)、戦略レンタルの交換口座設定に制限を設定したりしたい。 (この戦略は、事前に合意されたアカウントでのみ使用できます。戦略ユーザーが他のアカウントを使用すると、戦略はプロンプトを表示し、取引などを実行しなくなります)。

これらは明らかにコード内にハードコードすることはできません。なぜなら、コード内にハードコードされている場合、すべてのユーザーがこれらの制限の対象となり、ユーザー グループごとに異なる使用権限を制御することはできません。

上記の需要シナリオに基づいて、Inventor Quantitative Trading Platform は新しい機能を拡張しました。ポリシーレンタル登録コードメタデータ設定

登録コードを作成するときに、メタデータを指定できますMetaデータは文字列です。注意: 登録コードを生成する場合、Meta の長さは 190 文字を超えることはできません。

  • ### FMZレジストリメタデータを使用してポリシーを定義する

例えば、私は戦略開発者です。スポット取引ペアBTC_USDTの戦略を開発しました。この戦略はロングのみです(最初はクォート通貨のみ)。QuoteCurrencyつまり、USDT です。これを購入すると、取引通貨が手に入ります。BaseCurrencyこの戦略をレンタルしたいのですが、戦略名はtest1

戦略の制限の設計は、戦略の特定の状況と組み合わせて具体的に設計する必要があることがわかります。この例はスポット戦略のデモンストレーションです。この戦略が先物戦略の場合はどうなるでしょうか?次に、先物ポジション情報を制限する必要があります(GetPosition によって返されるポジション データに基づいて)。戦略によってポジションが制限を超えていることが検出されると、注文開始ロジックは実行されなくなります (ポジションのクローズなど、他のロジックは通常どおりに実行する必要があります)。

したがって、これらの設計は、戦略自体と組み合わせて具体的なものにする必要があります。この例は、単なる説明的な例であり、実用的な価値がない可能性があります。

戦略ソースコード:

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

登録コードを作成するときは、ポリシーライブラリでtest1ポリシーを見つけてクリックします。アクション項目、 クリック売る

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

クリック社内販売

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

「小さなレンチ」をクリックして、登録コードのメタデータを設定します。

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

次に制限したい情報を記入しますMetaこの例で設計されたいくつかの戦略などのコントロールでは、レベルが使用されます。

  • レベル 1: 保持するポジションの数に制限はありません。
  • レベル 2: 保有できるコインの最大数は 10 枚に制限されます。
  • レベル 3: 保有できるコインの最大数は 1 枚に制限されます。
  • メタを設定しない場合: 設定されていない場合、保持されるポジションの最大数のデフォルトの制限は 0.5 コインです。

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

まずメタコントロールを設定しますlevel1作成された登録コードにはtest1戦略が含まれるようにするlevel1学年。 登録コードが作成されました:

  购买地址: https://www.fmz.com/m/s/282900
  注册码: 7af0c24404b268812c97b55d073c1867

戦略貸主は、この登録コードを戦略借主に送信します。

たとえば、現時点では、この登録コードを別のアカウント (戦略レンター) で使用して、test1 戦略を使用する権利を取得します。

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

  • ### 保険の賃借人は保険を使用する

戦略 renter では、実際のアカウントを作成し、戦略として test1 を使用し、WexApp スポット取引オブジェクト (WexApp は FMZ プラットフォーム上のシミュレートされたアカウント) を追加して、実際のアカウントを実行します。

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

戦略が正常に実行されていることがわかります。level1このレベルでは、保有するポジション数(スポット口座で保有するコイン数)は制限されません。

  • ### メタデータの変更

ポリシー登録コードが使用されている場合、ポリシー開発者は発行された登録コードのメタデータを調整する必要がある場合は、それを変更できます。

戦略ライブラリで、販売記録を作成します。

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

メタデータは変更できます。

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

以前の登録コードメタデータを修正してlevel3、ここで戦略ユーザーがリアルタイム テストを再開します。

ポリシーレンタルコードメタデータを通じてレンタルポリシーの異なるバージョンデータを指定する方法

上の写真からもわかるように、level3保有できる最大レベル制限は 1 コインです。

  • ### 概要

異なるユーザー グループと支払いレベルに応じてポリシーをレンタルする場合、階層的なポリシー制御を実現するために特定のメタ メタデータが構成されます。

もちろん、上記は最も一般的な制限と制御要件のみをリストしたものです。この機能を使用すると、さまざまな同様の要件を実現できます。