3.4 Iniciação rápida da programação visual

Autora:Bem-estar, Criado: 2019-04-23 15:00:14, Atualizado: 2019-04-27 11:54:05

Resumo

Muitos traders subjetivos estão interessados em negociação quantitativa, no início, eles começam com total confiança. Após aprender a gramática básica, operações de dados, estrutura de dados, controle lógico de linguagens de programação tradicionais e o código longo e complicado, eles começam a se confundir.

Estratégia completa

Para ajudá-lo a entender rapidamente os pontos-chave desta seção, antes de introduzir a programação visual FMZ Quant, vamos descobrir qual é a lógica da estratégia? e ter uma compreensão preliminar do conceito de substantivo nesta seção.

  • abertura de posição longa: se não houver atualmente nenhuma posição e o preço de fechamento for superior à média móvel de 50 períodos.

  • Posição curta de abertura: se não houver atualmente nenhuma posição e o preço de fechamento for inferior à média móvel de 50 períodos.

  • Posições longas de encerramento: se a posição longa for actualmente detida e o preço de encerramento for inferior à média móvel de 50 períodos.

  • Posição curta de encerramento: se a posição curta for actualmente detida e o preço de encerramento for superior à média móvel de 50 períodos.

Se você escrever a lógica estratégica acima na programação visual, como mostrado abaixo:

3.4 Visual programming quick start

Conforme mostrado acima, todo o processo de concepção consiste em: definir as variedades de mercado, adquirir uma matriz de linhas K, adquirir o preço médio de 50 períodos da linha K permeável, obter o preço de fechamento da linha K permeável, obter uma matriz de posições de detenção, determinar o status da posição de detenção, julgar se o preço de fechamento é maior ou menor que a média móvel e, finalmente, realizar a posição de abertura ou fechamento.

Aqui você precisa prestar atenção ao conceito de array, que é uma das estruturas de dados importantes para todas as linguagens de programação. Uma matriz é como um contêiner, que contém uma série de valores.

//This is a K-line array. There are 3 data in it: the data of the one before pervious K line, the data of the pervious K line, the data of the current K line, and assigned these values to the "arr" variable.

arr = [{"Time":1540137600000,"Open":4013,"High":4116,"Low":4013,"Close":4085,"Volume":4124040}, 
{"Time":1540224000000,"Open":4087,"High":4106,"Low":4068,"Close":4076,"Volume":3252216},
{Time":1540310400000,"Open":4064,"High":4123,"Low":4050,"Close":4120,"Volume":3642856}]

O código acima é uma matriz de linha K de um total de três dados, Há 3 dados nele: os dados da linha K anterior, os dados da linha K anterior, os dados da linha K atual, e atribuiu esses valores à variável arr.

//This is a K-line array. There are 3 data in it: the data of the one before pervious K line, the data of the pervious K line, the data of the current K line, and assigned these values to the "arr" variable.

arr = [{"Time":1540137600000,"Open":4013,"High":4116,"Low":4013,"Close":4085,"Volume":4124040}, 
{"Time":1540224000000,"Open":4087,"High":4106,"Low":4068,"Close":4076,"Volume":3252216},
{Time":1540310400000,"Open":4064,"High":4123,"Low":4050,"Close":4120,"Volume":3642856}]

k0_1 = arr[2]; // get the data of current k line, this is the first method
k0_2 = arr[arr.length - 1]; // get the data of current k line, this is the second method
k1 = arr[arr.length - 2]; // get the data of pervious k line

Nós devemos usar o segundo (quinta linha) método, porque existem centenas de dados de linha K na realidade, e a nova linha K está aumentando continuamente. então você deve obter o comprimento da matriz primeiro, arr.length significa obter o comprimento da matriz, e então subtrair 1, que é o mais recente dados da linha K. Se você quiser obter os dados da linha K anterior, subtrair 2.

Você pode achar que esses dados em {} com nome em inglês correspondem respectivamente ao significado: o tempo, o preço de abertura, o preço mais alto, o preço mais baixo, o preço de fechamento, o volume de negociação.

//This is a K-line array. There are 3 data in it: the data of the one before pervious K line, the data of the pervious K line, the data of the current K line, and assigned these values to the "arr" variable.

arr = [{"Time":1540137600000,"Open":4013,"High":4116,"Low":4013,"Close":4085,"Volume":4124040}, 
{"Time":1540224000000,"Open":4087,"High":4106,"Low":4068,"Close":4076,"Volume":3252216},
{Time":1540310400000,"Open":4064,"High":4123,"Low":4050,"Close":4120,"Volume":3642856}]

k0_1 = arr[2]; // get the data of current k line, this is the first method
k0_2 = arr[arr.length - 1]; // get the data of current k line, this is the second method
k1 = arr[arr.length - 2]; // get the data of pervious k line

k1.Close; // get the pervious k line closing price
k2.Time; // get the pervious k line time
k1.Volume; // get the pervious k line trading volume

Porquê usar uma linguagem de programação visual?

Com esses conceitos acima, vamos escrever um programa de saída hello, world com a linguagem de programação Java, para sentir a programação tradicional, como mostrado abaixo:

public class HelloWorld {
    public static void main(string[] ages) {
        system.out.println("hello world!");
    }
}

Saiba apenas um programa de string, precisa de cinco linhas de código. Acredito que a maioria dos iniciantes só conhece a palavra em inglês hello, world! entre parênteses, e outros estão apenas confusos como o inferno. Portanto, é melhor usar programação visual como ponto de partida.

O que é programação visual?

Este tipo de "o que você vê é o que você obtém" ideia de programação, equipado com uma variedade de módulos de controle, apenas por arrastar e soltar, você pode construir lógica de código, completar o projeto de estratégia de negociação, o processo é como blocos de construção.

3.4 Visual programming quick start

Como mostrado acima, o mesmo programa, a programação visual requer apenas uma linha de code.

Quais são as características das linguagens de programação visual?

Blockly ((o nome desta ferramenta de programação visual) não é um brinquedo de programação, é como um tipo de editor, não o tipo de editor disfarçado do sistema operacional, suporta muitos elementos básicos de programação, como: variáveis, funções, matrizes e blocos personalizados fáceis de estender, você pode usá-lo para completar tarefas de programação complexas.

A ferramenta de programação visual FMZ Quant Blockly foi publicada pelo Google. semelhante ao design de Scratch, que foi lançado pela Universidade de Massachusetts, o verdadeiro limiar zero para programação (veja abaixo).

3.4 Visual programming quick start

Na interface de programação visual FMZ Quant, existem centenas de módulos de negociação comuns incorporados, e mais módulos de negociação serão adicionados mais tarde para apoiar as novas ideias e novas aplicações do comerciante, que serão desenvolvidos e mantidos em conjunto pelos desenvolvedores.

Embora a sintaxe seja simples e não perca desempenho. Ele pode satisfazer quase todos os simples desenvolvimento de estratégia quantitativa de negociação. Não importa na função ou velocidade, é tão bom quanto linguagens de programação regulares como Python e JavaScript. no futuro, ele suportará aplicações financeiras logicamente complexas.

Como usar

3.4 Visual programming quick start 3.4 Visual programming quick start

Escreve um olá, programa mundial

3.4 Visual programming quick start 3.4 Visual programming quick start

Corra, imprima Olá, mundo

3.4 Visual programming quick start

Resumindo

Desde o início de uma estratégia completa de programação visual, até a introdução e características da linguagem de programação visual, mostramos como usar essa ferramenta na plataforma FMZ Quant, e escrevemos um exemplo de hello world . No entanto, precisamos lembrar a todos que, como um passo para a negociação quantitativa, atualmente tem apenas uma interface API limitada na plataforma FMZ Quant. Para a negociação quantitativa, é melhor tratá-la como uma ferramenta, que para ajudá-lo a resolver a lógica de sua estratégia.

Anúncio da secção seguinte

A programação visual não é diferente dos fundamentos das linguagens de programação de alto nível, e até mesmo alguns lugares são universais. Aprender programação visual é um passo para a aprendizagem de programação avançada.

Exercícios após a escola

  1. Na interface de programação visual da plataforma quântica FMZ, use a API e entenda o que elas significam.

  2. Obter o preço de abertura mais recente pela linguagem de programação visual e a saída para o log.


Mais informações