
Strategi ini ialah sistem perdagangan pintar berdasarkan isyarat persilangan purata bergerak, digabungkan dengan mekanisme pengurusan henti untung dan henti rugi yang dinamik. Teras strategi menggunakan silang dua purata bergerak mudah (SMA) 7 tempoh dan 40 tempoh untuk menjana isyarat dagangan, dan pada masa yang sama menyepadukan sistem kawalan henti untung dan henti rugi berasaskan peratusan untuk mencapai pengurusan yang tepat daripada risiko perdagangan.
Strategi ini beroperasi berdasarkan mekanisme teras berikut:
Strategi ini menangkap arah aliran pasaran melalui pindah silang purata bergerak dan mencapai pengurusan risiko melalui henti untung dan henti rugi dinamik, dan sangat praktikal. Walaupun terdapat risiko ketinggalan tertentu, kestabilan dan keuntungan strategi boleh dipertingkatkan lagi melalui arahan pengoptimuman yang disyorkan. Strategi ini sangat boleh dikonfigurasikan dan sesuai untuk penambahbaikan selanjutnya dan pelarasan diperibadikan.
/*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")