
Chiến lược này là một hệ thống giao dịch thông minh dựa trên các tín hiệu giao nhau của đường trung bình động, kết hợp với cơ chế quản lý dừng lỗ và dừng lãi năng động. Cốt lõi của chiến lược này là sử dụng sự giao nhau của hai đường trung bình động đơn giản (SMA) của 7 giai đoạn và 40 giai đoạn để tạo ra các tín hiệu giao dịch, đồng thời tích hợp hệ thống kiểm soát dừng lỗ và dừng lãi dựa trên phần trăm để đạt được mục tiêu quản lý chính xác. của rủi ro giao dịch.
Chiến lược này hoạt động dựa trên các cơ chế cốt lõi sau:
Chiến lược này nắm bắt xu hướng thị trường thông qua đường trung bình động giao nhau và đạt được quản lý rủi ro thông qua lệnh dừng lỗ và dừng lãi động, và có tính thực tế cao. Mặc dù có một số rủi ro về độ trễ nhất định, tính ổn định và lợi nhuận của chiến lược có thể được cải thiện hơn nữa thông qua các hướng tối ưu hóa được đề xuất. Chiến lược này có khả năng tùy chỉnh cao và phù hợp để cải thiện thêm cũng như điều chỉnh theo từng cá nhân.
/*backtest
start: 2024-12-10 00:00:00
end: 2025-01-08 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("Cruzamento de Médias Móveis (Configuração Interativa)", overlay=true)
// Permite que o usuário defina os períodos das médias móveis na interface
periodo_ma7 = input.int(7, title="Período da Média Móvel 7", minval=1)
periodo_ma40 = input.int(40, title="Período da Média Móvel 40", minval=1)
// Definindo as médias móveis com os períodos configuráveis
ma7 = ta.sma(close, periodo_ma7)
ma40 = ta.sma(close, periodo_ma40)
// Parâmetros de stop loss e take profit
stop_loss_pct = input.float(1, title="Stop Loss (%)", minval=0.1) / 100
take_profit_pct = input.float(2, title="Take Profit (%)", minval=0.1) / 100
// Condições para compra e venda
compra = ta.crossover(ma7, ma40)
venda = ta.crossunder(ma7, ma40)
// Impede novas entradas enquanto já houver uma posição aberta
if (compra and strategy.position_size == 0)
strategy.entry("Compra", strategy.long)
// Cálculo do preço de stop loss e take profit
stop_loss_price = strategy.position_avg_price * (1 - stop_loss_pct)
take_profit_price = strategy.position_avg_price * (1 + take_profit_pct)
// Estratégia de saída com stop loss e take profit
strategy.exit("Saída", from_entry="Compra", stop=stop_loss_price, limit=take_profit_price)
// Sinal de venda (fechamento da posição)
if (venda)
strategy.close("Compra")
// Plotando as médias móveis no gráfico
plot(ma7, color=color.blue, title="Média Móvel 7")
plot(ma40, color=color.red, title="Média Móvel 40")
// Plotando o Stop Loss e Take Profit no gráfico
plot(stop_loss_price, color=color.red, style=plot.style_line, linewidth=2, title="Stop Loss")
plot(take_profit_price, color=color.green, style=plot.style_line, linewidth=2, title="Take Profit")