4
Подписаться
1271
Подписчики

Как указать различные версии данных для политики аренды с помощью метаданных кода политики аренды

Создано: 2021-05-20 09:53:15, Обновлено: 2024-12-04 21:24:10
comments   0
hits   1470

Как указать различные версии данных для политики аренды с помощью метаданных кода политики аренды

Применение метаданных стратегического кода аренды

У друзей, которые работают на платформе количественной торговли Inventor, часто могут быть такие потребности:

При разработке стратегии для аренды вы хотите установить различные ограничения по фондам для стратегии, установить различные ограничения обмена для аренды стратегии (ограничить операции обмена стратегии) ​​или вы хотите установить ограничения по конфигурации счета обмена для аренды стратегии (указать Эту стратегию можно использовать только с заранее согласованными счетами. Когда пользователь стратегии использует другие счета, стратегия выдает запрос и больше не выполняет транзакции и т. д.).

Очевидно, что их нельзя жестко запрограммировать в коде, потому что если они жестко запрограммированы в коде. Эти ограничения будут распространяться на всех пользователей, и будет невозможно контролировать различные разрешения на использование для разных групп пользователей.

На основе вышеописанных сценариев спроса в количественной торговой платформе Inventor были расширены новые функции:Настройки метаданных кода регистрации аренды полиса

При создании регистрационного кода вы можете указать метаданные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, так что созданный код регистрации имеет стратегию test1level1оценка. Регистрационный код создан:

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

Арендодатель стратегии отправляет этот регистрационный код арендатору стратегии.

Например, в данный момент я использую этот регистрационный код в своей другой учетной записи (strategy renter), чтобы получить право использовать стратегию test1.

Как указать различные версии данных для политики аренды с помощью метаданных кода политики аренды

  • ### Арендаторы полисов используют полисы

Арендатор стратегии, создайте реальный счет, используйте test1 в качестве стратегии, добавьте объект спотовой биржи WexApp (WexApp — это смоделированный счет на платформе FMZ) и запустите реальный счет.

Как указать различные версии данных для политики аренды с помощью метаданных кода политики аренды

Вы можете видеть, что стратегия работает нормально, что указывает наlevel1Уровень не ограничивает количество удерживаемых позиций (количество монет, удерживаемых на спотовом счете).

  • ### Изменить метаданные

Если после использования регистрационного кода политики разработчику политики необходимо скорректировать метаданные выданного регистрационного кода, их можно изменить.

В библиотеке стратегий продайте запись.

Как указать различные версии данных для политики аренды с помощью метаданных кода политики аренды

Метаданные могут быть изменены.

Как указать различные версии данных для политики аренды с помощью метаданных кода политики аренды

Мы изменяем предыдущие метаданные регистрационного кода наlevel3, то пользователь стратегии перезапускает тест в реальном времени.

Как указать различные версии данных для политики аренды с помощью метаданных кода политики аренды

Как вы можете видеть на картинке выше,level3Максимальный лимит уровня удержания — 1 монета.

  • ### Обзор

При сдаче в аренду полисов в соответствии с различными группами пользователей и уровнями оплаты настраиваются специальные метаданные для достижения иерархического управления политиками.

Конечно, выше перечислены только наиболее распространенные требования к ограничениям и контролю. Существуют различные схожие требования, которые можно удовлетворить с помощью этой функции.