
Chiến lược này thực hiện giao dịch định lượng mua và bán cổ phiếu bằng cách tính toán XAUUSD ((vàng) với đường chéo giữa đường trung bình di chuyển đơn giản 30 ngày ((MA30) và đường trung bình di chuyển đơn giản 200 ngày ((MA200)). Chiến lược này đồng thời đặt giá dừng lỗ và giá dừng để tự động thanh toán.
Các chỉ số cốt lõi của chiến lược này là MA30 và MA200. Khi MA30 đi qua MA200, tạo ra tín hiệu mua; khi MA30 đi qua MA200, tạo ra tín hiệu bán. Sự giao thoa này được gọi là kim cương vàng và kim cương chết.
Cụ thể, chiến lược này sử dụng kho ta để tính MA30 và MA200. Sau đó, sử dụng hàm ta.crossover và ta.crossunder để đánh giá tình trạng giao chéo của chúng. Khi giao chéo lên (crossover) xảy ra, đặt giá trị longCondition là true để thực hiện giao dịch mua; khi giao chéo xuống (crossover) xảy ra, đặt giá trị shortCondition là true để thực hiện giao dịch bán.
Về thực hiện giao dịch, lệnh mua và bán được đặt ở mức giá dừng lỗ và dừng chân 40.000 điểm. Điều này tương đương với sự thay đổi giá 4.000 điểm trong XAUUSD. Các lệnh sẽ tự động thanh toán khi giá kích hoạt dừng lỗ hoặc dừng chân.
Ngoài ra, chiến lược cũng thiết lập một cơ chế bảo hiểm. Nếu hiện đang nắm giữ nhiều vị thế đầu, sau đó có tín hiệu ngã, sẽ chuyển vị thế thẳng thừng; Nếu hiện đang nắm giữ vị thế đầu trống, sau đó có tín hiệu ngã vàng, cũng sẽ chuyển vị thế thẳng thừng. Điều này có thể tránh chịu tổn thất lớn khi xu hướng đảo ngược.
Đây là một chiến lược theo dõi xu hướng rất đơn giản và trực quan.
Chiến lược này cũng có một số rủi ro:
Để kiểm soát những rủi ro này, các tham số có thể được tối ưu hóa, điều chỉnh độ dừng, lọc tín hiệu đảo ngược, v.v.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Sự ổn định của chiến lược có thể được nâng cao hơn nữa bằng cách điều chỉnh tham số, thêm bộ lọc, quản lý vị trí.
Chiến lược này là một chiến lược chéo trung bình di chuyển đơn giản và thực tế. Nó hoạt động theo chu kỳ thị trường, kiểm soát rủi ro bằng cách thiết lập các lệnh dừng lỗ tự động và các cơ chế bảo hiểm. Chiến lược này dễ hiểu và thực hiện, có thể áp dụng cho nhiều loại giao dịch và thời gian.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia de Cruce de Medias Móviles", overlay=true)
// Medias móviles
ma30 = ta.sma(close, 30)
ma60 = ta.sma(close, 60)
ma200 = ta.sma(close, 200)
// Cruce de medias móviles
crossoverUp = ta.crossover(ma30, ma200)
crossoverDown = ta.crossunder(ma30, ma200)
// Señales de compra y venta
longCondition = crossoverUp
shortCondition = crossoverDown
// Ejecución de órdenes
if (longCondition)
strategy.entry("Buy", strategy.long)
strategy.exit("Cover", "Buy", stop=close - 40.000, limit=close + 40.000)
if (shortCondition)
strategy.entry("Sell", strategy.short)
strategy.exit("Cover", "Sell", stop=close + 40.000, limit=close - 40.000)
// Plot de las medias móviles
plot(ma30, color=color.blue, title="MA 30")
plot(ma60, color=color.orange, title="MA 60")
plot(ma200, color=color.green, title="MA 200")
// Condiciones para cerrar la posición contraria
if (strategy.position_size > 0)
if (crossoverDown)
strategy.close("Buy")
if (strategy.position_size < 0)
if (crossoverUp)
strategy.close("Sell")