A busca mecânica de sinais de cruzamento MA sem julgar as condições do mercado e as características das ações pode levar a baixa rentabilidade ou altos custos de transação por excesso de negociação.
Esta estratégia projeta uma abordagem de negociação de curto prazo direta baseada no princípio de cruzamento de MA. Ao harmonizar os pontos fortes de MA de curto período e MA de longo período, considera as recentes evoluções de preços e as tendências de longo prazo para produzir sinais de negociação de alta qualidade.
/*backtest start: 2023-12-19 00:00:00 end: 2024-01-18 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Intraday MA Crossover Strategy", overlay=true) // Define MA lengths maLengthShort = input.int(9, title="Short MA Length", minval=1) maLengthLong = input.int(21, title="Long MA Length", minval=1) // Calculate MAs maShort = ta.sma(close, maLengthShort) maLong = ta.sma(close, maLengthLong) // Plot MAs on the chart plot(maShort, color=color.blue, title="Short MA") plot(maLong, color=color.red, title="Long MA") // Generate Buy Signal (Golden Cross: Short MA crosses above Long MA) buySignal = ta.crossover(maShort, maLong) strategy.entry("Buy", strategy.long, when=buySignal) // Generate Sell Signal (Death Cross: Short MA crosses below Long MA) sellSignal = ta.crossunder(maShort, maLong) strategy.entry("Sell", strategy.short, when=sellSignal) // Set stop loss and take profit levels stopLossPercent = input.float(1, title="Stop Loss %", minval=0.1, maxval=5) takeProfitPercent = input.float(1, title="Take Profit %", minval=0.1, maxval=5) strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=close * stopLossPercent / 100, profit=close * takeProfitPercent / 100) strategy.exit("Take Profit/Stop Loss", from_entry="Sell", loss=close * stopLossPercent / 100, profit=close * takeProfitPercent / 100)