
Chiến lược này là một chiến lược giao dịch vàng M5 dựa trên sự kết hợp của chỉ số SAR, chỉ số CCI và chỉ số EMA. Nó sử dụng tổng hợp ba chỉ số kỹ thuật khác nhau để xác định xu hướng xu hướng vàng và tình huống mua quá mức để nắm bắt cơ hội giao dịch được cung cấp bởi sự hồi phục giữa.
Chỉ số SAR được sử dụng để xác định hướng xu hướng và điểm đảo ngược có thể của vàng. Khi điểm SAR giảm qua giá, nó biểu thị xu hướng đa đầu được hình thành; Khi điểm SAR tăng qua giá, nó biểu thị xu hướng không đầu được hình thành.
Chỉ số CCI được sử dụng để đánh giá tình trạng quá mua quá bán trên thị trường. CCI lớn hơn 100 cho thấy xu hướng đa đầu tăng cường, CCI nhỏ hơn 100 cho thấy xu hướng không đầu tăng cường.
Hỗn hợp đường EMA nhanh chậm được sử dụng để xác định điểm biến đổi ngắn hạn trong giá. Hướng nhanh có lợi khi tăng và đường nhanh có lợi khi giảm.
Quy tắc nhập cảnh cụ thể: Khi chỉ số SAR vượt qua đường trung bình EMA 5 phút, chỉ số CCI lớn hơn 100 thì làm nhiều vàng; Khi chỉ số SAR vượt qua đường trung bình EMA 5 phút, chỉ số CCI nhỏ hơn -100 thì làm trắng vàng.
Hạn chế EXIT Quy tắc: điểm dừng là giá mở thêm 7 điểm, điểm dừng là đường trung bình EMA 1 phút.
Chiến lược tổng hợp sử dụng ba chỉ số để xác định xu hướng và kháng cự hỗ trợ quan trọng, tăng khả năng lợi nhuận.
Chỉ số CCI có thể lọc hiệu quả các đợt phá vỡ giả thường gặp. Các điểm đảo ngược SAR kết hợp với phán đoán về hướng xu hướng, tránh mở nhiều lần trong thị trường bất ổn.
EMA Fast and Slow Crossover và kết hợp với các chỉ số SAR có thể xác định hiệu quả các cơ hội giao dịch rủi ro thấp cung cấp bởi điều chỉnh giá ngắn hạn.
Các tham số chiến lược đã được tối ưu hóa cho các loại vàng có biến động cao, cũng như các tài khoản nhỏ.
Chiến lược này chủ yếu dựa trên các chỉ số kỹ thuật, có khả năng các chỉ số kỹ thuật sẽ không hoạt động nếu xảy ra sự kiện Black Swan quan trọng.
Các loại hàng hóa như vàng có biến động lớn, điểm dừng lỗ được đặt ở đường trung bình EMA, có thể bị phá vỡ và gây tổn thất lớn cho tài khoản.
Các chỉ số CCI và SAR có thể tạo ra tín hiệu giả, dẫn đến tổn thất không cần thiết.
Trong trường hợp xảy ra tình trạng khủng khiếp, khả năng hệ thống giao dịch bị hỏng sẽ tăng lên, có thể gây ra tổn thất không thể ngăn chặn.
Có thể thử nghiệm các kết hợp các tham số khác nhau để tối ưu hóa tham số chỉ số CCI để phù hợp hơn với đặc điểm của vàng.
Có thể kết hợp nhiều chỉ số hơn, chẳng hạn như hình dạng K-line, Brinet, để nâng cao sự ổn định của chiến lược.
Các tham số của chỉ số SAR có thể được tối ưu hóa động, thông qua các phương tiện như học máy, để nó thích ứng tốt hơn với sự thay đổi của thị trường.
Có thể thử nghiệm các phương pháp dừng khác nhau, chẳng hạn như theo dõi dừng, giảm khả năng phá vỡ dừng.
Có thể tối ưu hóa quản lý vị trí, chẳng hạn như phần cố định, điều chỉnh động theo đơn vị để kiểm soát tổn thất đơn lẻ.
Chiến lược này nói chung là một chiến lược giao dịch vàng ổn định hơn. Nó kết hợp nhiều chỉ số để xác định hướng xu hướng của vàng, mức kháng cự hỗ trợ quan trọng và khu vực mua bán quá mức.
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Parabolic SAR and CCI Strategy with EMA Exit", overlay=true)
// Parameters
length = input(50, title="EMA Length")
length_21 = input(21, title="EMA Length 21")
acc = input(0.02, title="Acceleration Factor")
max_acc = input(0.2, title="Max Acceleration Factor")
takeProfitPoints = input(7, title="Take Profit Points")
// Variables
var float ep = 0.0
var float sar = 0.0
var float af = acc
// Calculating 5-minute EMA based on 1-minute data
var float sum_close = na
var float ema_5min = na
if (bar_index % 5 == 0)
sum_close := 0.0
for i = 0 to 4
sum_close := sum_close + close[i]
ema_5min := ema(sum_close / 5, length_21)
// Calculating 1-minute EMA
ema1 = ema(close, length)
cci = cci(close, 45)
// Custom Parabolic SAR Calculation
trendUp = close > ema1
trendDown = close < ema1
var float prev_sar = na
prev_sar := na(sar[1]) ? low[1] : sar[1]
if trendUp
ep := high > ep ? high : ep
af := min(af + acc, max_acc)
sar := min(prev_sar, prev_sar + af * (ep - prev_sar))
if trendDown
ep := low < ep ? low : ep
af := min(af + acc, max_acc)
sar := max(prev_sar, prev_sar + af * (ep - prev_sar))
// Entry Conditions
longCondition = sar > ema1 and ema1 > ema_5min and cci > 100
shortCondition = sar < ema1 and ema1 < ema_5min and cci < -100
// Exit Conditions
longTakeProfit = strategy.position_avg_price + takeProfitPoints * syminfo.mintick
longStopLoss = ema1
shortTakeProfit = strategy.position_avg_price - takeProfitPoints * syminfo.mintick
shortStopLoss = ema1
// Plotting Entry Points
plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Strategy Execution
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
if strategy.position_size > 0
strategy.exit("Take Profit/Stop Loss", "Long", limit=longTakeProfit, stop=longStopLoss)
if strategy.position_size < 0
strategy.exit("Take Profit/Stop Loss", "Short", limit=shortTakeProfit, stop=shortStopLoss)