Эта стратегия представляет собой интеллектуальную торговую систему, основанную на движущихся средних кроссовер сигналах, в сочетании с динамическим механизмом управления прибылью/убытками.
Стратегия работает на основе следующих основных механизмов: 1. Сгенерирование сигналов: торговые сигналы генерируются путем наблюдения за перекрестным переходом между краткосрочными (7-дневными) и долгосрочными (40-дневными) скользящими средними. Сигналы покупки генерируются, когда краткосрочный MA пересекает длительный MA, и сигналы продажи, когда он пересекает ниже. Управление позицией: система использует один механизм позиции, предотвращая несколько входов, пока позиция открыта, чтобы обеспечить эффективное использование капитала. Контроль риска: интегрирует динамическую систему стоп-лосса/тек-прибыли, основанную на цене входа. Стоп-лосс установлен на 1% ниже цены входа, а тек-прибыль - на 2% выше, что позволяет количественно управлять рисками для каждой сделки.
Эта стратегия отслеживает рыночные тенденции с помощью скользящих средних перекрестных значений при реализации управления рисками с помощью динамического контроля прибыли / убытка, демонстрируя сильную практичность.
/*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")