Os parceiros que desenvolvem em plataformas de negociação quantitativa de inventores podem frequentemente ter necessidades como:
Desenvolver uma política de aluguel que deseje ter um limite de fundos diferente para a política, um limite de exchanges diferente para a política de aluguel ("exchanges que operam a política de restrição"), ou um limite de configuração de contas de exchanges para a política de aluguel ("especificar essa política para operar apenas contas previamente acordadas, sugerir a política e deixar de negociar quando o usuário da política usa outras contas").
Obviamente, estes não podem ser escritos no código, porque se forem escritos no código. Todos os usuários serão limitados por essas condições e não será possível controlar diferentes permissões para diferentes grupos de usuários.
Com base nos cenários de demanda acima, a plataforma de negociação quantitativa do inventor expandiu novas funcionalidades:Configuração de metadados de código de registro de táxis
Pode-se especificar um metadado ao criar um código de registoMeta
, os dados são strings. Nota: Meta não pode exceder 190 caracteres de comprimento ao gerar o código de registro.
Por exemplo, eu sou um estrategista de desenvolvimento de barracas, eu desenvolvi uma estratégia para o BTC_USDT em pares de negociação em tempo real, a estratégia é apenas fazer mais (ou seja, inicialmente apenas cotações).QuoteCurrency
O USDT é uma moeda de troca que pode ser comprada e mantida.BaseCurrency
Eu vou alugar essa estratégia, que é chamada de "BTC".test1
。
Como pode ser visto, o design limitado da estratégia requer um design específico em combinação com a situação da estratégia específica. Este exemplo é uma demonstração da estratégia de mercado, se a estratégia é uma estratégia de futuros?
Portanto, esses projetos precisam ser combinados com as próprias estratégias específicas, e este exemplo é apenas um simples exemplo ilustrativo e pode não ter valor de uso prático.
O código 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 o código de registro, você encontra a política test1 na biblioteca de políticas, clique na política test1 no lado direito.OperaçõesClique aqui.Venda e venda。
Clique aquiVenda interna。
Clique no botão de controle para configurar os dados do código de registro.
E depois escreve a informação que você quer limitar.MetaOs controles, por exemplo, são usados para a classificação de várias estratégias projetadas neste caso:
O primeiro passo é configurar o controle Meta.level1
O código de registro criado tem a política test1.level1
A classificação.
O código de inscrição foi criado:
购买地址: https://www.fmz.com/m/s/282900
注册码: 7af0c24404b268812c97b55d073c1867
O proprietário da estratégia envia o código de registro para o proprietário da estratégia.
Por exemplo, neste momento eu usei esse código de registro em outra conta (o inquilino da política) e recebi o acesso à política test1.
A estratégia de aluguel, a criação de disco rígido, a estratégia de test1, a adição de um objeto de WexApp (WexApp é um disco simulado da plataforma FMZ), e a execução do disco rígido.
E você pode ver que a estratégia está funcionando.level1
A classificação não limita o número de detentores (número de moedas mantidas na conta de caixa).
Quando o código de registro da política já está usado, pode ser modificado se o desenvolvedor da política precisar ajustar os metadados do código de registro emitido.
O blogueiro também escreveu sobre o assunto:
Os meta-dados podem ser modificados.
Nós modificamos os dados do código de registro anterior paralevel3
A partir daí, o usuário pode iniciar novamente o teste no disco real.
Como podem ver no gráfico acima, o gatilho foi disparado.level3
O limite máximo de posicionamento é de apenas uma moeda.
Configure meta-dados de acordo com diferentes grupos de usuários, políticas de aluguel de diferentes níveis de pagamento, para controlar a hierarquia da estratégia.
É claro que isso é apenas uma lista das necessidades de limitação e controle mais comuns. Há uma grande variedade de necessidades semelhantes que podem ser realizadas com essa função.