Solicitação de ajuda: como evitar que as compras e vendas continuem na mesma K-line

Autora:Xionglonghui, Criado: 2021-09-20 09:10:57, Atualizado:

Como a linguagem Ma é limitada, a estratégia precisa ser reimplementada com o JS.

Desde que a estratégia de Mac foi reintroduzida no JS, muitos problemas foram encontrados, em operações reais, encontrando-se que a mesma linha K, devido à volatilidade, vai voltar a comprar 1-2 vezes. O resultado é um prejuízo.

Pergunte-me, como é que a língua Ma foi projetada para evitar isso, qual é a lógica geral?

Ou: Como posso usar o JS para impedir que o mesmo K não seja comprado e vendido duas vezes? Se você quiser resolver o problema com o cronograma, e descobrir que não há cronograma em um pedido feito, use o Date.parse ((new Date))) do JS para fazer o cronograma.


Mais.

XionglonghuiO problema é que, com o código abaixo, é possível evitar que a mesma linha K não cause prejuízos por causa de um pouco de flutuação na mesma linha K. Mas há um novo problema, que é que, depois de uma linha K ser muito plana, se você quiser fazer uma mão de reversão imediata, ela é limitada, e você deve esperar até que a próxima linha K abra. Ou, depois de uma linha K ser muito plana, você também é limitada, e você precisa esperar até que a próxima linha K comece a abrir, muitas vezes perdendo o ponto de compra ideal. O código é o seguinte: if (before_record_time!= now_records.Time) // o tempo da linha K anterior não é igual ao tempo errado desta linha K, então para uma linha K diferente - Não. // A lógica de negócios de um equilíbrio escrito aqui é que você não pode abrir o mesmo equilíbrio repetidamente na mesma linha K. Não. A minha solução é esta: o que antes era um cronograma da linha K que armazenou uma variável, agora é um cronograma de duas variáveis. Um cronômetro multi-direcional duo_before_record_time Um tempo em direção ao vazio kong_before_record_time Quando você está fazendo mais, use esta restrição, a mesma linha K, posições que não vão na mesma direção depois do plano. O código é o seguinte: if (duo_before_record_time!= now_records.Time) // o tempo da linha K anterior não é igual ao erro de tempo desta linha K, então para uma linha K diferente - Não. // A lógica de negócios de um equilíbrio escrito aqui é que você não pode abrir o mesmo equilíbrio repetidamente na mesma linha K. Não. Quando fazemos o espaço, também limitamos que as posições de inversa não sejam iguais depois de estarem alinhadas na mesma linha K if (kong_before_record_time!= now_records.Time) // O tempo da linha K anterior não é igual ao tempo errado desta linha K, então é diferente para a linha K anterior - Não. // A lógica de negócios de um equilíbrio escrito aqui é que você não pode abrir o mesmo equilíbrio repetidamente na mesma linha K. Não. Assim, a mesma linha K, após o equilíbrio, pode abrir imediatamente uma posição na direção oposta, caso as condições de abertura sejam cumpridas. Mas não abrirá uma posição na mesma direção. A minha pergunta, espero que seja útil para os meus amigos que virão mais tarde.

Ervas daninhasA folha de trabalho respondeu-lhe.

A calma e a bondadeO eixo transversal da linha K é o tempo e deve ser resolvido com o tempo.

XionglonghuiO código é o seguinte: if (before_record_time!= now_records.Time) // o tempo da linha K anterior não é igual ao tempo errado desta linha K, então para uma linha K diferente - Não. Se você escrever aqui a lógica de negócios para estabilizar, você não pode abrir estabilizadores repetidamente na mesma linha. Não.

XionglonghuiDescobriu-se que há uma solução melhor, primeiro declarar uma variável, para guardar o tempo de tempo da linha K atual no momento da subida de cada ordem (seja como for, basta que a lista seja coberta), e então determinar que o tempo de tempo da última posição não é igual ao tempo de tempo da linha K atual, que pode ser perfeitamente resolvido. O método anterior tem bugs, como a primeira linha K está aberta, a segunda linha K desabou, mas não está, e deve esperar até que a terceira linha K esteja.

XionglonghuiA propósito, com exchange.GetOrders (().length>0 é possível determinar que não há pedidos pendentes e guardar o tempo do pedido.

XionglonghuiDepois de um tempo de pesquisa, a solução foi finalmente encontrada, com o seguinte código: If (Math.abs ((before_order_time - now_records.Time)/1000 > now_period)) // O tempo de substituição da última vez subtrai o tempo de substituição da linha K atual, subtraindo por 1000 para obter o número de segundos e subtraindo o valor absoluto inferior a ambos, se for maior do que o número de segundos do ciclo, não está na mesma linha K. // é necessário definir a variável before_order_time, apenas guardando a barra de tempo da ordem. before_order_time = Date.parse ((new Date)))); // regista a barra de tempo atual // Número de segundos do número de períodos, que é representado por var now_period = _C ((exchange.GetPeriod); // obtém o ciclo atual, por exemplo, 5 minutos, 15 minutos, 1 dia, e retorna o número de segundos.

O verão não te bate.Deveria ser possível interceptar por meio de uma barra de tempo dentro dos dados da linha K.