
Chiến lược này kết hợp hai chỉ số kỹ thuật Bollinger Bands và Random KD để quyết định thời gian mua bằng cách đánh giá liệu giá có rơi xuống Bollinger Bands hay không và KD của chỉ số ngẫu nhiên để quyết định thời gian bán bằng cách đánh giá liệu giá có rơi xuống Bollinger Bands hay không. Chiến lược này tìm cách nắm bắt sự hồi phục của thị trường sau khi bán quá mức, đồng thời kiểm soát rủi ro rút lui.
Tính đếm dải Brin: Sử dụng đường trung bình di chuyển đơn giản của giá làm đường trung tâm của dải Brin, tính toán đường trung tâm và đường trung bình là số nhân cố định của chênh lệch tiêu chuẩn giá.
Tính toán chỉ số ngẫu nhiên KD: Giá trị của chỉ số ngẫu nhiên K là vị trí tương đối của giá đóng cửa hiện tại trong khoảng giá cao nhất và thấp nhất trong N chu kỳ gần nhất, D là trung bình di chuyển đơn giản M ngày của giá trị K.
Điều kiện mua: Chiến lược mua khi giá đóng cửa hiện tại giảm xuống dưới đường dây Brin, và chỉ số ngẫu nhiên KD Gold Forks ((D giá trên K giá trị).
Điều kiện bán: Chiến lược bán khi giá đóng cửa hiện tại rơi xuống đường trung tâm của vòng Brin hoặc vượt qua đường dây Brin.
Xác định xem giá có ở mức thấp tương đối hay không, kết hợp với tín hiệu xác nhận đảo ngược của chỉ số ngẫu nhiên KD Goldfork, để sử dụng đó là thời gian mua; khi giá trở lại gần đường trung tâm của Burin hoặc mua quá mức, hãy bán kịp thời để kiểm soát rủi ro và khóa lợi nhuận.
Kết hợp với chỉ số giá và động lực, nó có thể nắm bắt tốt hơn sự hồi phục sau khi bán quá mức.
Brin có thể động khắc giá ở vị trí tương đối cao và thấp, có hiệu quả khách quan hơn so với mức giá cố định.
Chỉ số ngẫu nhiên KD có thể phản ánh tình trạng quá mua và quá bán của giá cả và sự thay đổi động lực, tạo ra sự tương tác hiệu quả với Blink.
Thiết lập các mức dừng lỗ rõ ràng và giới hạn, kiểm soát các lỗ hổng rủi ro của một giao dịch.
Các tham số có thể điều chỉnh, áp dụng cho các thị trường và chu kỳ khác nhau.
Chiến lược này có thể không hoạt động tốt khi thị trường bị chấn động hoặc xu hướng không rõ ràng, cần kết hợp với xu hướng để phân biệt các chỉ số.
Chỉ số ngẫu nhiên KD có thể xuất hiện trong một số trường hợp, cần xác nhận thêm kết hợp với các phương pháp khác.
Lựa chọn các tham số KD của Binance và chỉ số ngẫu nhiên cần được tối ưu hóa dựa trên phản hồi, các tham số không phù hợp có thể dẫn đến dừng lỗ sớm hoặc thời gian nắm giữ quá dài.
Thiếu sự cân nhắc về quản lý vị trí và quản lý tài chính, khả năng kiểm soát thu hồi bị hạn chế.
Tiến hành các chỉ số đánh giá xu hướng như trung bình di chuyển, chỉ sử dụng chiến lược này khi xu hướng rõ ràng.
Xác nhận lần thứ hai về tín hiệu ngẫu nhiên của chỉ số KD, chẳng hạn như xác định xem giá trị K có nằm trong vùng thấp không.
Tối ưu hóa các tham số KD của băng Bryn và chỉ số ngẫu nhiên để tìm ra sự kết hợp tham số tốt nhất.
Thêm các mô-đun quản lý vị trí và quản lý tiền vào chiến lược, chẳng hạn như tính toán vị trí bằng phương thức Kelly, thiết lập đường dừng tổng thể.
Tối ưu hóa và kiểm tra lại các tham số cho các thị trường và chu kỳ khác nhau để cải thiện tính phù hợp của chiến lược.
Bài viết này giới thiệu một chiến lược giao dịch dựa trên Brin và KD ngẫu nhiên. Chiến lược này được đánh giá thời gian mua và bán bằng cách so sánh mối quan hệ giữa giá và vị trí của Brin và tín hiệu chéo của KD ngẫu nhiên, cố gắng nắm bắt tình trạng hồi phục sau khi bán tháo và kiểm soát rủi ro rút lui.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands and KD Strategy with Take Profit", overlay=true)
// 輸入參數
length = input(14, title="Bollinger Bands Length")
mult = input(2, title="Bollinger Bands Multiplier")
kdLength = input(14, title="KD Length")
kdSmooth = input(3, title="KD Smooth")
kdD = input(3, title="KD D")
// 計算布林通道
basis = ta.sma(close, length)
upper_band = basis + mult * ta.stdev(close, length)
lower_band = basis - mult * ta.stdev(close, length)
// 計算KD指標
k = ta.stoch(close, high, low, kdLength)
d = ta.sma(k, kdSmooth) // 使用sma計算KD D
// 判斷進出點的條件
price_below_lower_band = close < lower_band
cross_above_kd = ta.crossover(k, d)
price_above_upper_band = close > upper_band
cross_below_basis = ta.crossunder(close, basis)
// 策略進出點
if (price_below_lower_band and cross_above_kd)
strategy.entry("Buy", strategy.long)
if (cross_below_basis or price_above_upper_band)
strategy.close("Buy")
// 繪製布林通道
plot(upper_band, color=color.blue, title="Upper Band")
plot(lower_band, color=color.red, title="Lower Band")
plot(basis, color=color.green, title="Basis")
// 繪製KD指標
hline(80, "Overbought", color=color.red)
hline(20, "Oversold", color=color.green)
plot(k, color=color.blue, title="K")
plot(d, color=color.red, title="D")