В процессе загрузки ресурсов... загрузка...

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

Автор:Нинабадасс., Создано: 2022-03-23 08:54:31, Обновлено: 2022-04-14 09:10:37

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

У друзей, которые работают на FMZ Quant Trading Platform, часто возникают такие потребности:

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

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

Основываясь на вышеуказанных сценариях спроса, платформа FMZ Quant Trading расширила новую функцию:Настройки кода метаданных реестра аренды стратегии.

При создании кода реестра, вы можете указать метаданныеMetaПримечание: длина мета не может превышать 190 символов при генерировании кода реестра.

  • ### Используйте метаданные FMZ Registry Code для ограничения стратегий

Например, я экспортирую разработку стратегии, и я разработал стратегию с спотовой торговой парой BTC_USDT. Стратегия делает только длинные позиции (изначально она имеет только котировку валютыQuoteCurrency, а именно USDT; после покупки он будет держать позицию сBaseCurrencyЕсли я хочу арендовать эту стратегию, название стратегииtest1.

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

Следовательно, разработка этих ограничений должна сочетаться с самой стратегией; пример - это просто инструкция, без реальной стоимости использования.

Стратегия Источник:

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

При создании кода реестра, найдите тест стратегии1 на странице Стратегия и нажмите на правоеДействиякнопку, а затем нажмитеАренда.

How to Specify Different Versions of Data for the Rented Strategy by Its Rental Code Metadata

НажмитеВнутренняя продажа.

How to Specify Different Versions of Data for the Rented Strategy by Its Rental Code Metadata

Нажмите на маленький значок wrench и установите метаданные регистрационного кода.

How to Specify Different Versions of Data for the Rented Strategy by Its Rental Code Metadata

Затем, вы должны написать информацию об ограничении вМетауправление, например, несколько уровней использования стратегии, разработанной в этом примере:

  • уровень 1: без ограничения на сумму позиции;
  • уровень 2: ограничение максимальной суммы позиции до 10 монет;
  • уровень 3: ограничение максимальной суммы позиции до 1 монеты;
  • Не установлен Meta: при отсутствии установленного предельного значения для максимальной суммы позиции - 0,5 монеты.

How to Specify Different Versions of Data for the Rented Strategy by Its Rental Code Metadata

Во-первых, мы установилиlevel1в Мета-контроль, и позвольте созданный код реестра иметьlevel1из испытания1. После создания регистрационного кода продавец стратегии отправляет регистрационный код покупателю стратегии.

Например, если я использую код реестра на другом своем счете (как на счете покупателя), я имею право использовать тест стратегии1.

How to Specify Different Versions of Data for the Rented Strategy by Its Rental Code Metadata

  • ### Как покупатель использует стратегию

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

How to Specify Different Versions of Data for the Rented Strategy by Its Rental Code Metadata

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

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

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

На странице Стратегия, это в записях о продаже.

How to Specify Different Versions of Data for the Rented Strategy by Its Rental Code Metadata

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

How to Specify Different Versions of Data for the Rented Strategy by Its Rental Code Metadata

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

  • ### Заключение

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

Разумеется, приведенные выше примеры являются лишь наиболее распространенными ограничениями и требованиями к контролю.


Больше информации