
Chiến lược này được gọi là chiến lược giao dịch định lượng FNGU với đường lượn và RSI, một chiến lược dài hạn dành riêng cho FNGU. Chiến lược này sử dụng chỉ số đường lượn và RSI để xác định tình trạng mua và bán quá mức của cổ phiếu, dẫn đến tín hiệu mua và bán.
Lập luận cốt lõi của chiến lược này dựa trên việc sử dụng kết hợp các chỉ số Brinline và RSI.
Đầu tiên, đường Brin bao gồm ba đường: đường trung bình, đường trên và đường dưới. Trong đó, đường trung bình là đường trung bình di chuyển đơn giản n ngày, đường trên và đường dưới là chênh lệch chuẩn k lần tích cực của đường trung bình.
Trong chiến lược này, thời gian trung bình của đường Brin là 235 ngày và tham số k là 2 ≠. Một tín hiệu mua được tạo ra khi giá thấp hơn đường Brin hoặc khi giá từ dưới lên phá vỡ đường trung bình của Brin; một tín hiệu bán được tạo ra khi giá cao hơn đường Brin.
Thứ hai, chỉ số RSI phản ánh mức độ mua và bán quá mức của cổ phiếu. RSI cao hơn 70 là mua quá mức và thấp hơn 30 là bán quá mức. Trong chiến lược này, độ dài của tham số RSI là 2.
Trong chiến lược này, kết hợp sử dụng chỉ số đường Brin và chỉ số RSI: RSI tạo ra tín hiệu mua khi chỉ số vượt qua vùng bán tháo và đồng thời giá thấp hơn hoặc chạm đường Brin; RSI tạo ra tín hiệu bán khi chỉ số vượt qua vùng mua tháo và giá cao hơn đường Brin.
Chiến lược này có một số lợi thế:
Kết hợp hai chỉ số Bollinger Bands và RSI giúp tín hiệu mua và bán chính xác hơn và đáng tin cậy hơn.
Sử dụng đường Brin để xác định vùng mua và bán quá mức của cổ phiếu, RSI lọc các tín hiệu giả mạo, và cả hai bổ sung cho nhau.
Chỉ giao dịch với vị trí dài, không cần xem xét rủi ro của giao dịch bằng không.
Các tham số chiến lược đã được tối ưu hóa để phù hợp với cổ phiếu biến động cao của FNGU.
Tự động dừng lỗ, giảm rủi ro mất mát.
Lập trình đơn giản, rõ ràng, dễ hiểu và sửa đổi.
Chiến lược này cũng có một số rủi ro, bao gồm:
Cả đường Brin và RSI đều có thể tạo ra tín hiệu giả, dễ bị mạo hiểm và cần giao dịch thận trọng. Các tham số có thể được điều chỉnh thích hợp, hoặc thêm các chỉ số khác để lọc.
Cổ phiếu FNGU tự nó rất biến động, thiết lập lỗ hổng không phù hợp có thể làm tăng tổn thất.
Chiến lược chỉ phù hợp với các cổ phiếu biến động cao như FNGU, không phù hợp với các cổ phiếu khác, cần điều chỉnh tham số theo các cổ phiếu khác nhau.
Các tham số chiến lược đã được tối ưu hóa, nhưng sự thay đổi của thị trường có thể dẫn đến các tham số không còn áp dụng và cần phải tiếp tục chú ý đến tối ưu hóa.
Chiến lược này cũng có thể được tối ưu hóa theo các hướng sau:
Thêm các chỉ số khác, như KDJ, MACD, để tín hiệu chính xác hơn.
Tối ưu hóa các tham số của Brinline và RSI để phù hợp với nhiều loại cổ phiếu.
Thêm mô hình học máy hỗ trợ quyết định, sử dụng nhiều dữ liệu hơn để tạo tín hiệu giao dịch.
Để thực hiện giao dịch xuyên chu kỳ, sử dụng dữ liệu có chiều cao hơn về thời gian để tạo tín hiệu.
Các nhà phân tích đã sử dụng các dữ liệu xã hội để tạo ra các tín hiệu giao dịch.
Phát triển hệ thống phản hồi định lượng để nhanh chóng kiểm tra các thiết lập tham số khác nhau.
Chiến lược này là một chiến lược dài hạn, đặc biệt phù hợp với các cổ phiếu có biến động lớn, chẳng hạn như FNGU. Nó kết hợp với việc sử dụng chỉ số đường Brin và chỉ số RSI, tạo ra tín hiệu giao dịch khi xảy ra tình huống quá mua quá bán, nhằm nắm bắt cơ hội đảo ngược giá cổ phiếu.
/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by EMKM)", shorttitle="1Min Killer", overlay=true)
///////////// RSI
RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(235, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length
BBmult = 2
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
BBtarget38 = BBbasis + 0.38 * BBdev // Line at 38% of Bollinger Band width
BBtarget50 = BBbasis + 0.50 * BBdev // Line at 50% of Bollinger Band width
///////////// EMA
emaLength = input(20, title="EMA Period Length")
ema = ema(close, emaLength)
source = close
buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band
sellEntry = crossunder(source, BBupper)
///////////// Plotting
plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line")
plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line")
plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line")
plot(BBtarget38, color=color.blue, linewidth=2, title="SMA at 38% of BB width") // Line at 38%
plot(BBtarget50, color=color.green, linewidth=2, title="SMA at 50% of BB width") // Line at 50%
plot(ema, color=color.orange, title="EMA") // Plot EMA
///////////// RSI + Bollinger Bands Strategy
longCondition = crossover(vrsi, RSIoverSold) and buyEntry
sellCondition = crossunder(vrsi, RSIoverBought) and close > BBupper
close_long = close > BBbasis
close_short = close < BBbasis
if (not na(vrsi))
if longCondition
strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy")
else
strategy.cancel(id="Buy")
if close_long
strategy.close("Buy")
if (sellCondition)
strategy.entry("Sell", strategy.short, qty=10, stop=BBupper, comment="Sell")
else
strategy.cancel(id="Sell")
if close_short
strategy.close("Sell")