
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.
Se puede evitar el riesgo mediante la adaptación adecuada de los parámetros y la combinación de otros indicadores.
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.
/*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")