
Chiến lược này kết hợp các chỉ số EMA và RSI để xác định cơ hội điều chỉnh đường ngắn của Bitcoin. Nó chủ yếu sử dụng EMA làm đồ họa chính và RSI làm chỉ số phán đoán phụ để tìm kiếm hình thức điều chỉnh rõ ràng hơn. Nó tạo ra tín hiệu giao dịch khi giá giảm xuống hoặc quay trở lại đường trung bình EMA.
Chiến lược này chủ yếu sử dụng đường EMA 50 chu kỳ và chỉ số RSI 25 chu kỳ. Các đường EMA được coi là chỉ số đồ họa chính, RSI được sử dụng để đánh giá quá mua quá bán và hỗ trợ tạo tín hiệu giao dịch.
Sau khi giao dịch được mở, chiến lược đặt cả điểm dừng và điểm dừng. Khoảng cách dừng có thể được đặt, mặc định là 5.1%; Khoảng cách dừng cũng có thể được đặt, mặc định là 9.6%. Điều này có thể làm giảm hiệu quả giá trị tối đa của tổn thất đơn lẻ.
Nhìn chung, chiến lược này chủ yếu dựa trên hình dạng đường EMA, hỗ trợ bởi chỉ số RSI để tránh mua quá mức và bán quá mức, đồng thời có kiểm soát dừng lỗ, phù hợp với việc thu hẹp đường ngắn BTC.
Chiến lược này có một số ưu điểm:
Tín hiệu chiến lược rõ ràng hơn, không tạo ra quá nhiều nhầm lẫn ngẫu nhiên. Sử dụng kết hợp của EMA và RSI, làm cho tín hiệu rõ ràng và đáng tin cậy hơn, không chỉ phụ thuộc vào chỉ số đơn lẻ.
Kiểm soát dừng lỗ bằng dây đai chiến lược. Điều này có thể kiểm soát hiệu quả mỗi tổn thất, là một phương tiện kiểm soát rủi ro rất quan trọng.
Các tham số chiến lược có thể được tối ưu hóa. Độ dài EMA, độ dài RSI và các tham số khác có thể được điều chỉnh, người dùng có thể tìm ra sự kết hợp tham số tốt nhất cho các thị trường khác nhau.
Chính sách cho phép phản hồi. Bạn có thể thiết lập phạm vi thời gian phản hồi trực tiếp trong chính sách để xác minh chính sách.
Chiến lược này cũng có một số rủi ro, chủ yếu từ những khía cạnh sau:
BT Bitcoin thị trường mạnh mẽ, dừng có thể bị phá vỡ. Mặc dù chiến lược thiết lập dừng, nhưng trong Bitcoin thị trường lớn, giá di chuyển lớn, dừng đường có thể được phá vỡ trực tiếp.
Rủi ro rút lui. Chiến lược không tính đến kiểm soát rút lui tổng thể. Chiến lược sẽ tạo ra một số rút lui nếu gặp phải tình huống điều chỉnh lâu hơn.
Tác dụng tín hiệu của tín hiệu biến động trong trường hợp lớn. Trong trường hợp lớn so sánh hoang dã, giá BTC sẽ có một làn sóng lớn và dài hơn. Trong trường hợp này, hiệu quả tín hiệu ngắn hạn sẽ biến động và dễ bị đặt cược.
Những rủi ro này có thể được kiểm soát và giảm thiểu bằng các biện pháp sau:
Giảm lỗ hổng một cách thích hợp. Trong trường hợp lớn, bạn có thể giảm lỗ hổng một cách thích hợp, ví dụ như mở rộng đến khoảng 10% để tránh lỗ hổng quá dễ bị phá vỡ.
Kết hợp với các bộ lọc chỉ số khác. Có thể thêm các chỉ số xu hướng như sắp xếp đa đầu theo đường trung bình, tránh sử dụng chiến lược này trong điều chỉnh dài hạn.
Tối ưu hóa tập hợp các tham số. Bạn có thể thử nghiệm các thiết lập tham số ở các giai đoạn thị trường khác nhau, tạo ra nhiều kết hợp tham số, chuyển đổi tham số khi đến tình huống lớn để cải thiện chất lượng tín hiệu.
Chiến lược này còn có thể được tối ưu hóa hơn nữa, chủ yếu từ các khía cạnh sau:
Tăng kiểm soát rút tiền tổng thể. Bạn có thể đặt tỷ lệ rút tiền tối đa, chẳng hạn như 20%, khi đạt đến mức rút tiền đó, chiến lược tạm dừng giao dịch để tránh thua lỗ quá mức.
Tăng kiểm soát tần suất mở vị trí. Bạn có thể hạn chế số lần mở vị trí trong một đơn vị thời gian chiến lược, chẳng hạn như tối đa hai lần mỗi giờ, để tránh giao dịch quá thường xuyên.
Cài đặt tham số tối ưu hóa. Kiểm tra các tổ hợp tham số trong các tình huống thị trường khác nhau, xây dựng nhiều mẫu tham số, chọn các tham số phù hợp theo tình huống hiện tại trong thời gian thực để tăng hiệu quả chiến lược.
Sử dụng với các bộ chỉ số khác. Chiến lược này có thể được sử dụng với các bộ chỉ số khác như xu hướng, biến động, để tạo ra một cơ sở tham gia hệ thống giao dịch toàn diện và đáng tin cậy hơn.
Nhìn chung, chiến lược này chủ yếu dựa trên hình thức điều chỉnh ngắn hạn của BTC, sử dụng EMA và RSI để tạo ra tín hiệu giao dịch rõ ràng hơn, đồng thời có kiểm soát dừng và dừng để nắm bắt hiệu quả cơ hội mạo hiểm của BTC. Tuy nhiên, chiến lược này phù hợp hơn với các công cụ hỗ trợ đường ngắn và hiệu quả tốt hơn khi được sử dụng với các chiến lược khác, có thể tạo ra lợi nhuận vượt quá ổn định.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
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/
// © mmoiwgg
//@version=4
strategy(title="EMA+RSI Pump & Drop Swing Sniper (With Alerts & SL+TP) - Strategy", shorttitle="EMA+RSI Swing Strategy", overlay=true)
emaLength = input(title="EMA Length", type=input.integer, defval=50, minval=0)
emarsiSource = input(close, title="EMA+RSI Source")
condSource = input(high, title="Long+Short Condition Source")
emaVal = ema(emarsiSource, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(emarsiSource, rsiLength)
//Safety
emaLength2 = input(title="Safety EMA Length", type=input.integer, defval=70, minval=0)
emaSource2 = input(close, title="Safety EMA Source")
ema = ema(emaSource2, emaLength2)
emaColorSource2 = close
emaBSource2 = close
// Backtest+Dates
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest end window
window() => time >= start and time <= finish ? true : false // create function - add window() to entry/exit/close
// Conditions
exit_long = crossover(emaVal, condSource)
longCond = crossunder(emaVal, condSource) and close > ema
//Stoploss + TakeProfit
sl = input(0.051, step=0.001, title="Stop Loss")
tp = input(0.096, step=0.001, title="Take Profit")
// Plots Colors
colors = emarsiSource > emaVal and rsiVal > 14 ? color.green : color.red
emaColorSource = input(close, title="Line Color Source")
emaBSource = input(close, title="Line Color B Source")
// Plots
plot(ema, color=emaColorSource2[1] > ema and emaBSource2 > ema ? color.green : color.red, linewidth=1)
plot(emaVal, color=emaColorSource[1] > emaVal and emaBSource > emaVal ? color.green : color.red, linewidth=3)
plotcandle(open, high, low, close, color=colors)
//Strategy Entry+Exits
strategy.entry("long",1,when=window() and longCond)
strategy.close("long",when=window() and exit_long)
strategy.exit("long tp/sl", "long", profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick)