Modulo de visualização para construir estratégias de negociação - Inicial

Autora:Sonhos pequenos, Criado: 2019-07-08 09:23:59, Atualizado: 2023-10-24 21:40:14

img

Modulo de visualização para construir estratégias de negociação

A programação de visualização sempre foi um objetivo ambicioso para os desenvolvedores de ferramentas de software, mesmo no campo da quantificação de transações. A visualização do que parece ser o que acontece é uma maneira de reduzir drasticamente o limite técnico para o desenvolvimento de programação. Os usuários não precisam mais lidar com uma pilha de código chato, mas apenas usar suas mentes, usar sua imaginação e pensamento lógico e se concentrar no próprio negócio. É maravilhoso que você possa realizar um programa que você quer!

Então, vamos entrar no campo da programação visual para quantificar estratégias de negociação!

  • Programação de visualização quantificada pelos inventores originais

    Entrarhttps://www.fmz.comEm seguida, clique em: Centro de Controle - > Biblioteca de Políticas - > Criar novas políticas.

    img

    A partir daí, podemos ver uma estratégia inicial de visualização. A função é apenas a de exportar informações de ativos da conta de uma bolsa configurada por defeito (revisão ou, no bot, o primeiro objeto de troca adicionado). (Figura abaixo)

    img

    Antes de começar a aprender a usar a visualização, podemos entender alguns conceitos de design da visualização.

    • Um, dois, três.

      Observação atenta mostra que os módulos são de conchas e conchas, o que significa que os módulos podem ser "conectados" e "conectados". Se o código funcional representado pelos dois módulos puder ser conectado, então você vai se juntar quando você aproxima os dois módulos.

      img

    • 2, configuração e ajuste do módulo

      Alguns módulos possuem locais especiais onde podem ser configurados, como:

      img

      Você pode arrastar o módulo "Objetos" do lado esquerdo para o módulo "Juntar" para adicionar um ponto de junção, adicionando assim um ponto de junção. Assim, você pode passar, clicar na pequena engrenagem e fazer alguns ajustes e configurações no módulo.

    • 3, parâmetros de entrada padrão do módulo

      Alguns módulos exigem a entrada de alguns parâmetros, que podem ser valores numéricos ou strings. Se não for adicionado uma variável como um parâmetro de entrada do módulo, o módulo é executado de acordo com o parâmetro de entrada padrão.

      imgUm módulo de cálculo semelhante a um módulo de cálculo de raízes quadradas como este, produz os resultados desse módulo.imgComo se pode ver, se o parâmetro de entrada estiver desativado, a raiz quadrada de 9 é calculada como parâmetro de entrada pelo valor padrão de 9.img

      Claro, se você quiser usar um módulo de variável como um parâmetro de entrada, você pode colocar o módulo de variável diretamente na posição ().img

    • 4, operação

      O módulo pode ser colocado e arrastado com o botão esquerdo do mouse. O módulo pode ser copiado com as teclas Ctrl + C e colado com as teclas Ctrl + V, o que é tão fácil quanto copiar e colar código ou texto. A área de operação pode ser reduzida ao tamanho com o rodapé do mouse, e todos os módulos podem ser aumentados ou diminuídos. O espaço em branco na área de operação é arrastado, permitindo mover a área de operação. O lixo à direita registra os módulos que foram removidos mais recentemente. O mais importante é que a política do módulo esteja bem articulada, e não se esqueça do ponto "guardar".

  • Ferramentas de visualização Introdução ao módulo

    Como você pode ver no lado esquerdo da área de edição de visualização, há muitas categorias de módulos, e há muitas categorias de módulos de visualização disponíveis para cada item.

    imgA partir daí, o blogue foi dividido em 11 categorias.

    • Modulo de ferramentas:

      img


      • 1, Exportação de informações:

        O módulo é geralmente usado em combinação com módulos de classes de texto, como mostrado abaixo:imgPode-se inserir uma string no módulo de classe de texto, para que o conteúdo da string no módulo de texto seja impresso quando o módulo "Exportar informações" for executado.imgRevisão:img

        Por exemplo, o código da linguagem JavaScript:

        function main(){
            Log("你好,可视化编程!")
        }
        

      • 2o, WeChat:

        O módulo tem a mesma aparência de "Exportar Informações", mas é diferente de "Exportar Informações" e "Push" as informações para o WeChat ligado à conta atual.img img

        Por exemplo, o código da linguagem JavaScript:

        function main () {
            Log("微信推送!@")
        }
        

      • 3 - Lançar uma anomalia

        Lançar um módulo de anomalias faz com que o programa faça um erro e então o programa pare de executar (sem escrever o código de tratamento de anomalias).img

        A função é executada diretamente na função main em uma política de JavaScript semelhante à função de arremessar.

        function main () {
            throw "第一句就抛出异常,让程序停止!"
        }
        

        Os resultados do teste:imgGeralmente, é mais usado no momento do depurador, por exemplo, para que o programa pare em uma determinada condição, e para que alguns dados sejam mais fáceis de observar quando são impressos. Ou colocar módulos anormais no processo de código que pode ter problemas, deixando o programa relatar erros e encontrar erros.


      • 4 - Dormir

        O módulo de hibernaçãoimgComo na política do JavaScript:

        function main () {
            Sleep(1000 * 5)
        }
        

        Testar o módulo de hibernação:imgOs resultados do teste:img


      • 5o, os lucros da impressão

        img

        O módulo, assim como a função LogProfit da API do inventor de plataforma de negociação quantitativa, imprime logs de receita e automaticamente traça curvas de receita com base nos parâmetros inseridos.

        Por exemplo:imgO teste foi executado da seguinte forma:imgO código da política JavaScript correspondente é o seguinte:

        function main () {
            LogProfit(1)
            Sleep(1000 * 5)
            LogProfit(2)
            Sleep(1000 * 5)
            LogProfit(3)
            Sleep(1000 * 5)
            LogProfit(2)
            Sleep(1000 * 5)
            LogProfit(5)
        }
        

        O texto pode ser escrito em qualquer local onde você deseja exportar informações de ganhos.


      • 6o ciclo

        imgUm módulo de ciclo pode ser envolvido em uma série de combinações de módulos empilhados, permitindo que essa combinação de módulos execute o ciclo.

        Testes:imgOs resultados do teste:imgPode-se ver que a combinação de módulos que envolve o módulo circular é executada continuamente após a combinação de módulos que compõem o ganho de impressão e o sono.


      • 7, executando o ciclo a cada N segundos

        imgO módulo e o módulo circular são basicamente idênticos, a única diferença é que o módulo é automático.img


      • 8 ̊ Processamento de precisão

        imgO módulo de variáveis ou valores pode ser usado quando o controle de precisão é necessário. O valor da parte dos parâmetros pode ser inserido e, de acordo com a configuração, o valor será exibido como uma fração específica.

        Por exemplo, o valor 3.1415926535897 é processado com precisão.img

        O teste mostra:img


      • 9o, diário em branco

        img

        Para registros vazios, pode-se manter uma parte dos registros, dependendo dos parâmetros de entrada. Como diz o documento da API:

        LogReset()
        

      • 10o, registro de lucros em branco

        img

        Para limpar o registro de ganhos, pode-se manter uma parte do registro, dependendo dos parâmetros de entrada. Como diz o documento da API:

        LogProfitReset()
        

      A seguir estão alguns módulos de ferramentas usados com frequência.

      • 11, módulo funcional para obter uma propriedade do mercado

        img

        Este módulo de ferramenta deve ser usado em conjunto com o módulo de mercado no "tipo de módulo de negociação", como mostra:img

        Exportação de preços de transações mais recentes para transações de ticker mais recentes usando o módulo de informações de saída:img

        O teste mostra:img

        Por exemplo, o código da política do JavaScript:

        function main () {
            Log(exchange.GetTicker().Last)
        }
        
      • 12, Obter dados de linha K de um módulo de propriedade Bar

        img

        O módulo também precisa ser usado em conjunto com o módulo de dados da linha K para obter o "tipo de módulo de transação".

        Primeiro, um módulo de variáveis é criado, chamado: K-line.imgEm seguida, os dados da linha K são obtidos usando o módulo de dados da linha K e atribuídos ao módulo de variáveis: "K-Line".imgEm seguida, use o módulo de comprimento de lista no "tipo de módulo da lista" para obter o comprimento do módulo de variável da linha K, para especificar em que Bar os dados da linha K devem ser obtidos.imgO que é que ele tem a ver com isso?imgO teste é executado e o último K-line Bar é impresso.img

      • 13. Obter um módulo de dados de uma ordem no menu de pedidos

        img

        Também deve ser usado junto com o módulo de acesso a dados profundos no "tipo de módulo de transação".

        img

        O índice é definido como 0, o pedido é definido como e o que se obtém é a informação sobre o pedido vendido.

        img

        Por exemplo, o código da estratégia JavaScript:

        function main () {
            Log(exchange.GetDepth().Asks[0])
        }
        
      • 14. Modulo para obter uma propriedade na informação do ativo

        imgO módulo deve ser usado em conjunto com o módulo de acesso a informações de ativos.img

        Exemplo: número de moedas disponíveis para a conta correnteimg

        O teste mostra:img

        Por exemplo, a política do JavaScript:

        function main () {
            Log(exchange.GetAccount().Stocks)
        }
        
      • 15 - Obter um módulo de uma propriedade nos dados de pedidos

        img

        O módulo é usado para obter o valor de uma propriedade nos dados de pedidos, como o preço ou a quantidade de vendas em uma folha de pedidos (exemplo do número de ordem 13).img

        Os resultados do teste:imgPor exemplo, a política do JavaScript:

        function main () {
            Log(exchange.GetDepth().Asks[0].Price)
        }
        

        Também pode ser usado para obter uma propriedade na informação de pedido que o "Módulo de Informação de Detalhes de Pedido de Consultas" retorna (explicado no passo a passo).

      • 16, Modulo de propriedade de posição de uma posição na informação de posicionamento

        img

        Da mesma forma, para ser usado em conjunto com o módulo de posicionamento de futuros, note que os dados de posicionamento que o módulo de posicionamento de futuros retorna são um conjunto (lista), uma estrutura de dados que contém diferentes contratos e posições em diferentes direções. Por isso, indique o índice quando usado especificamente.

        Aprendemos tanto e depois combinamos uma operação de hedge, ou seja, hedge contra contratos de curto e longo prazo ao mesmo tempo. Nós fazemos um hedge positivo, ou seja, um contrato aberto a longo prazo, um contrato aberto e mais um contrato aberto recentemente.

        img

        Os resultados do teste:img

A estratégia de visualização de paradigmas:

Mais estratégias podem ser encontradas em:https://www.fmz.com/square

Outros artigos desta série

A programação é chata, pode ser feita facilmente com blocos, experimente, é muito divertido!


Relacionados

Mais.

15650463856Eu não posso criar com essa visualização se eu quiser usar isso.

NegroPor favor, veja como é usado o módulo indicador na visualização.

Sonhos pequenos https://www.fmz.com/digest-topic/6182

15650463856Além de profundidade, inicialização e progressão, há outros artigos na série, por que eu não encontrei o uso de módulos personalizados e módulos de indicadores?

Sonhos pequenosOs artigos desta série falam sobre como implementar módulos personalizados.

NegroMuito bem, obrigada.

Sonhos pequenosA série pode ser lida e comentada novamente.