O recurso está a ser carregado... Carregamento...

Quadro de estratégia e funções de API

As estratégias escritas emJavaScript, Pythonecpp, oSleep()A função precisa ser chamada no loop principal dessas estratégias. Ela será usada para controlar a velocidade de retrocesso. Na negociação ao vivo, ela é usada para controlar os intervalos de votação da estratégia e também controlar a frequência de solicitação de acesso à interface API da troca.

function onTick(){
    //Write strategy logic here, and it will be called constantly, such as printing ticker information
    Log(exchange.GetTicker())
}

function main(){
    while(true){
        onTick()
        // The function "Sleep" is mainly used to control the polling frequency of cryptocurrency strategies to prevent accessing the exchange API interafce too frequently
        Sleep(60000)
    }
}
def onTick():
    Log(exchange.GetTicker())

def main():
    while True:
        onTick()
        Sleep(60000)
void onTick() {
    Log(exchange.GetTicker());
}

void main() {
    while(true) {
        onTick();
        Sleep(60000);
    }
}

Exemplos de estruturas básicas de estratégias de criptomoedas:

function onTick(){
    // It is just an example; for all the assets will be used to place orders fast during backtest or in live trading, do not implement the example in live trading
    exchange.Buy(100, 1)
}

function main(){
    while(true){
        onTick()
        // The pause period can be customized in millisecond (1 second = 1000 milliseconds)
        Sleep(1000)
    }
}
def onTick():
    exchange.Buy(100, 1)

def main():
    while True:
        onTick()
        Sleep(1000)
void onTick() {
    exchange.Buy(100, 1);
}

void main() {
    while(true) {
        onTick();
        Sleep(1000);
    }
}

Tomemos o exemplo mais simples, se eu quiser colocar uma ordem de compra com um preço de 100 e uma quantidade de 1 na bolsa a cada segundo, eu posso escrever assim: A seguir estão apresentadas as funções de API comumente utilizadas no desenvolvimento e design de estratégias.Manual da API da plataforma de negociação quântica FMZ.

Função global

Nome da função Breve Introdução
Versão Retorna o
Número da versão actual do sistema
Dormir Função do sono,
Parâmetro é o valor de milissegundos para pausa
IsVirtual Determinação da

ambiente de execução, devolver um valor verdadeiro para indicar um backtest ambiente. - Sim, sim.CorreioEnvie um e-mail. - Sim, sim.Mail_GoAsíncrono. versão doMailfunção. - Sim, sim.SetErrorFilterErro de filtro logs, o parâmetro é uma cadeia de expressões regulares, os logs de erro correspondido por esta expressão regular não será carregado para o registro sistema. - Sim, sim.GetPidApanha o robô. Processo ID. - Sim, sim.GetLastErrorApanha o último. Mensagem de erro. - Sim, sim.GetCommandGanha uma estratégia. comandos de interação, configurações de controle de interação estratégia pode ser Perguntado: [controle de interação] - Sim, sim.GetMetaConsiga o valor de Meta escrito ao gerar o código de registo da estratégia. - Sim, sim.Marque♫ Usado para o cru ♫ acesso ao soquete. - Sim, sim.HttpQueryEnvie um pedido HTTP. - Sim, sim.HttpQuery_GoAsíncrono. versão doHttpQueryfunção. - Sim, sim.CodificaçãoEncriptação de dados função. - Sim, sim.UnixNanoTens um nanossegundo. Marcas de tempo. - Sim, sim.UnixVamos para o segundo nível. Marcas de tempo. - Sim, sim.GetOSA começar o sistema. Informações. - Sim, sim.MD5Calcule o MD5. - Sim, sim.DBExecBase de dados. funções que podem ser usadas para executar instruções SQL e executar Operações de banco de dados. - Sim, sim.UUIDGerencie o UUID. - Sim, sim.EventLoopOlha para os eventos. e retornar depois de qualquer websocket é legível ou tarefas simultâneas, tais comoexchange.Go, HttpQuery_Go, etc. são concluídas, esta função Só está disponível para negociações ao vivo. - Sim, sim._G♫ Salvando dados persistentemente ♫ Esta função implementa uma função de dicionário global salvável. estrutura é uma tabela KV, que é armazenada no banco de dados local do docker arquivo permanentemente. - Sim, sim._DO manipulador de carimbos de tempo, converte um selo de tempo de milissegundos ou objeto Data para uma cadeia de tempo. - Sim, sim._NFormatar um ponto flutuante número, por exemplo:_N(3.1415, 2)Removerá o valor de 3.1415 após duas casas decimais, e a função retorna 3,14. - Sim, sim._CTentem novamente a função para Observe que, por exemplo, a tolerância de falha para Oexchange.GetTickerfunção é_C(exchange.GetTicker)e não_C(exchange.GetTicker()) | | _CruzadaA função de julgamento cruzado,_Cross()Funçãos retorna valor é um número positivo indica O período da penetração ascendente, um número negativo indica o O preço de mercado é o preço de mercado de uma moeda. O mesmo. - Sim, sim.JSONParseParsing JSON, que pode corretamente analisar cadeias de caracteres JSON contendo valores maiores, irá analisar maiores valores para um tipo de string.JSONParse()função não é suportada no sistema de backtesting.

Funções de log

Nome da função Breve Introdução
Registo Logs de saída, suporte para definir a cor do texto de log, suporte para definir push, suporte para impressão de imagens após codificação base64
LogProfit Dados de lucro e lucro de saída, valores de lucro e lucro impressos e curvas de rendimento de gráficos baseadas em valores de lucro e lucro
LogProfitReset Esvaziar oLogProfitFunção de saída todos os registos de lucros, gráficos de lucros
LogStatus Informações de saída na barra de estado, suporte para a concepção de comandos de botão na barra de estado, suporte para a saída de formulários
EnableLog Ativar ou desativar o registo de informações de encomendas
Gráfico Funções de gráficos, baseadas na biblioteca de gráficos Highcharts/Highstocks
KLineChart Função de desenho de estilo de linguagem de pinheiro, que é usada para desenho personalizado no tempo de execução da estratégia usando um estilo de desenho de linguagem parecido com o Pinheiro
LogReset Limpar registos, suporte para reter um certo número de registos recentes através das configurações do parâmetro
LogVacuum Recuperar recursos do SQLite para recuperar o espaço de armazenamento ocupado pelo SQLite ao excluir dados depois de limpar o log chamando oLogReset()função
console.log Informações de depuração de saída na coluna Informações de depuração na página de negociação em tempo real
console.error A informação de erro é emitida na coluna Informações de depuração da página de negociação em tempo real

Funções do Ticker

Nome da função Breve Introdução
exchange.GetTicker Vai-te embora.
a cotação Tick
exchange.GetDepth Vai-te embora.
Dados de profundidade do livro de encomendas
exchange.GetTrades Vai-te embora.
Dados sobre o volume de negócios do mercado
exchange.GetRecords Vai-te embora.
Dados da linha K
exchange.GetPeriod Vai-te embora.
o período K atual
exchange.SetMaxBarLen
Definição do comprimento máximo da linha K
exchange.GetRawJSON Vai-te embora.
o conteúdo bruto devolvido pela última solicitação de descanso
exchange.GetRate Vai-te embora.
a taxa de câmbio actual fixada
exchange.GetUSDCNY Vai-te embora.
a última taxa de câmbio USD/CNY
exchange.SetData Conjunto
Os dados carregados quando a estratégia está em execução
exchange.GetData Vai-te embora.
dados carregados ou dados fornecidos por ligações externas
exchange.GetMarkets Vai-te embora.
Informações sobre o mercado de câmbio
exchange.GetTickers Vai-te embora.
dados agregados de mercado provenientes de bolsas

Funções de transacção

Nome da função Breve Introdução
exchange.Buy Submeter uma ordem de compra, os contratos futuros devem prestar atenção à direção da transação é definida corretamente, se a direção da transação e a função da transação não coincidir, o erro será relatado!
exchange.Sell Enviar ordens de venda, contratos futuros quando a colocação de ordens deve prestar atenção para a direção da transação é definida corretamente, se a direção da transação e a função da transação não coincidir, ele irá relatar um erro
exchange.CreateOrder Enviar uma ordem e especificar o tipo de transação, direção da transação, preço e quantidade através de parâmetros
exchange.CancelOrder Cancelar a ordem
exchange.GetOrder Obter informações de ordem, estrutura de dados éOrdemEstrutura
exchange.GetOrders Obter pedidos não preenchidos com estrutura de dadosOrdemmatriz estrutural (lista)
exchange.GetHistoryOrders Obter as ordens históricas do par de negociação atual e contrato; suporte especificando produtos comerciais específicos
exchange.SetPrecision Configure a precisão do preço e da quantidade de ordem do objeto de troca, após a configuração, o sistema ignorará automaticamente a redundância de dados.
exchange.SetRate Estabelecer a taxa de câmbio
exchange.IO Para outras chamadas de interface relacionadas com objetos de troca
exchange.Log Output, registar registos de transacções e não realizar ordens
exchange.Encode Cálculo da criptografia da assinatura
exchange.Go Funções de suporte assíncrono de múltiplos fios
exchange.GetAccount Obter informações da conta
exchange.GetAssets Solicitar informações sobre os activos da conta de câmbio
exchange.GetName Obter o nome do objeto de troca
exchange.GetLabel Obter o rótulo do objeto de troca
exchange.GetCurrency Obtenha o par de negociação atual
exchange.SetCurrency Troca de pares de negociação
exchange.GetQuoteCurrency Obter o nome da moeda do par de negociação atual

Funções futuras

Nome da função Breve Introdução
[exchange.GetPositions(/guia de sintaxe#fun_exchange.getpositions) Obter posições de futuros com estrutura de dadosPosiçãomatriz estrutural (lista)
exchange.SetMarginLevel Configure a alavancagem
exchange.SetDirection Função utilizada para definir oexchange.Buyfunção,exchange.SellFunção para executar a direção da ordem de ordem do contrato de futuros
exchange.SetContractType Definir o código do contrato, por exemplo:exchange.SetContractType("swap")função define o código do contrato paraswap, que define o contrato para a operação em curso como um contrato perpétuo
exchange.GetContractType Obtenha o código do contrato atual
exchange.GetFundings Obtenha os dados atuais de taxa de financiamento de contratos perpétuos de câmbio de futuros

Funções da rede

Nome da função Breve Introdução
exchange.SetBase Definir o endereço de base da interface da API do Exchange envolta
exchange.GetBase Obtenha o endereço de base da interface da API de troca atual
exchange.SetProxy Configure o proxy
exchange.SetTimeout Configure o timeout do protocolo de repouso

JavaScript Multi-Threading

A plataforma de negociação de quantidade FMZ realmente suporta a função multi-threaded doJavaScriptA estratégia linguística é desenvolvida a partir da base do sistema e tem por objectivo:

Objetos Orientações Observações
Filamentos Objeto global multithreaded Funções dos membros:Thread, getThread, mainThread, etc.
Fios Objeto de linha Funções dos membros:peekMessage, postMessage, join, etc.
ThreadLock Objeto de bloqueio de fio Funções dos membros:acquire, release. Eles podem ser passados para o ambiente do thread como parâmetros da função de execução do thread.
ThreadEvent Objeto evento Funções dos membros:set, clear, wait, isSet. Eles podem ser passados para o ambiente do thread como um parâmetro da função de execução do thread.
ThreadCondição Objeto de condição Funções dos membros:notify, notifyAll, wait, acquire, release. Eles podem ser passados para o ambiente do thread como um parâmetro da função de execução do thread.
ThreadDict Objeto do dicionário Funções dos membros:get, set. Eles podem ser passados para o ambiente do thread como parâmetros da função de execução do thread.

Manual de sintaxe da plataforma de negociação quântica FMZ:JavaScript Multi-Threading

Web3

Nome da função Breve Introdução
A troca.IO ((abi,...) Registo da ABI
A troca.IO ((api, eth,...) Chamando o método Ethernet RPC
intercâmbio.IO ((codificação,...) Função de codificação
Intercâmbio.IO ((encodePacked,...) Função de codificação codificada
Intercâmbio.IO ((decodificação,...) Função de decodificação
Troca. IO ((key,...) Usado para trocar chaves privadas
- O que é que se passa? Métodos para invocar um contrato inteligente
Câmbio.IO (( endereço) Obter o endereço de carteira atualmente configurado
Troca.IO ((base,...) Configuração de nós RPC

Biblioteca de indicadores de TA

Nome da função Breve Introdução
TA.MACD Calcular o indicador médio de divergência suavizada exponencial
TA.KDJ Cálculo dos indicadores estocásticos
TA.RSI Calcular o indicador de resistência
TA.ATR Calcular o indicador médio de volatilidade real
TA.OBV Cálculo dos indicadores de maré energética
TA.MA Cálculo dos indicadores da média móvel
TA.EMA Cálculo dos indicadores das médias exponenciais
TA.BOLL Calcular o indicador da banda de Bollinger
TA.Alligator Calcule o indicador da linha do jacaré
TA.CMF Cálculo do indicador de fluxo de caixa Chaikin
TA.Highest Calcular o preço máximo do período
TA.Lowest Calcular o preço mínimo do período
TA.SMA Calcular os indicadores da média móvel simples

Talib Indicador Biblioteca

A biblioteca de indicadores talib tem inúmeros indicadores de negociação, como:talib.CDL2CROWSPode ir ao manual de sintaxe para mais detalhes.

Funções de entrada de estratégia Bibliotecas de modelos