Cette stratégie utilise l'indicateur de l'oscillateur de nombre premier pour déterminer les tendances du marché et construire des positions longues/courtes en conséquence.
La stratégie définit d'abord une fonction PrimeNumberOscillator qui prend le prix et Percent permis comme paramètres. La fonction recherche le nombre premier le plus proche du prix dans la plage Percent permis et renvoie leur différence. Une différence positive indique une tendance haussière et une différence négative indique une tendance baissière.
Dans la stratégie, la fonction PrimeNumberOscillator est appelée pour calculer la valeur xPNO. La direction de la position est déterminée par le signe de xPNO et multipliée par le facteur inverse pour obtenir la direction finale du commerce.
La stratégie repose principalement sur l'indicateur PNO pour la direction de la tendance. L'indicateur lui-même est assez brut et doit être combiné avec d'autres facteurs pour la vérification du signal.
La stratégie détermine la direction de la tendance basée sur les principes d'oscillation des nombres premiers, avec une logique et une mise en œuvre simples. Mais PNO a des limites qui nécessitent une utilisation prudente. La combinaison d'autres indicateurs techniques pour vérifier les signaux et contrôler le risque est nécessaire.
/*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)