
Strategi ini didasarkan pada indikator gesekan kuantum untuk menilai tren pasar dan membangun posisi yang panjang dan pendek. Indikator gesekan kuantum menghitung selisih antara nilai kuantum dan harga terbaru di dekat harga, dengan nilai positif menunjukkan tren multihead dan nilai negatif menunjukkan tren kosong. Strategi ini dapat menangkap informasi tren yang tersembunyi saat harga bergeser, dan ini berguna untuk membimbing perdagangan yang pecah.
Strategi ini pertama-tama mendefinisikan sebuah fungsi PrimeNumber Oscillator dengan parameter input harga dan allowedPercent. Fungsi ini akan mencari bilangan prima yang paling dekat dengan harga dalam kisaran harga positif-negatif allowedPercent, dan mengembalikan nilai diferensial dari keduanya. Nilai diferensial yang lebih besar dari 0 menunjukkan tren multihead, dan lebih kecil dari 0 menunjukkan tren kosong.
Kemudian dalam strategi, fungsi PrimeNumber Oscillator dihubungi untuk menghitung nilai xPNO. Berdasarkan xPNO, arah posisi ditentukan secara positif-negatif, dan reverseFactor dikali untuk menentukan arah perdagangan akhir.
Strategi ini terutama bergantung pada indikator oscillasi bilangan prima untuk menentukan arah tren. Indikator itu sendiri relatif kasar dan perlu digabungkan dengan faktor lain untuk memverifikasi sinyal perdagangan. Namun, berdasarkan pada prinsip matematika, dapat memberikan beberapa panduan objektif.
Strategi ini didasarkan pada prinsip getaran bilangan prima untuk menentukan arah tren, dan dapat dicapai dengan mudah dan logis. Namun, getaran bilangan prima sendiri memiliki keterbatasan tertentu, dan harus digunakan dengan hati-hati. Strategi ini dapat diverifikasi dengan menggabungkan indikator teknis lainnya untuk memverifikasi sinyal dan mengendalikan risiko perdagangan. Strategi ini adalah perwakilan khas dari strategi perdagangan matematika, dan memiliki nilai referensi tertentu untuk belajar dan penelitian.
/*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)