Iniciação rápida de programação visual
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.
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:
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
//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
//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,
Você pode achar que esses dados em
//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
Com esses conceitos acima, vamos escrever um programa de saída
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.
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.
Como mostrado acima, o mesmo programa, a programação visual requer apenas uma linha de
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
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.
Escreve um olá, programa mundial
Corra, imprima "olá, mundo"
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á-lo como uma ferramenta, que para ajudá-lo a classificar a lógica de sua estratégia.
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.
Na interface de programação visual da plataforma quântica FMZ, use a API e entenda o que elas significam.
Obter o preço de abertura mais recente pela linguagem de programação visual e a saída para o log.