Chiến lược đột phá dao động


Ngày tạo: 2023-10-27 16:14:16 sửa đổi lần cuối: 2023-10-27 16:14:16
sao chép: 0 Số nhấp chuột: 587
1
tập trung vào
1617
Người theo dõi

Chiến lược đột phá dao động

Tổng quan

Chiến lược phá vỡ chấn động sử dụng dải Brin và chỉ số ngẫu nhiên để xác định điểm đảo ngược tiềm năng khi giá tài sản đạt đến khu vực mua bán quá mức, phù hợp với các nhà giao dịch trong ngày để tận dụng biến động giá nhỏ. Ý tưởng chính của chiến lược này là tìm kiếm cơ hội giao dịch khi giá tài sản cụ thể phá vỡ dải Brin và ngẫu nhiên chỉ số hiển thị tín hiệu mua bán quá mức.

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

Chiến lược này sử dụng cả đai Brin và đai ngẫu nhiên làm chỉ số kỹ thuật chính. Đai Brin được tính toán bằng đường trung bình và chênh lệch tiêu chuẩn trong một chu kỳ nhất định (ví dụ: 20 ngày) để có được đường lên và đường xuống. Giá được coi là quá mua khi đạt đến đường lên và được coi là quá bán khi đạt đến đường xuống.

Chiến lược giao dịch cụ thể là: khi giá phá vỡ đường dây Bollin xuống đường và chỉ số RSI ngẫu nhiên thấp hơn 20, hãy làm nhiều; khi giá phá vỡ đường dây Bollin và chỉ số RSI ngẫu nhiên cao hơn 80, hãy tháo dỡ. Đặt giá dừng lỗ nhiều điểm dưới mức thấp K hiện tại, đặt giá dừng lỗ trên mức cao K hiện tại.

Mã thông qua các chức năng chéo để thực hiện đánh giá phá vỡ quỹ đạo của Brin, đánh giá mức RSI cao và thấp, và vẽ các tín hiệu đánh dấu phá vỡ hình dạng. Thiết lập dừng lỗ và dừng lại sau khi vào, theo dõi sự thay đổi giá và thoát ra.

Phân tích lợi thế

Chiến lược này kết hợp với BRI để xác định vùng áp lực hỗ trợ và RSI để xác định vùng quá mua quá bán, có thể cải thiện chất lượng tín hiệu giao dịch. So với chỉ số đơn lẻ, có thể giảm tín hiệu sai.

Sử dụng đường K để phá vỡ quỹ đạo lên xuống của vòng Brin, kết hợp với bộ lọc RSI, để nắm bắt cơ hội đảo ngược. Những giao dịch đảo ngược như vậy có tiềm năng lợi nhuận lớn hơn.

Khoảng cách dừng lỗ nhỏ hơn, có lợi cho việc kiểm soát tổn thất đơn lẻ. Đặt lệnh dừng dựa trên biến động trung bình, có thể cân bằng tốt hơn kích thước lợi nhuận.

Chiến lược này có tần suất giao dịch cao, phù hợp với giao dịch ngắn trong ngày và có thể tận dụng tối đa các biến động thị trường nhỏ.

Phân tích rủi ro

Một đợt phá vỡ quỹ đạo của Brin giả định giá sẽ quay trở lại đường trung bình, nhưng một số đợt phá vỡ có thể là đợt phá vỡ giả, không thể tạo ra một sự đảo ngược xu hướng. Điều này sẽ dẫn đến tổn thất.

RSI có tính chậm trễ, có thể xảy ra tình huống kích hoạt tín hiệu mua bán quá mức sớm, do đó bỏ lỡ một số cơ hội giao dịch.

Khoảng cách dừng lỗ nhỏ, theo đuổi kiểm soát tổn thất đơn lẻ, nhưng cũng hạn chế không gian lợi nhuận đơn lẻ.

Giao dịch tần số cao đòi hỏi chất lượng tâm lý cao, quá thường xuyên có thể ảnh hưởng đến lợi nhuận tổng thể.

Hướng tối ưu hóa

Có thể thử nghiệm điều chỉnh các tham số của vùng Brin, chẳng hạn như tăng độ dài chu kỳ, để cải thiện chất lượng tín hiệu đột phá.

Bạn có thể cố gắng sử dụng giá đóng cửa K-line để phá vỡ vòng Brin như một tín hiệu, thay vì xác định phá vỡ trực tiếp, để giảm bớt phá vỡ giả.

Có thể kết hợp với các chỉ số khác như MACD, KD và RSI để tăng độ chính xác của phán đoán mua quá mức.

Có thể thiết lập khoảng cách dừng động theo đặc điểm của các giống khác nhau, thay vì số điểm dừng cố định.

Tóm tắt

Chiến lược này kết hợp các vùng áp lực hỗ trợ của các vùng Brin và các khu vực bán tháo của chỉ số RSI, trong lý thuyết, có thể tìm thấy cơ hội đảo ngược tốt hơn. Trong hoạt động thực tế, chìa khóa là tìm ra cấu hình tham số phù hợp, kiểm soát rủi ro và tối ưu hóa liên tục.

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

//@version=4
strategy("Bollinger Bands & Stochastic Scalping Strategy", shorttitle="BB & Stoch Scalp", overlay=true)

// Bollinger Bands
length = input(20, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input(2, title="Multiplier")
basis = sma(src, length)
dev = mult * stdev(src, length)
upperBB = basis + dev
lowerBB = basis - dev

// Stochastic
stochLength = input(14, title="Stochastic Length")
smoothK = input(5, title="Stochastic %K Smoothing")
smoothD = input(3, title="Stochastic %D Smoothing")
k = sma(stoch(close, high, low, stochLength), smoothK)
d = sma(k, smoothD)

// Entry Conditions
longCondition = crossover(close, lowerBB) and crossover(k, 20)
shortCondition = crossunder(close, upperBB) and crossunder(k, 80)

// Exit Conditions
takeProfit = input(50, title="Take Profit (pips)")

plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Stop Loss
stopLossPips = input(3, title="Stop Loss (pips)")
stopLossLong = close - stopLossPips * syminfo.mintick
stopLossShort = close + stopLossPips * syminfo.mintick

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

strategy.exit("Take Profit/Stop Loss", from_entry="Long", profit=takeProfit, stop=stopLossLong)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", profit=takeProfit, stop=stopLossShort)

plot(upperBB, title="Upper Bollinger Band", color=color.red)
plot(lowerBB, title="Lower Bollinger Band", color=color.green)

hline(80, "Overbought", color=color.red)
hline(20, "Oversold", color=color.green)