
La stratégie de rétroaction en bandes de valeurs positives permet de juger de la tendance du marché en identifiant les valeurs positives les plus élevées et les plus basses à proximité des prix et en traçant ces deux séries de valeurs positives en une seule bande. Cette stratégie a été développée par la société d’ingénierie financière Modular.
Le risque peut être évité en ajustant les paramètres de manière appropriée et en les combinant avec d’autres indicateurs.
La stratégie de retour de la bande d’onde en quantité est une stratégie très innovante et utile. Elle utilise les caractéristiques de la quantité en quantité pour capturer la aléatoire du marché, tout en prenant en compte les tendances de détection de retard de prix. La prochaine étape peut être optimisée en améliorant la qualité du signal, en élargissant les types de nombres aléatoires et en optimisant automatiquement.
/*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")