Esta estrategia utiliza el indicador del oscilador de números primos para determinar las tendencias del mercado y construir posiciones largas / cortas en consecuencia. El PNO calcula la diferencia entre el número primo más cercano al precio y el precio en sí, con valores positivos que indican tendencias alcistas y valores negativos que indican tendencias bajistas.
La estrategia primero define una función PrimeNumberOscillator que toma el precio y permitidoPercent como parámetros. La función busca el número primo más cercano al precio dentro del rango permitidoPercent y devuelve su diferencia. Una diferencia positiva indica alcista y una diferencia negativa indica bajista.
En la estrategia, la función PrimeNumberOscillator se llama para calcular el valor de xPNO. La dirección de la posición se determina por el signo de xPNO y se multiplica por el factor inverso para obtener la dirección final del comercio. Las posiciones largas / cortas se abren en función de la dirección.
La estrategia se basa principalmente en el indicador PNO para la dirección de la tendencia. El indicador en sí es bastante crudo y debe combinarse con otros factores para la verificación de la señal. Pero se basa en principios matemáticos y puede proporcionar alguna orientación objetiva.
La estrategia determina la dirección de la tendencia basada en los principios de oscilación de números primos, con lógica e implementación simples. Pero PNO tiene limitaciones que requieren un uso cauteloso. Se necesita combinar otros indicadores técnicos para verificar señales y controlar el riesgo. Como un representante típico de las estrategias de negociación matemáticas, tiene valor de referencia para el estudio y la investigación.
/*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)