Estratégias de negociação baseadas em oscilações de números primos


Data de criação: 2023-11-02 14:42:22 última modificação: 2023-11-02 14:42:22
cópia: 0 Cliques: 529
1
focar em
1237
Seguidores

Estratégias de negociação baseadas em oscilações de números primos

Visão geral

A estratégia baseia-se em um indicador de choque de números positivos para determinar a tendência do mercado e, com base nisso, construir posições longas e curtas. O indicador de choque de números positivos calcula a diferença entre os números positivos mais recentes e os preços próximos do preço, o valor positivo representa uma tendência de múltiplos e o valor negativo representa uma tendência de vôo. A estratégia pode capturar informações de tendência ocultas durante os choques de preços e é útil para orientar as negociações de ruptura.

Princípio da estratégia

A estratégia define primeiro uma função PrimeNumberOscillator, com os parâmetros de entrada de preço e allowedPercent. Esta função procura o número primo mais próximo de preço no intervalo de preços positivos e negativos allowedPercent, e retorna o diferencial entre ambos. O diferencial maior que 0 indica uma tendência de alta e menor que 0 indica uma tendência de baixa.

Em seguida, na estratégia, a função PrimeNumberOscillator é chamada para calcular o valor de xPNO. De acordo com o xPNO, a direção da posição é julgada positiva ou negativa, multiplicada pelo reverseFactor para determinar a direção final do negócio.

A estratégia baseia-se principalmente no indicador de oscilação de números primos para determinar a direção da tendência. O indicador em si é bastante grosseiro e precisa ser combinado com outros fatores para validar os sinais de negociação.

Análise de vantagens

  • Baseado em princípios matemáticos e relativamente objetivo
  • Identificar tendências escondidas no turbilhão
  • Ajuste de parâmetros flexível, pode ajustar a sensibilidade livremente
  • Simplicidade, compreensão e otimização

Análise de Riscos

  • O próprio indicador de oscilação de massa é grosseiro e pode ser mal interpretado várias vezes.
  • Requer verificação em combinação com outros indicadores técnicos e não pode ser usado isoladamente
  • Selecione com cuidado os parâmetros, muito grandes ou pequenos não funcionam.
  • A frequência de negociação pode ser excessiva e o tamanho da posição deve ser controlado.

Direção de otimização

  • Os sinais de filtragem podem ser combinados com a média móvel, os indicadores de sobrecompra e sobrevenda.
  • Pode-se adicionar uma estratégia de stop loss para reduzir a perda individual
  • O parâmetro allowedPercent pode ser ajustado de acordo com a dinâmica do mercado
  • Optimizar o gerenciamento de posições, controlando o tamanho das posições por meio de indicadores como oscilação

Resumir

A estratégia baseia-se no princípio da oscilação de números positivos para determinar a direção da tendência, é simples e lógica clara. Mas a oscilação de números positivos em si tem certas limitações e deve ser usada com cautela. Pode ser verificada através da combinação de outros indicadores técnicos para verificar o sinal e controlar o risco de negociação.

Código-fonte da estratégia
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 29/03/2018
// Determining market trends has become a science even though a high number or people 
// still believe it’s a gambling game. Mathematicians, technicians, brokers and investors 
// have worked together in developing quite several indicators to help them better understand 
// and forecast market movements.
//
// Developed by Modulus Financial Engineering Inc., the prime number oscillator indicates the 
// nearest prime number, be it at the top or the bottom of the series, and outlines the 
// difference between that prime number and the respective series.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
PrimeNumberOscillator(price, percent) =>
    res = 0
    res1 = 0
    res2 = 0
    for j = price to price + (price * percent / 100)
        res1 := j
	    for i = 2 to sqrt(price)
        	res1 := iff(j % i == 0 , 0, j)
            if res1 == 0 
                break
		if res1 > 0 
		    break
    for j = price to price - (price * percent / 100)
        res2 := j
	    for i = 2 to sqrt(price)
        	res2 := iff(j % i == 0 , 0, j)
            if res2 == 0 
                break
		if res2 > 0 
		    break
    res := iff(res1 - price < price - res2,  res1 - price, res2 - price)
    res := iff(res == 0, res[1], res)
    res
    
strategy(title="Prime Number Oscillator Backtest")
percent = input(5, minval=0.01, step = 0.01, title="Tolerance Percentage")
reverse = input(false, title="Trade reverse")
xPNO = PrimeNumberOscillator(close, percent)
pos = iff(xPNO > 0, 1,
       iff(xPNO < 0, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
clr = iff(xPNO > 0, green, red)
p1 = plot(xPNO, color=blue, title="KPO")
p2 = plot(0, color=black, title="0")
fill(p1,p2,color=clr)