A quantificação do círculo de moedas é algo novo para mim - o que me leva mais perto da quantificação do círculo de moedas.

Autora:Sonhos pequenos, Criado: 2021-05-06 11:20:04, Atualizado: 2023-09-21 21:03:14

img

A quantificação do círculo de moedas é uma nova visão que o leva a aproximar-se do círculo de moedas.

Informações erradas

Nos artigos anteriores, já aprendemos que o chamado programação, transação quantitativa é um script baseado em dados obtidos da bolsa de valores, que, após uma série de cálculos, julgamentos e gatilhos, executa algumas ações para operar a conta da bolsa de valores. Esses atos de obtenção de dados, operações de contas são realizados através da interface API da bolsa de valores. Simplificando, o script e a bolsa de valores interagem.

É claro que os programas programados, os sistemas de negociação quantificados ou os programas desenvolvidos por si mesmos no mercado têm uma variedade de dicas de erros e mensagens de erro. Esses erros não são limitados a mensagens de erro na interface API da bolsa. Também há erros anormais de execução, erros de configuração, erros de programação, erros de gramática, etc.

No entanto, a maioria das pessoas não sabe o que fazer, e a maioria das pessoas não sabe o que fazer.

  • Erros gramaticais estratégicos Esses erros são mais comuns, geralmente causados pela falta de familiaridade com a programação, e por erros gramaticais no código escrito na fase de teste de aprendizagem; por exemplo:

    img

    O código tem menos caracteres, como parênteses. Tais erros geralmente são mostrados na página de políticas de edição, e a política também não funciona.

    imgEntão, depois de escrever a política, dê uma olhada no costume de editar a página de política da plataforma e veja se há um pequeno XX vermelho, se há, certamente há um erro óbvio.

  • Programa em execução causado por um BUG O programa apresenta um BUG, que, quando o programa está em execução, provoca uma anomalia que faz com que o programa pare de forma anormal, mostrando mensagens de erro como essa.

    img

    img

    Todos esses erros causam uma anomalia no programa e o programa pára de funcionar.

  • Erros causados por configurações e configurações erradas

    Na plataforma FMZ, as transações são definidas como:X_YEm tal formato, X representa o nome da moeda negociada e Y representa o nome da moeda cotada (por exemplo, a moeda cotada dos pares de contratos de negociação de moeda local é geralmente representada em USD, como foi descrito em artigos anteriores).BTC_USDTE se eu escrever a transação de forma errada,BTC-USDT

    img

    O sistema de repetição da plataforma FMZ relatou um erro:

    img

    O que é que ele está a fazer?

    img

    O que é que ele está a fazer?

    https://www.fmz.comimg

    Esse tipo de erro é causado por uma alteração no código de uma conta da plataforma FMZ, o que leva a uma alteração no objeto da troca configurado.API KEYFalha (os KEYs de API do usuário foram criptografados no navegador e configurados na plataforma FMZ), a política não pode ser iniciada, então o erro é enviado.

  • Erro de chamada de interface

    Os erros de chamada de interface são frequentes na execução de políticas, e nos artigos anteriores aprendemos sobre as interfaces na plataforma FMZ.Interfaces que geram solicitações de redeInterfaces que não geram solicitações de redeOs relatórios de erros de interface não causam a interrupção do programa de política, geralmente devido a uma anomalia de chamada de interface, devolvendo dados errados, em seguida, a política não é tolerante a erros, usando erros de programação provocados por dados errados.

    Aqui estão algumas mensagens de erro de interface que geram solicitações de rede:

    • O tempo da rede

      img

      Uma das mensagens errôneas que os iniciantes frequentemente encontram é que eles usam um dispositivo da rede doméstica (o próprio computador ou servidor doméstico). Como a maioria das exchanges estão bloqueadas, a rede doméstica é praticamente inacessível para muitas exchanges, e as interfaces de acesso são reportadas como atrasadas.

    • Erro http 429

      https://www.fmz.comimg

      Uma das mensagens de erro clássicas é que as chamadas para as interfaces das bolsas são muito frequentes, além do limite de frequência das bolsas. Alguns dos meus novos colegas podem dizer que eu me inscrevi em mais de uma bolsa do que em mais de uma.API KEYOu se eu solicitar mais de uma conta não funciona. Precisamos saber que a freqüência de acesso à interface é geralmente baseada no endereço IP, ou simplesmente, se todos os pedidos enviados a um endereço IP são estatisticamente enviados a esse endereço IP, o servidor da bolsa recusa o acesso se exceder a restrição.

    • O relatório do nível de negócios da interface da bolsa

      O timeout acima, 429, são erros no nível da rede. Os problemas no nível de negócios da interface do exchange também podem ser relatados, por exemplo, eu quero obter um mercado em tempo real, mas eu definiu um par de transações que não existe. Eu testei no instrumento de depuração da plataforma FMZ, o instrumento de depuração é um instrumento de teste muito conveniente, ideal para o teste em disco real, chamadas de funções, obtenção de dados, etc.

      img

      O resultado da execução de ferramentas de depuração, a execução de ferramentas de depuração e a execução em disco real não fazem diferença.img

      Huobi	错误	GetTicker: Invalid ticker: {"Info":{"err-code":"invalid-parameter","err-msg":"invalid symbol","status":"error","ts":1620872079355},"High":0,"Low":0,"Sell":0,"Buy":0,"Last":0,"Volume":0,"OpenInterest":0,"Time":0}
      

      A mensagem de erro aqui significa que a transação não é válida."err-msg":"invalid symbol"Não, não é. Exemplos de erros relacionados com o negócio são muitos, como o fato de que algumas casas de câmbio não suportam um valor de alavancagem com frações quando se configura o alavancamento, o que pode causar um erro de chamada de interface se o valor for com frações.

    Lista uma chamada de interface que não gerou uma solicitação de rede

    • Configurar o código do contrato de futuros Algumas interfaces são apenas configurações de algumas variáveis globais no sistema que não geram solicitações de rede, como:

      img

      Mas o erro de transmissão de parâmetros, ou a transcrição errada, também pode ser compensado.

      img

    No entanto, independentemente do tipo de erro, a mensagem de erro exibida é a informação fundamental para encontrar o problema e, geralmente, é possível ver a origem do problema através da mensagem de erro."err-msg":"invalid symbol"O símbolo "err msg" não é válido. Provavelmente, você sabe que o par de transações foi configurado de forma errada, porque geralmente o símbolo em inglês representa o código de transação, o par de transações. No que diz respeito à informação de erro, vamos apenas falar sobre estes, e há uma publicação para perguntas comuns que será coletada continuamente para consulta:https://www.fmz.com/bbs-topic/1427

Sistemas de detecção

O sistema de retrospecção também é um ponto de referência em ferramentas de quantificação, onde o sistema de retrospecção pode fornecer protótipos de estratégias de teste convenientes, erros potenciais, problemas de lógica, etc. O sistema de retrospecção requer uma visão racional.

A seguir, um breve resumo dos diferentes níveis de linguagem estratégica suportada pela FMZ sobre o sistema de retrospecção na plataforma FMZ.

  • JavaScript

    A resposta do navegador é feita usando recursos de hardware nativos.

  • Python

    No re-metro do hospedeiro, é possível escolher a qual hospedeiro atribuir especificamente (todos os hospedeiros que se implementam, os hospedeiros públicos da plataforma FMZ). Como o re-metro do hospedeiro público é mais pesado na plataforma FMZ, recomenda-se o re-metro do hospedeiro local (também é mais rápido, pois o re-metro do hospedeiro público cancela algumas tarefas de re-metro quando há mais tarefas do que o re-metro, causando interrupções no re-metro).

  • C++

    Diferentemente de outras linguagens, as políticas C++ são compiladas e executadas. As políticas C++ são compiladas na plataforma FMZ (servidor) se houver algum problema com o código escrito.

  • Língua Ma

    A implementação básica é o JavaScript, e quando retomado, também é retomado no lado do navegador.

  • Visualização

    A implementação básica é o JavaScript, e quando retomado, também é retomado no lado do navegador.

O modelo de retorno do sistema de retorno do inventor da plataforma de negociação quantitativa é dividido em dois tipos (esta não é uma linguagem de estratégia, esta é uma configuração de retorno, e a estratégia de retorno de todas as linguagens é a mesma).

img

Para obter informações sobre o sistema de retestamento, consulte o tutorial da plataforma:

https://www.fmz.com/bbs-topic/4158#策略回测

  • 1o, reavaliação de nível analógico A análise analógica de nível de retomada é simplesmente a geração de dados de preços em cada ponto de tempo baseados em dados de linha K.

    K线中一根柱子不是有高开低收么,构成了一个价格框架,在这个K线代表的时间范围内,价格都在这个价格框架内,所以只要生成的价格在这个K线高开低收框架范围内,这个模拟出来的价格就是合理的。
    

    A partir de agora, o que é mais importante para mim é que a minha vida seja mais saudável.https://www.fmz.comimgÉ claro que a situação é um pouco mais complexa do que no gráfico, sem entrar em detalhes, é possível entender o mecanismo de ressonância ao nível da simulação. Conhecendo este princípio, é necessário prestar atenção às desvantagens do retorno ao nível analógico, embora o retorno ao nível analógico seja rápido (porque o preço gerado pelo analógico não é o verdadeiro preço por segundo emitido individualmente), mas se a estratégia for adequada.Tendências de mudança de ticks simuladasO preço de um produto pode ser muito alto, o que pode fazer com que a estratégia funcione muito bem (mas, na realidade, o preço pode não ser esse movimento, embora o preço esteja dentro do quadro deste pilar K). Aqui, a linha K usada para gerar dados de ticks analógicos é chamada linha K inferior, e o ciclo dessa linha é chamado de ciclo K.Ciclo da linha K inferiorA página de configuração da política é definida da seguinte forma:

    imgAqui, a definição de 1 minuto significa usar dados de linha K com um ciclo de 1 minuto como fonte de dados para gerar ticks analógicos.

    Outro ponto é que, para estratégias de alta frequência, o uso de retrospectiva de nível analógico é claramente inadequado. Mas para estratégias de tendência, o uso de retrospectiva de nível analógico pode refletir o desempenho da estratégia até certo ponto.

  • 2o, retomada ao nível do disco real Falando de retorno ao nível analógico, vamos falar de retorno ao nível real. Simplificando, o retorno ao nível real é o lançamento real de dados de preços por segundo durante o retorno. Deixar a estratégia retroceder para o preço por segundo no mercado. A desvantagem é que o volume de dados de retomada no nível do disco real é muito grande e não é possível retomada em um maior intervalo de tempo (geralmente menos de um dia).Informações, reduzindo o grau de dados de profundidade (dados transacionados por penna, dados de profundidade de disco também têm snaps por segundo no retraso do nível do disco real, então o volume de dados de retraso do nível do disco real é enorme), para aumentar apropriadamente o alcance do retraso, como mostra:

    img

Onde está a fonte de dados do inventor do sistema de retrospecção de plataforma de negociação quantitativa? O sistema de retrospecção usa, por defeito, os dados do centro de dados da plataforma FMZ, que automaticamente coleta dados de mercado de diferentes moedas de várias bolsas configuradas e fornece ao sistema de retrospecção da plataforma.

  • 1o, dados usados pelo FMZ por padrão O blogueiro também escreveu sobre o assunto:https://www.fmz.com/bbs-topic/6857#量化交易平台Os dados de retrospecção fornecidos pela plataforma suportam apenas pares de transações limitados (todos os mercados, todas as moedas retrospectivas são números astronômicos, todos são coletados não-realistas, a plataforma coleta dados de mercado de exchanges principais, moedas principais).

  • 2° Usar dados de fontes de dados personalizados A opção de redefinição da página pode ser usada para configurar fontes de dados personalizadas, ou seja, se você tem dados de uma bolsa, você pode fornecer um sistema de redefinição para a plataforma FMZ, de acordo com os requisitos de formato da plataforma FMZ.

    img

    A documentação do FMZ API também tem algumas instruções sobre fontes de dados personalizadas:https://www.fmz.com/api#自定义数据源

    A FMZ também tem alguns programas disponíveis:img

    Os interessados podem pesquisar referências.

Aprender, testar, pensar

A programação, a quantificação e a transação são indissociáveis.AprenderTestesPensarNão, não é. Pensar em problemas não é pensar em nada, é ineficaz.Buscar informaçõesE depois...Tente.Pensamento e análiseSe o problema não for resolvido, faça o seguinte:

Mas, geralmente, quando o Zhao Xiao se depara com um problema, ele sente:

O que é mais difícil é programar, quantificar e escrever estratégias. O que é que ele fez? Não entrou para desistir! O que é isso?

A entrada na plataforma FMZ é simples, basta saber como pesquisar. Há muitas informações disponíveis na plataforma, comunidade e biblioteca.

img

Em seguida, a habilidade manual, o uso de sistemas de retrospecção, ferramentas de depuração pode ser muito conveniente para testar, não se trata de testar uma política completa. Na verdade, se você é completamente base zero, você pode até aprender o básico do programa JavaScript no sistema de retrospecção quantificada FMZ.

Este é um site de tutoriais que eu costumo aprender JS:https://www.runoob.com/js/js-loop-for.htmlNão se limite ao JS, todo tipo de conhecimento de TI pode ser consultado e aprendido aqui. Por exemplo, eu não sei como usar uma expressão normal no JS. É claro que você deve consultar os dados antes de experimentá-los.

Eu vi um exemplo:imgEu gostaria de testá-lo e até mesmo aprender com o sistema de retrospecção da plataforma FMZ.

Configurar uma troca no sistema de retrospecçãoimg

Teste o seguinte código:

function IsEmail(str) {
    var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
    return reg.test(str);
}

function main() {
    var strEmailAddress1 = "13512345678"
    Log(strEmailAddress1, " 是邮件地址么 ? ", " 回答:", IsEmail(strEmailAddress1))
    
    var strEmailAddress2 = "123456789@qq.com"
    Log(strEmailAddress2, " 是邮件地址么 ? ", " 回答:", IsEmail(strEmailAddress2))
}

img

Veja - que ferramenta de aprendizagem! Por exemplo, se eu quiser aprender a escrever a lógica de ciclo da linguagem JavaScript, tente:

O ciclo imprime todos os elementos de uma variável de um conjunto de matrizes em ordem:

function main() {
    var arr = [{coinName: "BTC", price: 10000}, {coinName: "LTC", price: 100}, {coinName: "ETH", price: 2000}, {coinName: "ETC", price: 500}]
    for (var i = 0 ; i < arr.length ; i++) {
        Log(arr[i])
    }
}

img

O que é o instante em que se sente motivado a aprender? Na verdade, no FMZ, é possível ler tutoriais de JavaScript e aprender manualmente os fundamentos do JavaScript no sistema de retrospecção. A gramática do JavaScript é praticamente dominada, e para a próxima fase é necessário usar a interface do exchange para obter dados.Ferramentas de depuraçãoA partir daí, a empresa começou a testar as interfaces.

Depois é mais pensar, fazer um contra três, testar, verificar, comparar, etc. Assim, a aprendizagem é muito rápida.


Relacionados

Mais.

LizhuliliAclamações