
Chiến lược theo dõi xu hướng trung bình di chuyển ngắn hạn và dài hạn là một chiến lược đầu tư định lượng sử dụng kết hợp trung bình di chuyển khác nhau để nắm bắt xu hướng thị trường và giao dịch. Chiến lược này dựa trên trung bình di chuyển ngắn hạn 3 ngày giá thấp nhất, trung bình di chuyển ngắn hạn 3 ngày giá cao nhất và trung bình di chuyển trung bình 30 ngày giá đóng cửa, để đánh giá xu hướng và phát tín hiệu giao dịch bằng cách so sánh giá đóng cửa với vị trí tương đối của ba đường trung bình.
Nguyên tắc cốt lõi của chiến lược này là sử dụng tính chất xu hướng của trung bình di chuyển và mối quan hệ chéo giữa các đường trung bình khác nhau để nắm bắt xu hướng thị trường. Trung bình di chuyển giá thấp nhất và cao nhất 3 ngày ngắn hạn có thể phản ứng nhanh chóng với biến động ngắn hạn của giá, trong khi trung bình di chuyển giá tròn 30 ngày trung bình có thể thể hiện hướng xu hướng ở mức độ lớn hơn.
Khi giá đóng cửa giảm xuống dưới đường trung bình giá thấp nhất trong 3 ngày và cao hơn đường trung bình giá đóng cửa trong 30 ngày, điều này cho thấy có một sự rút lui trong ngắn hạn nhưng xu hướng trung hạn vẫn lạc quan, vào lúc này tham gia nhiều hơn. Và khi giá đóng cửa phá vỡ đường trung bình giá cao nhất trong 3 ngày, thì trong ngắn hạn, động lực động lực suy giảm, và khi đó vị thế bằng phẳng. Bằng cách sử dụng đường trung bình ngắn hạn, chiến lược có thể can thiệp vào xu hướng sớm và rút ra trước khi xu hướng kết thúc.
Chiến lược theo dõi xu hướng trung bình di chuyển ngắn hạn và dài hạn là một chiến lược giao dịch định lượng sử dụng xu hướng để nắm bắt các đường trung bình khác nhau. Nó bằng cách so sánh giá với đường trung bình thấp nhất 3 ngày, đường trung bình cao nhất 3 ngày và đường trung bình 30 ngày.
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Estratégia de Médias Móveis - Entrada/Saída Simples", shorttitle="MM3", overlay=true)
// Parâmetros de entrada para a data de início e final do backtest
var start_date_input = input(title="Data de Início", defval=timestamp("01 Jan 2020 00:00 +0000"))
var end_date_input = input(title="Data Final", defval=timestamp("01 Jan 2021 00:00 +0000"))
// Convertendo as datas de entrada para formato de tempo
start_date = timestamp(year(start_date_input), month(start_date_input), dayofmonth(start_date_input), 0, 0)
end_date = timestamp(year(end_date_input), month(end_date_input), dayofmonth(end_date_input), 23, 59)
// Definindo as Médias Móveis
min_ma_3 = ta.sma(low, 3)
max_ma_3 = ta.sma(high, 3)
close_ma_30 = ta.sma(close, 30)
// Condição de Entrada: Fechamento abaixo da Média de 3 Mínimas e acima da Média de 30 Fechamentos
entry_condition = close < min_ma_3 and close > close_ma_30
// Condição de Saída: Fechamento acima da Média de 3 Máximas
exit_condition = close > max_ma_3
// Sinal de Compra: Entrada na próxima vela após a condição de entrada ser verdadeira
if (entry_condition )
strategy.entry("Buy", strategy.long)
// Sinal de Venda: Saída na próxima vela após a condição de saída ser verdadeira
if (exit_condition)
strategy.close("Buy")
// Plotando as Médias Móveis e os Sinais de Entrada/Saída
plot(min_ma_3, color=color.red, linewidth=2, title="Média de 3 Mínimas")
plot(max_ma_3, color=color.blue, linewidth=2, title="Média de 3 Máximas")
plot(close_ma_30, color=color.orange, linewidth=2, title="Média de 30 Fechamentos")