Diese Strategie verwendet den Prime Number Oscillator Indikator, um Markttrends zu bestimmen und entsprechend Long/Short Positionen zu konstruieren. Die PNO berechnet die Differenz zwischen der nächstgelegenen Primzahl zum Preis und dem Preis selbst, mit positiven Werten, die auf bullische Trends hinweisen, und negativen Werten, die auf bärische Trends hinweisen.
Die Strategie definiert zunächst eine PrimeNumberOscillator-Funktion, die Preis und allowedPercent als Parameter annimmt. Die Funktion sucht nach der nächstgelegenen Primzahl zum Preis innerhalb des allowedPercent-Bereichs und gibt ihre Differenz zurück. Eine positive Differenz zeigt bullish und eine negative Differenz zeigt bearish an.
In der Strategie wird die PrimeNumberOscillator-Funktion aufgerufen, um den xPNO-Wert zu berechnen. Die Positionsrichtung wird durch das Zeichen von xPNO bestimmt und mit dem ReverseFactor multipliziert, um die endgültige Handelsrichtung zu erhalten.
Die Strategie stützt sich hauptsächlich auf den PNO-Indikator für die Trendrichtung. Der Indikator selbst ist ziemlich roh und muss mit anderen Faktoren für die Signalverifizierung kombiniert werden.
Die Strategie bestimmt die Trendrichtung basierend auf Primzahl-Oszillationsprinzipien, mit einfacher Logik und Implementierung. PNO hat jedoch Einschränkungen, die eine vorsichtige Verwendung erfordern. Es ist notwendig, andere technische Indikatoren zu kombinieren, um Signale zu überprüfen und das Risiko zu kontrollieren. Als typischer Vertreter mathematischer Handelsstrategien hat es einen Referenzwert für Studie und Forschung.
/*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)