avatar of 发明者量化-小小梦 发明者量化-小小梦
focar em Mensagem privada
4
focar em
1271
Seguidores

Módulo de visualização para construir estratégias de negociação - em profundidade

Criado em: 2022-06-18 08:05:53, atualizado em: 2023-09-18 19:58:13
comments   0
hits   2248

Módulo de visualização para construir estratégias de negociação - em profundidade

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.

    Módulo de visualização para construir estratégias de negociação - em profundidade

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

    Módulo de visualização para construir estratégias de negociação - em profundidade

    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:

    Módulo de visualização para construir estratégias de negociação - em profundidade 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.

    Módulo de visualização para construir estratégias de negociação - em profundidade

    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ódulo de visualização para construir estratégias de negociação - em profundidade

    • Módulos vazios representamnull Valor, usado para comparar se alguma variável é nula.
    • Os módulos Booleanos True/False representamtrue / false Valor, 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:

    Módulo de visualização para construir estratégias de negociação - em profundidade

    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:

    Módulo de visualização para construir estratégias de negociação - em profundidade

    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: Módulo de visualização para construir estratégias de negociação - em profundidade

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

    Módulo de visualização para construir estratégias de negociação - em profundidade

    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:

    Módulo de visualização para construir estratégias de negociação - em profundidade

    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.

    Módulo de visualização para construir estratégias de negociação - em profundidade

  • 2. Módulo numérico Pi

    Módulo de visualização para construir estratégias de negociação - em profundidade

    Impressão de backtest: Módulo de visualização para construir estratégias de negociação - em profundidade

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

    Módulo de visualização para construir estratégias de negociação - em profundidade

    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.

    Módulo de visualização para construir estratégias de negociação - em profundidade

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

    Módulo de visualização para construir estratégias de negociação - em profundidade

    64 dividido por 10 é 6 com resto 4. Módulo de visualização para construir estratégias de negociação - em profundidade

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

    Módulo de visualização para construir estratégias de negociação - em profundidade

    Módulo de visualização para construir estratégias de negociação - em profundidade

    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

Programação chata pode ser facilmente concluída usando blocos de construção. Experimente, é muito interessante!