Estrategias comerciales basadas en oscilaciones de números primos


Fecha de creación: 2023-11-02 14:42:22 Última modificación: 2023-11-02 14:42:22
Copiar: 0 Número de Visitas: 797
1
Seguir
1617
Seguidores

Estrategias comerciales basadas en oscilaciones de números primos

Descripción general

La estrategia se basa en el indicador de oscilación de los números positivos para juzgar la tendencia del mercado y construir posiciones largas y cortas. El indicador de oscilación de los números positivos calcula el diferencial entre los últimos números positivos y los precios cercanos al precio. El valor positivo representa una tendencia de varios extremos y el valor negativo representa una tendencia al aire libre.

Principio de estrategia

La estrategia comienza por definir una función de Oscilador de Número Primero, que introduce los parámetros de precio y permitido. Esta función busca el número primo más cercano al precio en el rango de precios positivos y negativos permitido, y devuelve el diferencial entre ambos. Un diferencial mayor a 0 indica una tendencia alcista y menor a 0 indica una tendencia descendente.

Luego, en la estrategia, se llama a la función PrimeNumberOscillator para calcular el valor de xPNO. De acuerdo con xPNO, se determina la dirección de la posición positiva y negativa, y se multiplica por reverseFactor para determinar la dirección de la operación final.

La estrategia se basa principalmente en el indicador de oscilación de los números primos para determinar la dirección de la tendencia. El indicador en sí mismo es bastante áspero y requiere la combinación de otros factores para validar la señal de negociación. Pero se basa en principios matemáticos que pueden proporcionar cierta orientación objetiva.

Análisis de las ventajas

  • Basado en principios matemáticos y relativamente objetivo
  • En la actualidad, la mayoría de las personas que viven en el extranjero no tienen acceso a internet.
  • Ajuste de parámetros con flexibilidad para ajustar libremente la sensibilidad
  • Hacerlo simple, fácil de entender y optimizar

Análisis de riesgos

  • El indicador de oscilación de masa es en sí mismo un poco áspero, y puede haber varios errores de juicio.
  • Se requiere la verificación en combinación con otros indicadores técnicos y no se puede utilizar por sí solo
  • Los parámetros deben ser cuidadosamente elegidos, ya sea demasiado grande o demasiado pequeño.
  • La frecuencia de las transacciones podría ser demasiado alta y el tamaño de las posiciones debería ser controlado.

Dirección de optimización

  • Se puede combinar una media móvil con indicadores de sobrecompra y sobreventa para filtrar las señales.
  • Se puede agregar una estrategia de stop loss para reducir la pérdida individual.
  • El parámetro allowedPercent se puede ajustar dinámicamente según las condiciones del mercado
  • Puede optimizar la gestión de posiciones, controlando el tamaño de las posiciones a través de indicadores como la volatilidad

Resumir

La estrategia se basa en el principio de oscilación de los números positivos para determinar la dirección de la tendencia, y es simple y lógica. Sin embargo, la oscilación de los números positivos tiene ciertas limitaciones y debe usarse con precaución. Se puede verificar la señal y controlar el riesgo de negociación mediante la combinación de otros indicadores técnicos.

Código Fuente de la Estrategia
/*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)