Stratégie de backtesting Prime Wave


Date de création: 2024-01-08 11:54:52 Dernière modification: 2024-01-08 11:54:52
Copier: 0 Nombre de clics: 846
1
Suivre
1617
Abonnés

Stratégie de backtesting Prime Wave

Aperçu

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.

Principe de stratégie

  1. Parcourir une plage de fluctuations positives et négatives d’un prix spécifié en fonction du pourcentage de différence de capacité de l’entrée pour trouver les nombres premiers les plus élevés et les plus bas.
  2. Utilisez les fonctions highest et lowest pour obtenir le plus haut et le plus bas de la bande de fréquence de la plus proche N-racine de la ligne K.
  3. Déterminez si le cours de clôture a franchi les sommets et les creux de la bande de la qualité, et décidez de faire plus ou moins.
  4. Un signal de reprise de négociation est disponible.

Analyse des avantages

  1. Utilisez les caractéristiques de distribution aléatoire et irrégulière des nombres premiers pour capturer la hasard sur le marché.
  2. Les bandes d’ondes quantiques ont une certaine retardation et peuvent filtrer une partie du bruit.
  3. Les ondes quantiques ont une flexibilité inférieure qui peut être adaptée à différents cycles et à différentes variétés de transactions en ajustant le pourcentage de différence de couleur.

Analyse des risques

  1. Les bandes d’ondes quantiques ne correspondent pas parfaitement au mouvement des prix, il existe un certain retard.
  2. Le prix de l’essentiel est inversé, ce qui peut conduire à de faux signaux.
  3. Le pourcentage de capacité a été défini pour filtrer certains signaux valides.

Le risque peut être évité en ajustant les paramètres de manière appropriée et en les combinant avec d’autres indicateurs.

Direction d’optimisation

  1. Les signaux de déclenchement des conditions doubles peuvent être combinés avec des indicateurs tels que les moyennes mobiles.
  2. On peut étudier l’utilisation d’autres nombres aléatoires, tels que les nombres de Fibonacci.
  3. Les algorithmes d’apprentissage automatique peuvent être introduits pour optimiser automatiquement les paramètres.

Résumer

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.

Code source de la stratégie
/*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")