Estrategia de backtesting de onda Prime


Fecha de creación: 2024-01-08 11:54:52 Última modificación: 2024-01-08 11:54:52
Copiar: 0 Número de Visitas: 846
1
Seguir
1617
Seguidores

Estrategia de backtesting de onda Prime

Descripción general

La estrategia de retroalimentación de la banda de ondas positivas determina la tendencia del mercado mediante la identificación de los máximos y mínimos positivos cercanos a los precios y la cartografía de estas dos series de números positivos en una banda de ondas. La estrategia fue desarrollada por la empresa de ingeniería financiera Modular.

Principio de estrategia

  1. En función del porcentaje de diferencia de capacidad de la entrada, recorre un rango de fluctuaciones positivas y negativas de un precio especificado para encontrar los números primos más altos y más bajos.
  2. Utiliza las funciones highest y lowest para obtener el punto más alto y el punto más bajo de la banda de onda de la raíz N más reciente en la línea K.
  3. Determine si el precio de cierre ha superado los puntos más altos y más bajos de la banda de ondas de calidad y decida si hacer más o hacer menos.
  4. Se puede optar por invertir la señal de negociación.

Análisis de las ventajas

  1. Utilizando las propiedades de la distribución aleatoria e irregular de los números primos, captura la aleatoriedad en el mercado.
  2. Las bandas de ondas cuánticas tienen cierta retraso y pueden filtrar parte del ruido.
  3. Las ondas cuantitativas tienen un límite inferior de flexibilidad, que puede adaptarse a diferentes períodos y diferentes variedades de transacciones mediante el ajuste de la diferencia de porcentaje de tamaño.

Análisis de riesgos

  1. Las bandas de ondas cuantitativas no se ajustan perfectamente al movimiento de los precios, y hay un cierto grado de retraso.
  2. La inversión de los precios inevitables puede dar lugar a señales erróneas.
  3. El porcentaje de capacidad que se ha configurado para filtrar la mayoría de las señales válidas.

Se puede evitar el riesgo mediante la adaptación adecuada de los parámetros y la combinación de otros indicadores.

Dirección de optimización

  1. Se puede combinar con indicadores como promedios móviles para establecer una señal de disparo de doble condición.
  2. Se puede estudiar el uso de otros números aleatorios, como los números de Fibonacci.
  3. Puede introducir algoritmos de aprendizaje automático para optimizar los parámetros.

Resumir

La estrategia de retroalimentación de bandas de ondas de masa en general es una estrategia muy innovadora y de gran valor práctico. Utiliza las características de los números de masa para capturar la aleatoriedad del mercado, y al mismo tiempo toma en cuenta las tendencias de identificación de retraso en los precios.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/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.
// The Prime Number Bands indicator was developed by Modulus Financial Engineering 
// Inc. This indicator is charted by indentifying the highest and lowest prime number 
// in the neighborhood and plotting the two series as a band.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
PrimeNumberUpBand(price, percent) =>
    res = 0
    res1 = 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
    res := iff(res1 == 0, res[1], res1)
    res

PrimeNumberDnBand(price, percent) =>
    res = 0
    res2 = 0
    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(res2 == 0, res[1], res2)
    res

strategy(title="Prime Number Bands Backtest", overlay = true)
percent = input(5, minval=0.01, step = 0.01, title="Tolerance Percentage")
Length = input(5, minval=1)
srcUp = input(title="Source Up Band",  defval=high)
srcDn = input(title="Source Down Band",  defval=low)
reverse = input(false, title="Trade reverse")
xPNUB = PrimeNumberUpBand(srcUp, percent)
xPNDB = PrimeNumberDnBand(srcDn, percent)
xHighestPNUB = highest(xPNUB, Length)
xLowestPNUB = lowest(xPNDB, Length)
pos = iff(close > xHighestPNUB[1], 1,
       iff(close < xLowestPNUB[1], -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 ) 
plot(xHighestPNUB, color=red, title="PNUp")
plot(xLowestPNUB, color=green, title="PNDn")