
Đây là một chiến lược theo dõi xu hướng dựa trên ba đường trung bình di chuyển đơn giản (SMA). Chiến lược này sử dụng mối quan hệ chéo và vị trí của các đường trung bình di chuyển chu kỳ 21, 50 và 100 để xác định xu hướng thị trường và giao dịch vào thời điểm thích hợp. Chiến lược này hoạt động chủ yếu trên khung thời gian 5 phút, đồng thời đề nghị tham khảo biểu đồ 30 phút để xác nhận xu hướng.
Chiến lược sử dụng hệ thống lọc ba lần để xác định tín hiệu giao dịch:
Các điều kiện mua phải được đáp ứng cùng lúc:
Các điều kiện bán hàng phải được đáp ứng:
Đề xuất kiểm soát rủi ro:
Đây là một chiến lược theo dõi xu hướng có cấu trúc, logic rõ ràng. Với bộ lọc ba dòng đồng nhất và cơ chế xác nhận xu hướng, nó có thể làm giảm hiệu quả tín hiệu sai và tăng tỷ lệ thành công của giao dịch. Chiến lược có khả năng mở rộng tốt, có thể điều chỉnh tối ưu hóa theo môi trường thị trường khác nhau.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-06-08 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Vezpa
//@version=5
strategy("Vezpa's Gold Strategy", overlay=true)
// ======================== MAIN STRATEGY ========================
// Input parameters for the main strategy
fast_length = input.int(21, title="Fast MA Length", minval=1)
slow_length = input.int(50, title="Slow MA Length", minval=1)
trend_filter_length = input.int(100, title="Trend Filter MA Length", minval=1)
// Calculate moving averages for the main strategy
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
trend_ma = ta.sma(close, trend_filter_length)
// Plot moving averages
plot(fast_ma, color=color.blue, title="21 MA")
plot(slow_ma, color=color.red, title="50 MA")
plot(trend_ma, color=color.orange, title="100 MA")
// Buy condition: 21 MA crosses above 50 MA AND both are above the 100 MA
if (ta.crossover(fast_ma, slow_ma) and fast_ma > trend_ma and slow_ma > trend_ma)
strategy.entry("Buy", strategy.long)
// Sell condition: 21 MA crosses below 50 MA AND both are below the 100 MA
if (ta.crossunder(fast_ma, slow_ma) and fast_ma < trend_ma and slow_ma < trend_ma)
strategy.close("Buy")
// Plot buy signals as green balloons
plotshape(series=ta.crossover(fast_ma, slow_ma) and fast_ma > trend_ma and slow_ma > trend_ma,
title="Buy Signal",
location=location.belowbar,
color=color.green,
style=shape.labelup,
text="BUY",
textcolor=color.white,
size=size.small,
transp=0)
// Plot sell signals as red balloons
plotshape(series=ta.crossunder(fast_ma, slow_ma) and fast_ma < trend_ma and slow_ma < trend_ma,
title="Sell Signal",
location=location.abovebar,
color=color.red,
style=shape.labeldown,
text="SELL",
textcolor=color.white,
size=size.small,
transp=0)