Trata-se de uma estratégia de negociação de tendência e inversão baseada em médias móveis simples, que usa o cruzamento de médias móveis de 1 dia e 4 dias para determinar a direção da tendência e gerar sinais de compra e venda.
Quando o MA de 1 dia cruza abaixo do MA de 4 dias, um sinal de venda é gerado. Quando o MA de 1 dia cruza acima do MA de 4 dias, um sinal de compra é gerado. Usando o cruzamento de uma média móvel rápida e lenta para identificar pontos de reversão da tendência, ele visa lucrar.
Após entrar no mercado, são definidos pontos de stop loss e take profit. O stop loss é definido 10 pontos abaixo do preço de entrada. O take profit é definido 100 pontos acima do preço de entrada. Isso pode limitar as perdas e bloquear os lucros.
Os riscos podem ser mitigados através do ajuste de parâmetros, da fixação de paradas dinâmicas, da incorporação de outros indicadores para validação do sinal, etc.
Esta é uma estratégia típica de reversão de MA dupla em geral. Identifica reversões por cruzamento de MA rápido e lento, controla o risco com paradas, simples e prático para entender para iniciantes. Com ajuste de parâmetros e otimizações, pode ser adaptável e adicionar filtros pode melhorá-lo ainda mais. É uma estratégia de início muito boa para aprender.
/*backtest start: 2023-11-19 00:00:00 end: 2023-12-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © cesarpieres72 //@version=5 strategy("300% STRATEGY", overlay=true, margin_long=10, margin_short=10) var float lastLongOrderPrice = na var float lastShortOrderPrice = na longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 4)) if (longCondition) strategy.entry("Long Entry", strategy.long) // Enter long shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 4)) if (shortCondition) strategy.entry("Short Entry", strategy.short) // Enter short if (longCondition) lastLongOrderPrice := close if (shortCondition) lastShortOrderPrice := close // Calculate stop loss and take profit based on the last executed order's price stopLossLong = lastLongOrderPrice - 170 // 10 USDT lower than the last long order price takeProfitLong = lastLongOrderPrice + 150 // 100 USDT higher than the last long order price stopLossShort = lastShortOrderPrice + 170 // 10 USDT higher than the last short order price takeProfitShort = lastShortOrderPrice - 150 // 100 USDT lower than the last short order price // Apply stop loss and take profit to long positions strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong) // Apply stop loss and take profit to short positions strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort)