
Chiến lược này dựa trên chỉ số biến động số chất để đánh giá xu hướng thị trường và xây dựng vị trí dài và ngắn dựa trên đó. Chỉ số biến động số chất tính toán chênh lệch số chất gần nhất với giá gần giá, giá trị tích cực cho thấy xu hướng đa chiều, giá trị âm cho thấy xu hướng không. Chiến lược này có thể nắm bắt thông tin xu hướng ẩn trong khi biến động giá, có ý nghĩa hướng dẫn cho giao dịch đột phá.
Chiến lược này đầu tiên định nghĩa một hàm PrimeNumber Oscillator, nhập các tham số là giá và allowedPercent. Chức năng này sẽ tìm số nguyên gần nhất với giá trong phạm vi giá là tích cực và âm allowedPercent, và trả về sự chênh lệch của cả hai. Sự chênh lệch lớn hơn 0 cho thấy xu hướng đa đầu, nhỏ hơn 0 cho thấy xu hướng không đầu.
Sau đó, trong chiến lược, gọi hàm PrimeNumberOscillator để tính giá trị xPNO. XPNO định vị trí theo hướng dương và âm, nhân với ReverseFactor để xác định hướng giao dịch cuối cùng.
Chiến lược này chủ yếu dựa vào chỉ số biến động số nguyên để xác định xu hướng. Chỉ số này tự nó là thô hơn, cần kết hợp với các yếu tố khác để xác minh tín hiệu giao dịch. Nhưng nó dựa trên nguyên tắc toán học, có thể cung cấp một số hướng dẫn khách quan.
Chiến lược này dựa trên nguyên tắc dao động số nguyên tố để đánh giá xu hướng, thực hiện đơn giản, logic rõ ràng. Tuy nhiên, dao động số nguyên tố tự nó có một số giới hạn, cần thận trọng. Có thể kiểm tra tín hiệu bằng cách kết hợp các chỉ số kỹ thuật khác để kiểm soát rủi ro giao dịch. Chiến lược này là đại diện điển hình của chiến lược giao dịch toán học, có giá trị tham khảo nhất định cho học tập và nghiên cứu.
/*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)