
Strategi ini adalah sistem perdagangan cerdas berdasarkan sinyal persilangan rata-rata pergerakan, dipadukan dengan mekanisme manajemen stop-profit dan stop-loss yang dinamis. Inti dari strategi ini menggunakan persilangan dua rata-rata pergerakan sederhana (SMA) periode 7 dan periode 40 untuk menghasilkan sinyal perdagangan, dan mengintegrasikan sistem pengendalian stop-profit dan stop-loss berbasis persentase untuk mencapai manajemen risiko perdagangan yang akurat.
Strategi ini beroperasi berdasarkan mekanisme inti berikut:
Strategi ini menangkap tren pasar melalui persilangan rata-rata pergerakan dan mencapai manajemen risiko melalui stop-profit dan stop-loss yang dinamis, dan sangat praktis. Meskipun ada risiko keterlambatan tertentu, stabilitas dan profitabilitas strategi dapat lebih ditingkatkan melalui arahan pengoptimalan yang direkomendasikan. Strategi ini sangat dapat dikonfigurasi dan cocok untuk perbaikan lebih lanjut dan penyesuaian yang dipersonalisasi.
/*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")