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 metadadosMeta
Nota: O comprimento do Meta não pode exceder 190 caracteres quando ele gera o código do registo.
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 oBaseCurrency
Se 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
CliqueVenda interna.
Clique no pequeno ícone
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:
Em primeiro lugar, definimoslevel1
no controle Meta, e deixe o código de registo criado ter olevel1
do 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.
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.
Quando você pode ver a estratégia executada corretamente, isso significalevel1
não tem limite para o montante da posição (o montante da moeda detida na conta à vista).
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
Os metadados podem ser modificados.
Mudámos os metadados do antigo código de registo paralevel3
, e o usuário da estratégia precisa reiniciar o bot para testar.level3
Limitar o montante máximo da posição a uma moeda.
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.