Эта стратегия использует индикатор Prime Number Oscillator для определения рыночных тенденций и построения долгих/коротких позиций соответственно. PNO вычисляет разницу между ближайшим к цене простым числом и самой ценой, с положительными значениями, указывающими на бычьи тенденции, и отрицательными значениями, указывающими на медвежие тенденции. Стратегия может захватить скрытую информацию о тренде во время колебаний цен и предоставить руководство для торговли прорывом.
Стратегия сначала определяет функцию PrimeNumberOscillator, которая принимает цену и allowedPercent в качестве параметров. Функция ищет ближайшее к цене первое число в пределах разрешенного диапазона Percent и возвращает их разницу. Положительная разница указывает на рост, а отрицательная разница указывает на спад.
В стратегии функция PrimeNumberOscillator вызвана для вычисления значения xPNO. Направление позиции определяется знаком xPNO и умножается на обратный фактор для получения окончательного направления торговли. Долгие / короткие позиции открываются на основе направления.
Стратегия в основном опирается на индикатор PNO для направления тренда. Сам индикатор довольно грубый и должен быть объединен с другими факторами для проверки сигнала. Но он основан на математических принципах и может обеспечить некоторое объективное руководство.
Стратегия определяет направление тренда на основе принципов колебания простых чисел, с простой логикой и реализацией. Но PNO имеет ограничения, которые требуют осторожного использования. Необходимо комбинировать другие технические индикаторы для проверки сигналов и контроля риска. Как типичный представитель математических торговых стратегий, он имеет справочное значение для исследований и исследований.
/*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)