avatar of 发明者量化-小小梦 发明者量化-小小梦
focar em Mensagem privada
4
focar em
1271
Seguidores

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

Criado em: 2021-05-20 09:53:15, atualizado em: 2024-12-04 21:24:10
comments   0
hits   1470

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

Aplicação de metadados de código de aluguel estratégico

Amigos que desenvolvem na Plataforma de Negociação Quantitativa do Inventor podem frequentemente ter as seguintes necessidades:

Ao desenvolver uma estratégia para aluguel, você deseja definir diferentes restrições de fundos para a estratégia, definir diferentes restrições de câmbio para o aluguel da estratégia (limitar a troca da operação da estratégia) ou deseja definir restrições na configuração da conta de câmbio para o aluguel da estratégia (especifique Esta estratégia só pode ser usada com contas que foram acordadas previamente. Quando o usuário da estratégia usa outras contas, a estratégia solicita e não realiza mais transações, etc.).

Obviamente, elas não podem ser codificadas no código, porque se elas forem codificadas no código. Todos os usuários estarão sujeitos a essas restrições e não será possível controlar diferentes permissões de uso para diferentes grupos de usuários.

Com base nos cenários de demanda acima, a Plataforma de Negociação Quantitativa Inventor expandiu novas funções:Configurações de metadados do código de registro de aluguel de política

Ao criar um código de registro, você pode especificar um metadadoMeta, data é uma string. Observação: ao gerar um código de registro, o comprimento do Meta não pode exceder 190 caracteres.

  • ### Use metadados do registro FMZ para definir políticas

Por exemplo, sou um desenvolvedor de estratégias. Desenvolvi uma estratégia para o par de negociação à vista BTC_USDT. A estratégia é longa apenas (inicialmente apenas a moeda de cotaçãoQuoteCurrencyOu seja, USDT. Depois de comprá-lo, você terá uma moeda de negociação.BaseCurrencyQuero alugar esta estratégia, o nome da estratégia étest1

Pode-se observar que o desenho das limitações da estratégia precisa ser projetado especificamente em combinação com as circunstâncias específicas da estratégia. Este exemplo é uma demonstração de uma estratégia spot. E se a estratégia for uma estratégia de futuros? Então é necessário limitar as informações de posição futura (com base nos dados de posição retornados por GetPosition). Quando a estratégia descobre que a posição excede o limite, a lógica de abertura de ordens não será mais executada (outras lógicas precisam ser executadas normalmente, como o fechamento de posições).

Portanto, esses designs precisam ser específicos em combinação com a estratégia em si. Este exemplo é apenas um exemplo ilustrativo simples e pode não ter valor prático.

Código fonte da estratégia:

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

Ao criar um código de registro, encontre a política test1 na biblioteca de políticas e clique emItem de ação, cliquevender

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

CliqueVenda interna

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

Clique na “pequena chave inglesa” para definir os metadados do código de registro.

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

Em seguida, escreva as informações que você deseja limitar emMetaOs controles, como as diversas estratégias projetadas neste exemplo, usam níveis:

  • Nível 1: Não há limite para o número de cargos ocupados.
  • Nível 2: O número máximo de participações é limitado a 10 moedas.
  • Nível 3: O número máximo de participações é limitado a 1 moeda.
  • Não definir Meta: quando não definido, o limite padrão para o número máximo de posições mantidas é 0,5 moedas.

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

Primeiro definimos o controle Metalevel1, para que o código de registro criado tenha a estratégia test1level1nota. O código de registro foi criado:

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

O locador da estratégia envia este código de registro ao locatário da estratégia.

Por exemplo, neste momento eu uso este código de registro na minha outra conta (locatário da estratégia) para obter o direito de usar a estratégia test1.

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

  • ### Os locatários de apólices usam apólices

Locatário de estratégia, crie uma conta real, use test1 como estratégia, adicione um objeto de troca à vista WexApp (WexApp é uma conta simulada na plataforma FMZ) e execute a conta real.

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

Você pode ver que a estratégia está funcionando normalmente, indicandolevel1O nível não limita o número de posições mantidas (o número de moedas mantidas na conta à vista).

  • ### Modificar Metadados

Quando o código de registro da política for usado, se o desenvolvedor da política precisar ajustar os metadados do código de registro emitido, ele poderá ser modificado.

Na biblioteca de estratégias, venda o registro.

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

Os metadados podem ser modificados.

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

Modificamos o código de registro anterior Meta dados paralevel3, então o usuário da estratégia reinicia o teste em tempo real.

Como especificar dados de versão diferentes para a política de aluguel por meio de metadados do código de aluguel da política

Como você pode ver na imagem acima,level3O limite máximo de nível para segurar é 1 moeda.

  • ### Visão geral

Ao alugar apólices de acordo com diferentes grupos de usuários e níveis de pagamento, metadados Meta específicos são configurados para obter controle hierárquico de apólices.

É claro que o acima lista apenas os requisitos de limitação e controle mais comuns. Há vários requisitos semelhantes que podem ser atendidos usando esta função.