Chiến lược kiểm tra lại các dải số nguyên tố

Tác giả:ChaoZhang, Ngày: 2024-01-08 11:54:52
Tags:

img

Tổng quan

Chiến lược kiểm tra lại các dải số nguyên tố đánh giá xu hướng thị trường bằng cách xác định các số nguyên tố cao nhất và thấp nhất xung quanh một mức giá và vẽ hai chuỗi số nguyên tố này như một dải.

Chiến lược logic

  1. Đi qua một phạm vi biến động giá được chỉ định dựa trên tỷ lệ phần trăm dung nạp để tìm số nguyên tố cao nhất và thấp nhất.
  2. Sử dụng các hàm cao nhất và thấp nhất để lấy các điểm cao nhất và thấp nhất của các dải số nguyên tố trong các thanh N gần đây nhất.
  3. Xác định hướng dài hoặc ngắn dựa trên việc giá đóng phá vỡ các điểm cao nhất và thấp nhất của các dải số nguyên tố.
  4. Có thể chọn để đảo ngược tín hiệu giao dịch.

Phân tích lợi thế

  1. Bắt được sự ngẫu nhiên của thị trường bằng cách sử dụng các đặc điểm phân phối ngẫu nhiên và bất thường của số nguyên tố.
  2. Các dải số nguyên tố có một độ trễ nhất định, có thể lọc ra một số tiếng ồn.
  3. Các giới hạn trên và dưới của dải số nguyên tố là linh hoạt và có thể được điều chỉnh thông qua tỷ lệ phần trăm dung nạp để thích nghi với các chu kỳ khác nhau và các loại giao dịch khác nhau.

Phân tích rủi ro

  1. Các dải số nguyên tố không thể hoàn toàn phù hợp với chuyển động giá và có một mức độ chậm nhất định.
  2. Sự đảo ngược giá do cực đoan có thể dẫn đến các tín hiệu sai.
  3. Cài đặt tỷ lệ phần trăm dung nạp quá mức sẽ lọc ra một số tín hiệu hợp lệ.

Rủi ro có thể tránh được bằng cách điều chỉnh các tham số đúng cách, kết hợp với các chỉ số khác, v.v.

Hướng dẫn tối ưu hóa

  1. Thiết lập hai điều kiện để kích hoạt tín hiệu bằng cách kết hợp các đường trung bình di chuyển đơn giản và các chỉ số khác.
  2. Nghiên cứu việc sử dụng các số ngẫu nhiên khác như số Fibonacci.
  3. Đưa ra các thuật toán học máy để đạt được tối ưu hóa tham số tự động.

Tóm lại

Chiến lược kiểm tra lại các dải số nguyên tố nói chung là một chiến lược rất sáng tạo với giá trị thực tế. Nó sử dụng các đặc điểm của số nguyên tố để nắm bắt sự ngẫu nhiên của thị trường trong khi cũng xem xét sự chậm trễ giá trong việc xác định xu hướng, rất có giá trị cho nghiên cứu.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/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.
// The Prime Number Bands indicator was developed by Modulus Financial Engineering 
// Inc. This indicator is charted by indentifying the highest and lowest prime number 
// in the neighborhood and plotting the two series as a band.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
PrimeNumberUpBand(price, percent) =>
    res = 0
    res1 = 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
    res := iff(res1 == 0, res[1], res1)
    res

PrimeNumberDnBand(price, percent) =>
    res = 0
    res2 = 0
    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(res2 == 0, res[1], res2)
    res

strategy(title="Prime Number Bands Backtest", overlay = true)
percent = input(5, minval=0.01, step = 0.01, title="Tolerance Percentage")
Length = input(5, minval=1)
srcUp = input(title="Source Up Band",  defval=high)
srcDn = input(title="Source Down Band",  defval=low)
reverse = input(false, title="Trade reverse")
xPNUB = PrimeNumberUpBand(srcUp, percent)
xPNDB = PrimeNumberDnBand(srcDn, percent)
xHighestPNUB = highest(xPNUB, Length)
xLowestPNUB = lowest(xPNDB, Length)
pos = iff(close > xHighestPNUB[1], 1,
       iff(close < xLowestPNUB[1], -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 ) 
plot(xHighestPNUB, color=red, title="PNUp")
plot(xLowestPNUB, color=green, title="PNDn")

Thêm nữa