Strategi ini adalah sistem dagangan pintar berdasarkan isyarat crossover purata bergerak, digabungkan dengan mekanisme pengurusan keuntungan / kerugian dinamik. Strategi teras menggunakan silang purata bergerak mudah (SMA) 7-period dan 40-period untuk menjana isyarat dagangan, sambil mengintegrasikan sistem kawalan stop-loss dan mengambil keuntungan berasaskan peratusan untuk pengurusan risiko yang tepat.
Strategi ini beroperasi berdasarkan mekanisme teras berikut: 1. Generasi Isyarat: Isyarat perdagangan dihasilkan dengan memerhatikan persilangan antara purata bergerak jangka pendek (7 hari) dan jangka panjang (40 hari). Isyarat beli dihasilkan apabila MA jangka pendek melintasi di atas MA jangka panjang, dan isyarat jual apabila melintasi di bawah. 2. Pengurusan Kedudukan: Sistem ini menggunakan mekanisme kedudukan tunggal, menghalang pelbagai entri semasa kedudukan terbuka untuk memastikan penggunaan modal yang berkesan. 3. Kawalan Risiko: Mengintegrasikan sistem stop-loss / take-profit dinamik berdasarkan harga kemasukan. Stop-loss ditetapkan pada 1% di bawah harga kemasukan, dan mengambil keuntungan pada 2% di atas, yang membolehkan pengurusan risiko yang berjumlah bagi setiap perdagangan.
Strategi ini menangkap trend pasaran melalui persilangan purata bergerak sambil melaksanakan pengurusan risiko melalui kawalan keuntungan / kerugian dinamik, menunjukkan kepraktisan yang kuat. Walaupun terdapat risiko kelewatan yang melekat, arah pengoptimuman yang dicadangkan dapat meningkatkan kestabilan dan keuntungan strategi. Konfigurasi tinggi strategi menjadikannya sesuai untuk penyempurnaan dan penyesuaian lanjut.
/*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")