Como especificar diferentes versões de dados para a estratégia alugada por seus metadados de código de aluguel

Autora:Ninabadass, Criado: 2022-03-23 08:54:31, Atualizado: 2022-04-14 09:10:37

Aplicação da Estratégia Metadados do código de locação

Os amigos que desenvolvem na plataforma de negociação de quantidade FMZ podem muitas vezes ter tais necessidades:

Quando você desenvolve uma estratégia para aluguel, você deseja ter diferentes limitações de fundos na estratégia e diferentes limitações de plataforma (limitar as plataformas operadas pela estratégia), ou você deseja limitar a configuração da conta da plataforma (especificar a estratégia só pode operar em contas pré-acordadas; quando o usuário da estratégia usa outras contas, a estratégia é solicitada e não negociará mais e não fará outras operações).

Estes, obviamente, não podem ser codificados, porque se forem codificados, todos os usuários estarão sujeitos a essas limitações, e eles não podem controlar diferentes privilégios de uso para diferentes grupos de usuários.

Com base nos cenários de demanda acima, a plataforma de negociação de quantidade FMZ expandiu uma nova função:Configurações de metadados do código do registo de aluguer de estratégia.

Ao criar um código de registo, pode especificar um metadadosMetaNota: O comprimento do Meta não pode exceder 190 caracteres quando ele gera o código do registo.

  • Utilize os metadados do código do registo FMZ para limitar as estratégias

    Por exemplo, eu sou um exportador de desenvolvimento de estratégia, e eu desenvolvi uma estratégia com um par de negociação à vista de BTC_USDT. A estratégia só faz posições longas (inicialmente, ele só tem a moeda de cotaçãoQuoteCurrency, nomeadamente USDT; após a compra, manterá uma posição com oBaseCurrencySe eu quiser alugar esta estratégia, o nome da estratégia étest1.

    Como você pode ver, as limitações da estratégia precisam ser especificamente projetadas em combinação com a situação específica da estratégia. Este exemplo é uma demonstração de uma estratégia spot, mas e se a estratégia for uma estratégia de futuros? Em seguida, é necessário limitar as informações de posição de futuros (de acordo com os dados de posição retornados pelo GetPosition). Quando a estratégia descobre que a posição excede o limite, a lógica de colocar uma ordem e abrir uma posição não será mais executada (outra lógica precisa ser executada normalmente, como fechar uma posição e outras operações).

    Por conseguinte, a concepção dessas limitações deve ser combinada com a própria estratégia; o exemplo é apenas uma simples instrução, sem o valor de uso real.

    Estratégia Código fonte:

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

    Ao criar o código do registo, procure o teste de estratégia1 na página Strategy e clique na barra de direitaAcçãobotão, e depois cliqueAluguer.

img

CliqueVenda interna.

img

Clique no pequeno ícone wrench e defina os metadados do código de registro.

img

Então, você precisa escrever a informação de limitação noMetacontrolo, como vários níveis de utilização da estratégia concebida neste exemplo:

  • Nível 1: sem limite para o montante da posição;
  • nível2: limite para o montante máximo da posição de 10 moedas;
  • nível3: limite para o montante máximo da posição de 1 moeda;
  • Meta não definido: quando não definido, o limite por defeito para o montante máximo da posição é de 0,5 moeda.

img

Em primeiro lugar, definimoslevel1no controle Meta, e deixe o código de registo criado ter olevel1do ensaio1. Após a criação do código do registo, o vendedor da estratégia envia o código do registo ao comprador da estratégia.

Por exemplo, se utilizar o código do registo noutra conta minha (como a conta do comprador), terei o direito de utilizar o teste de estratégia1.

img

  • Como o comprador da estratégia usa a estratégia

    Como um comprador de estratégia, você primeiro precisa adicionar um bot, escolher test1 como a estratégia, e adicionar um objeto de troca de pontos WexApp (WexApp é o bot simulado do FMZ), e depois executar o bot.

img

Quando você pode ver a estratégia executada corretamente, isso significalevel1não tem limite para o montante da posição (o montante da moeda detida na conta à vista).

  • Modificar metadados

    Quando o código do registo da estratégia for utilizado, se o desenvolvedor da estratégia precisar de ajustar os metadados do código do registo a enviar, pode modificá-lo totalmente.

    Na página Estratégia, está nos registos de venda.

    img

    Os metadados podem ser modificados.

    img

    Mudámos os metadados do antigo código de registo paralevel3, e o usuário da estratégia precisa reiniciar o bot para testar.level3Limitar o montante máximo da posição a uma moeda.

  • Conclusão

    Quando alugar uma estratégia, de acordo com diferentes grupos de usuários e níveis de pagamento, você pode configurar especificamente os metadados, para controlar a estratégia por níveis.

    Naturalmente, os exemplos mencionados acima são apenas as limitações e exigências de controlo mais comuns.


Mais.