Chiến lược chỉ báo ngẫu nhiên làm mịn theo cấp số nhân


Ngày tạo: 2024-01-18 15:53:41 sửa đổi lần cuối: 2024-01-18 15:53:41
sao chép: 0 Số nhấp chuột: 646
1
tập trung vào
1617
Người theo dõi

Chiến lược chỉ báo ngẫu nhiên làm mịn theo cấp số nhân

Tổng quan

Chiến lược biến động chỉ số ngẫu nhiên ngẫu nhiên là dựa trên các chỉ số ngẫu nhiên truyền thống, thêm một tham số trọng số chỉ số để điều chỉnh độ nhạy của chỉ số ngẫu nhiên, do đó tạo ra tín hiệu giao dịch. Khi chỉ số tăng khi nó quay trở lại từ vùng mua quá mức, nó làm rỗng khi nó quay trở lại từ vùng bán quá mức.

Nguyên tắc chiến lược

Cốt lõi của chiến lược biến động chỉ số trơn ngẫu nhiên là tham số trọng lượng chỉ số ex. Công thức tính toán cho chỉ số ngẫu nhiên truyền thống là:

s=100 * (close - 最低价) / (最高价 - 最低价) 

Sau khi thêm các tham số chỉ số, công thức tính toán trở thành:

exp= ex<10? (ex)/(10-ex) : 99  

s=100 * (close - 最低价) / (最高价 - 最低价)

ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50  
     :-math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50

Điều chỉnh giá trị của exp, có thể thay đổi tác động của s đối với s, tăng giá trị exp làm cho chỉ số trở nên không nhạy cảm hơn, giảm giá trị exp làm cho chỉ số trở nên nhạy cảm hơn.

KS tạo ra tín hiệu mua khi quay ngược từ vùng mua quá mức; KS tạo ra tín hiệu bán khi quay ngược từ vùng bán quá mức.

Lợi thế chiến lược

Chiến lược biến động chỉ số trơn ngẫu nhiên có những lợi thế sau đây so với chiến lược ngẫu nhiên truyền thống:

  1. Bằng cách điều chỉnh trọng lượng chỉ số, bạn có thể tự do điều chỉnh độ nhạy của chỉ số ngẫu nhiên, do đó kiểm soát tần suất giao dịch.
  2. Tăng trọng chỉ số có thể lọc một số tiếng ồn, tạo ra tín hiệu giao dịch ổn định hơn.
  3. Kết hợp các chỉ số chu kỳ thời gian khác nhau, có thể xác nhận nhiều khung thời gian, tăng độ tin cậy của tín hiệu.

Rủi ro chiến lược

Chiến lược biến động chỉ số trơn ngẫu nhiên cũng có những rủi ro sau:

  1. Khi chỉ số có trọng lượng quá lớn, nó sẽ lọc nhiều tín hiệu hơn và bỏ lỡ cơ hội giao dịch.
  2. Các chỉ số dễ gây nhiễu và sai chéo, cần phải được điều chỉnh để đảm bảo độ tin cậy của tín hiệu chéo.
  3. Cần xác định phạm vi tham số tối ưu cho các thị trường khác nhau, thiết lập tham số không đúng có thể ảnh hưởng đến hiệu suất của chiến lược.

Hướng tối ưu hóa chiến lược

Chiến lược di động chỉ số trơn ngẫu nhiên có thể được tối ưu hóa từ các khía cạnh sau:

  1. Kết hợp với các chỉ số khác để lọc tín hiệu, chẳng hạn như MACD, đường trung bình di chuyển, v.v., có thể làm giảm tín hiệu sai.
  2. Tăng cơ chế ngăn chặn thiệt hại để kiểm soát rủi ro hiệu quả.
  3. Tối ưu hóa các tham số trọng số chỉ số để tìm ra sự kết hợp tham số tốt nhất. Các thị trường khác nhau có thể đặt các tham số khác nhau.
  4. Tăng sự phức tạp, ví dụ như kết hợp với các chỉ số theo mùa, các chỉ số cấu trúc thị trường, có thể làm tăng thêm sự ổn định của chiến lược.

Tóm tắt

Chiến lược biến động chỉ số trơn ngẫu nhiên bằng cách điều chỉnh độ nhạy của chỉ số ngẫu nhiên, tạo ra tín hiệu giao dịch đáng tin cậy hơn. Chiến lược này có thể theo dõi hiệu quả xu hướng đường dài, hoặc có thể được tối ưu hóa thành chiến lược đường ngắn.

Mã nguồn chiến lược
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © faytterro

//@version=5
strategy("Exponential Stochastic Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len=input.int(14, "length") 
ex=input.int(2, title="exp", minval=1, maxval=10)
exp= ex<10? (ex)/(10-ex) : 99
s=100 * (close - ta.lowest(low, len)) / (ta.highest(high, len) - ta.lowest(low, len))
ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50 :
 -math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
plot(ks, color= color.white)
bot=input.int(20)
top=input.int(80)
longCondition = ta.crossover(ks, bot) and bar_index>0
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = ta.crossunder(ks, top) and bar_index>0
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
//    strategy.close("My Long Entry Id")
alertcondition(longCondition, title = "buy")
alertcondition(shortCondition, title = "sell")
h1=hline(top)
h2=hline(bot)
h3=hline(100)
h4=hline(0)
fill(h1,h3, color= color.rgb(255,0,0,200-top*2))
fill(h2,h4, color= color.rgb(0,255,0,bot*2))