
Chiến lược này là một hệ thống giao dịch dựa trên tín hiệu chéo của đường trung bình di chuyển đơn giản (SMA) chu kỳ 1/2/4 . Bằng cách quan sát chu kỳ ngắn và đường trung bình chu kỳ cùng chiều với đường trung bình chu kỳ dài để nắm bắt các điểm biến của xu hướng thị trường, theo dõi xu hướng và dừng lỗ kịp thời. Chiến lược được thiết kế đơn giản và hiệu quả, dễ hiểu và thực hiện.
Cốt lõi của chiến lược là sử dụng trung bình di chuyển đơn giản của ba chu kỳ khác nhau ((1/ 2⁄4), để xác định tín hiệu mua bằng cách đánh giá xem đường trung bình ngắn hạn ((1 giai đoạn) và trung bình ((2 giai đoạn) có đồng thời đi lên đường trung bình dài hạn ((4 giai đoạn) hay không; ngược lại, khi đường trung bình ngắn hạn và trung bình cùng lúc đi xuống đường trung bình dài hạn, sẽ tạo ra tín hiệu bán. Cơ chế xác nhận đa dạng này có thể làm giảm hiệu quả tín hiệu giả và tăng độ chính xác của giao dịch.
Chiến lược này nắm bắt xu hướng thị trường bằng cách chéo nhiều đường trung bình di chuyển, thiết kế rõ ràng và thực hiện một cách đơn giản và hiệu quả. Mặc dù có một số rủi ro bị tụt hậu và tín hiệu sai, nhưng có thể xây dựng một hệ thống giao dịch hoàn thiện hơn bằng cách tối ưu hóa tham số hợp lý và bổ sung các chỉ số bổ sung.
/*backtest
start: 2024-10-20 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("1/2/4 Moving Average STR 1.0.0", overlay=true)
o_length = input(1, title="1 Closed")
t_length = input(2, title="2 Closed")
f_length = input(4, title="4 Closed")
// Calculate the simple moving averages.
ma_o = ta.sma(close, o_length)
ma_t = ta.sma(close, t_length)
ma_f = ta.sma(close, f_length)
// Plot the moving averages on the chart.
plot(ma_o, color=color.green, title="1 MA")
plot(ma_t, color=color.red, title="2 MA")
plot(ma_f, color=color.blue, title="4 MA")
// Assign the crossover and crossunder results to global variables.
crossover_o = ta.crossover(ma_o, ma_f)
crossover_t = ta.crossover(ma_t, ma_f)
crossunder_o = ta.crossunder(ma_o, ma_f)
crossunder_t = ta.crossunder(ma_t, ma_f)
// Generate signals based on the global crossover variables.
// Buy signal: both 1 and 2 SMAs cross over the 4 SMA on the same bar.
buy_signal = crossover_o and crossover_t
// Sell signal: both 1 and 2 SMAs cross under the 4 SMA on the same bar.
sell_signal = crossunder_o and crossunder_t
// Enter trades based on the signals.
// For a long position, enter on a buy signal and exit when a sell signal occurs.
if buy_signal
strategy.entry("Long", strategy.long)
if sell_signal
strategy.close("Long")
// For a short position, enter on a sell signal and exit when a buy signal occurs.
if sell_signal
strategy.entry("Short", strategy.short)
if buy_signal
strategy.close("Short")