Módulo de visualização para construir estratégias de negociação - em profundidade
-
Tipo de módulo lógico
-
1. Módulo condicional
Este módulo é usado para julgamento condicional combinado e pode adicionar vários ramos condicionais.
Clique no pequeno ícone de "engrenagem" para adicionar ramificações condicionais.O exemplo de uso do módulo condicional é combinado com o próximo módulo para teste.
-
2. Módulo de comparação numérica
Este módulo é usado para comparar dois valores (também pode ser considerado que este módulo e o módulo de valor são combinados em um módulo de expressão) e retornar um valor booleano.
Este módulo pode julgar se os valores em ambos os lados são "maiores que", "menores que", "maiores ou iguais a", "menores ou iguais a", "diferentes de" ou "iguais a" .
As posições de encaixe (dente) em ambos os lados das opções da caixa suspensa podem ser incorporadas com módulos numéricos e variáveis (desde que o módulo retorne um valor numérico).Um exemplo de uso do "Módulo Condicional" e do "Módulo de Comparação de Valor" para combinar em um exemplo de julgamento de valor:

Como você pode ver, este exemplo tem um total de 3 ramificações ao julgar as condições.Assim como o uso de instruções if em estratégias JavaScript.
function main () { var a = 1 var b = 2 if (a > b) { Log("a > b") } else if (a < b) { Log("a < b") } else { Log("a == b") } } -
3. Módulo Lógico OU, Lógico E
Este módulo é usado para executar a "operação OR" ou "operação AND". Os módulos envolvidos na operação (que podem ser módulos que retornam valores booleanos ou módulos que retornam valores numéricos) são embutidos nas posições de espiga (tenon) em ambos os lados das opções da caixa suspensa no meio do módulo.
Antes de testarmos este módulo especificamente, vamos primeiro aprender sobre o módulo que representa o valor booleano "true"/"false" (definido usando a caixa suspensa), o módulo que representa o valor booleano "not" e o módulo que representa o valor vazio.
- Módulos vazios representam
nullValor, usado para comparar se alguma variável é nula. - Os módulos Booleanos True/False representam
true/falseValor, usado para determinar o valor booleano retornado por determinados módulos ou combinações de módulos. - O módulo booleano "não" representa o
!, usado para executar uma operação booleana NOT.
Exemplo de teste:
Você pode ver que os módulos "OR lógico, E lógico" também podem ser aninhados.
Exemplo de emenda de módulo aninhado:
Código de política JavaScript equivalente:
function main () { var a = 1 var b = 2 Log((true && !false) || (a==b)) Log(null) }!false não é false, ou seja, é um valor true. Expressão lógica: (true && !false): dois valores true são operados e o resultado é true.
a==b obviamente não é igual, então é falso.
Um valor verdadeiro e um valor falso são logicamente combinados para produzir um valor verdadeiro. - Módulos vazios representam
-
4. Módulo de operação ternário
Este módulo também é chamado de módulo de asserção e sua função é semelhante ao operador ternário em algumas linguagens de programação.
Este módulo também pode ser aninhado. A essência do módulo de operação ternária também é lógica de julgamento condicional, e sua função é similar à do módulo condicional.
Refatore o tutorial do Módulo Condicional acima usando o Módulo de Operação Ternária.
O seguinte é um exemplo:Aqui está o código da política escrito em JavaScript:
function main () { var a = 1 var b = 2 Log(a < b ? b : (a > b ? a : "相等")) }Se estiver interessado, você pode ajustar os valores de a e b e executar um backtest.
-
-
Tipo de módulo de matemática
Em muitos dos exemplos explicados anteriormente, usamos alguns módulos matemáticos em maior ou menor grau.
A seguir explicaremos alguns módulos de matemática que ainda não aprendemos.-
1. Módulo de função trigonométrica
Observe que os parâmetros preenchidos para a posição do encaixe (espiga) deste módulo são valores de ângulo, não valores de radianos.
-
2. Módulo numérico Pi
-
3. Módulo de número aleatório dentro de um determinado intervalo de valores
Este módulo pega um número aleatório dentro de um intervalo numérico definido. A posição do módulo tenon (côncavo) pode preencher diretamente o valor numérico, ou usar uma variável como o valor inicial e final do intervalo aleatório.
Como o código de estratégia JavaScript:
function main () { var a = 1 var b = 9 Log(_N(a + Math.random() * (b - a), 0)) } -
4. Módulo de intervalo de valor limite
Este módulo limitará as variáveis preenchidas na primeira posição do espigão (tenon) ao intervalo definido para as posições do segundo e terceiro espigão (tenon).
Se o valor for maior que o valor máximo do intervalo, o módulo retorna o valor máximo do intervalo. Se o valor for menor que o valor mínimo do intervalo, o módulo retorna o valor mínimo.
Se estiver dentro desse intervalo, o valor da própria variável que assume o valor da primeira posição do encaixe (côncavo) é retornado.Como o código de estratégia JavaScript:
function main () { var a = 9 Log(Math.min(Math.max(2, a), 5)) } -
5. Módulo restante
Este módulo executa operações numéricas de resto nos módulos numéricos definidos para as posições de encaixe (ranhura).
-
6. Módulo de operação de lista
Este módulo opera em um módulo de lista (calculando a soma dos elementos em uma lista, etc.).
Como o código de estratégia JavaScript:
function sum (arr) { var ret = 0 for (var i in arr) { ret += arr[i] } return ret } function main () { var b = 2 var a = 1 Log(sum([b,a,b,a,a])) }
-
Exemplo de estratégia de visualização:
- https://www.fmz.cn/strategy/121404
- https://www.fmz.cn/strategy/129895
- https://www.fmz.cn/strategy/123904
- https://www.fmz.cn/strategy/122318
Mais estratégias estão disponíveis em: https://www.fmz.cn/square
Outros artigos desta série
- Módulo de visualização para construir estratégias de negociação - avançado
- Módulo de visualização para construir estratégia de negociação - primeira vista
Programação chata pode ser facilmente concluída usando blocos de construção. Experimente, é muito interessante!
- 1



















