
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.
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.
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.
/*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)