
Strategi ini berdasarkan kepada indikator goyah kuantitatif untuk menilai trend pasaran, dan dengan itu membina kedudukan panjang dan pendek. Indikator goyah kuantitatif mengira perbezaan antara kuantitatif dan harga yang paling dekat dengan harga, dengan nilai positif menunjukkan tren multi-arah, dan nilai negatif menunjukkan tren kosong. Strategi ini dapat menangkap maklumat trend yang tersembunyi semasa goyah harga, dan berguna untuk membimbing perdagangan pecah.
Strategi ini mula-mula menentukan fungsi PrimeNumber Oscillator, dengan parameter input sebagai harga dan allowedPercent. Fungsi ini akan mencari bilangan bulat yang paling dekat dengan harga dalam julat harga positif-negatif allowedPercent, dan mengembalikan perbezaan antara keduanya. Perbezaan yang lebih besar daripada 0 menunjukkan tren multihead, dan lebih kecil daripada 0 menunjukkan tren kosong.
Kemudian dalam strategi, fungsi PrimeNumber Oscillator dipanggil untuk mengira nilai xPNO. Berdasarkan xPNO, arah kedudukan positip negatif ditentukan, dan arah perdagangan akhir ditentukan dengan reverseFactor.
Strategi ini terutamanya bergantung kepada indikator goyah nombor utama untuk menentukan arah trend. Indikator itu sendiri agak kasar dan perlu digabungkan dengan faktor lain untuk mengesahkan isyarat perdagangan. Tetapi ia berdasarkan prinsip matematik dan boleh memberikan panduan objektif.
Strategi ini berdasarkan kepada prinsip getaran nombor utama untuk menentukan arah trend, dan ia mudah dan logiknya jelas. Tetapi getaran nombor utama itu sendiri mempunyai batasan tertentu, perlu berhati-hati. Ia boleh digunakan untuk mengesahkan isyarat dan mengawal risiko perdagangan dengan menggabungkan petunjuk teknikal lain.
/*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)