
Chiến lược chéo hai đường trung bình là một chiến lược theo dõi xu hướng cổ điển. Chiến lược này sử dụng trung bình di chuyển của hai chu kỳ khác nhau để nắm bắt xu hướng thị trường, tạo ra tín hiệu đa khi đi qua đường trung bình chậm trên đường trung bình nhanh và tạo ra tín hiệu trống khi đi qua đường trung bình chậm dưới đường trung bình nhanh. Ý tưởng cốt lõi của chiến lược này là đường trung bình nhanh nhạy cảm hơn với sự thay đổi của giá và phản ứng nhanh hơn với sự thay đổi của xu hướng thị trường, trong khi đường trung bình chậm phản ứng với xu hướng dài hạn của thị trường.
Trong mã chiến lược, hai đường trung bình di chuyển được sử dụng, một là đường trung bình di chuyển nhanh (từ 14 đến 28). Các loại đường trung bình di chuyển có thể được lựa chọn là đường trung bình di chuyển đơn giản (SMA), đường trung bình di chuyển chỉ số (EMA), đường trung bình di chuyển có trọng lượng (WMA) và đường trung bình di chuyển tương đối (RMA).
Lý luận chính của chiến lược này là:
Với logic như vậy, chiến lược có thể theo dõi xu hướng chính của thị trường, giữ nhiều vị trí đầu vào trong xu hướng tăng, giữ vị trí đầu trống hoặc chờ vị trí trống trong xu hướng giảm. Chu kỳ và loại đường trung bình có thể được điều chỉnh và tối ưu hóa theo các thị trường và loại giao dịch khác nhau.
Các biện pháp sau đây có thể được áp dụng để đối phó với những rủi ro này:
Những tối ưu hóa này có thể làm tăng khả năng thích ứng và ổn định của chiến lược, thích ứng tốt hơn với các tình trạng thị trường khác nhau. Tuy nhiên, cũng cần lưu ý rằng tối ưu hóa quá mức có thể dẫn đến chiến lược quá phù hợp, không hoạt động tốt trong thực tế. Cần xác minh thêm trong dữ liệu ngoài mẫu.
Chiến lược giao chéo hai đường đều là một chiến lược theo dõi xu hướng cổ điển, tạo ra tín hiệu giao dịch thông qua sự giao chéo của các đường trung bình di chuyển trong hai chu kỳ khác nhau. Nó có logic đơn giản, dễ thực hiện và phù hợp với thị trường xu hướng. Tuy nhiên, trong thị trường bất ổn, có thể có giao dịch thường xuyên và mất mát liên tục. Do đó, khi sử dụng chiến lược này, bạn cần tối ưu hóa tham số chu kỳ đường đều và thiết lập lệnh dừng hợp lý cho các đặc điểm của thị trường. Ngoài ra, bạn cũng có thể nâng cao khả năng thích ứng và ổn định của chiến lược bằng cách giới thiệu nhiều chỉ số kỹ thuật, tối ưu hóa quản lý vị trí, cách đánh giá xu hướng, v.v.
/*backtest
start: 2024-02-09 00:00:00
end: 2024-03-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © z4011
//@version=5
strategy("#2idagos", overlay=true, margin_long=100, margin_short=100)
allowShorting = input.bool(true, "Allow Shorting")
fastMALength = input.int(14, "Fast MA Length")
slowMALength = input.int(28, "Slow MA Length")
fastMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
slowMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
float fastMA = switch fastMAType
"Simple" => ta.sma(close, fastMALength)
"Exponential" => ta.ema(close, fastMALength)
"Weighted" => ta.wma(close, fastMALength)
"Relative" => ta.rma(close, fastMALength)
plot(fastMA, color = color.aqua, linewidth = 2)
float slowMA = switch slowMAType
"Simple" => ta.sma(close, slowMALength)
"Exponential" => ta.ema(close, slowMALength)
"Weighted" => ta.wma(close, slowMALength)
"Relative" => ta.rma(close, slowMALength)
plot(slowMA, color = color.blue, linewidth = 2)
longCondition = ta.crossover(fastMA, slowMA)
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = ta.crossunder(fastMA, slowMA) and allowShorting
if (shortCondition)
strategy.entry("Short", strategy.short)
closeCondition = ta.crossunder(fastMA, slowMA) and not allowShorting
if (closeCondition)
strategy.close("Long", "Close")