Falemos sobre a importância de otimizar a estrutura do código.

Autora:Cousins, Criado: 2021-05-22 05:57:14, Atualizado:

A publicação de um curso aberto geralmente traz problemas. Hoje vamos falar sobre a importância de otimizar a estrutura do código.

Para o lucro, o mais importante é o número um: utilização dos fundos; velocidade de compra.

A velocidade do pedido geralmente pode ser resolvida com a proximidade do servidor do exchange e a compra de uma rede melhor. Mas, na verdade, para a maioria dos novatos, apenas otimizar a estrutura do código pode tornar a estratégia dezenas de milissegundos mais rápida, nada menos do que trocar por uma rede melhor.

No entanto, quando há apenas um par de transações, a velocidade de otimização da estrutura de código geralmente aumenta menos de 1 ms, e quase não há diferença.

O aumento da utilização de capital, que geralmente requer que o mesmo capital observe vários pares de transações ao mesmo tempo, causa um aumento no número de ciclos lógicos, quando os benefícios de uma estrutura de código otimizada são óbvios. A complexidade do roteamento de transações múltiplas na maioria das exchanges é O ((n!), e pode ser reduzida completamente a O ((n!/(m!)) ou até mesmo O ((n*m) ((m

Por exemplo, há dois caminhos simples, A-C e A-B-C, e um deles é o caminho de volta. Os dois caminhos precisam ser calculados duas vezes, uma vez que o caminho de cálculo pode trazer lucros, assumindo-se p1 e p2, uma vez que o caminho de cálculo é específico para cada bolsa e sua transação para o preço e o montante específicos que precisam ser cobrados.

A forma mais comum é escrever uma função para calcular o lucro, especificando o preço e o montante. Depois, o ciclo de chamadas obtém o lucro de cada caminho e seleciona o maior lucro para negociar.

Obviamente, precisamos apenas calcular o lucro na comparação, sem precisar calcular o preço e o montante do pedido no começo.

Assim, na otimização, pode-se dividir o lucro e o pedido em duas funções. Primeiro, a função que chama o lucro é ciclada, obtendo o lucro de cada caminho e, em seguida, seleciona o lucro maior para realizar a transação. Assim, logicamente, a função que pede o pedido é chamada de cada ciclo e se torna uma única chamada.

Então, se analisarmos o código mais adiante, descobrimos que, geralmente, uma vez que um caminho é lucrativo por causa de outros profissionais, muitas vezes é lucrativo por outros.

Assim, podemos otimizar ainda mais a estratégia, configurando um loop, o loop adiciona uma seção de instruções, e se encontrarmos um caminho com lucro, vamos fazer um break, e então calcular o número de pedidos e o preço desse caminho.

Então a complexidade é simplificada de O ((n + 1) para O ((m + 1), m < n. Quando as oportunidades são iguais, m é aproximadamente igual a n / 2, ou seja, a complexidade é reduzida para O ((n / 2 + 1).

Ou seja, através de uma simples função de divisão e análise da estrutura de otimização lógica, a complexidade de tempo pode ser reduzida de O (n/2+1) para O (n/2+1).

Na verdade, quando escrevo código, há um grande número de cenários que podem ser otimizados. Muitas vezes, depois de escrever código, muitas vezes descobro que existe a possibilidade de otimizar uma lógica de otimização de um certo O ((n!) para O ((n* ((n+1)). Às vezes, até mesmo uma lógica que pode ser executada em algumas centenas de milissegundos pode ser otimizada em 1 ms.

Como um pouco de tempo pode reduzir drasticamente o intervalo de consultas estratégicas, é recomendável que você otimize a estrutura do código.


Mais.

EsfregaçoPor favor, diga-me como é que a taxa de juros pode ser eficaz para evitar uma situação de uma só perna?

CousinsO pedido pendurado chegou atrasado às bolsas

Vou-me embora.O atraso é o atraso dos dados profundos?

CousinsRegistro de atrasos, exceder um determinado valor no momento do interesse não é realizado.