
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.
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")
}
}
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.

null Valor, usado para comparar se alguma variável é nula.true / false Valor, usado para determinar o valor booleano retornado por determinados módulos ou combinações de módulos.! , 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.
Resultados da corrida:

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.
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.
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.


Impressão de backtest:

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))
}
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))
}
Este módulo executa operações numéricas de resto nos módulos numéricos definidos para as posições de encaixe (ranhura).

64 dividido por 10 é 6 com resto 4.

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:
Mais estratégias estão disponíveis em: https://www.fmz.cn/square
Outros artigos desta série