Trata-se de uma estratégia de negociação de ouro no período M5 baseada na combinação de indicadores técnicos Parabolic SAR, CCI e EMA. Utiliza três indicadores diferentes para identificar a direção da tendência e situações de sobrecompra/supervenda de ouro para capturar oportunidades de negociação durante os recuos do mercado.
O SAR parabólico é usado para determinar a direção da tendência e os pontos de reversão potenciais do ouro.
O CCI indica as condições de sobrecompra/supervenda do mercado. Um CCI acima de 100 sugere uma tendência ascendente em fortalecimento, enquanto um CCI abaixo de -100 sugere uma tendência descendente em fortalecimento.
Os crossovers da EMA sinalizam pontos de virada de curto prazo do preço.
Regras de entrada: Vão longos quando o SAR cruza a EMA de 5 minutos em direção ascendente e o CCI é superior a 100; vão curtos quando o SAR cruza a EMA de 5 minutos em direção descendente e o CCI é inferior a -100.
Regras de saída: Obter lucro no preço de entrada + 7 ticks, Stop loss definido na linha EMA de 1 minuto.
Utiliza 3 indicadores para identificar tendências e níveis de apoio/resistência principais, melhorando a rentabilidade.
O CCI filtra as falsas rupturas de forma eficiente. As inversões SAR combinadas com a direção da tendência evitam entradas desnecessárias durante as consolidações.
Os crossovers da EMA com a SAR oferecem entradas de baixo risco durante os retrabalhos temporários.
Parâmetros otimizados adequados para commodities voláteis como ouro e pequenas contas.
Baseia-se principalmente em indicadores técnicos que podem falhar durante eventos de cisne negro.
Commodity volátil, EMA stop loss propenso a ser atingido por picos resultando em grandes perdas.
A Comissão considera que a medida de auxílio não pode ser considerada como uma medida de auxílio estatal.
As falhas do sistema durante movimentos voláteis podem impedir a execução efetiva de stop loss.
Teste diferentes combinações de parâmetros para otimizar o CCI para as características do ouro.
Incorporar mais indicadores como padrões de velas, Bandas de Bollinger para melhorar a robustez.
Empregar o aprendizado de máquina para a otimização dinâmica dos parâmetros SAR, adaptando-se aos mercados em evolução.
Teste diferentes mecanismos de stop loss, por exemplo, trailing stops, para reduzir a probabilidade de ser atingido.
Otimizar os modelos de dimensionamento de posições, por exemplo, dimensionamento de posições dinâmico e fracionário fixo para controlar o montante das perdas de uma única transação.
Em geral, uma estratégia de negociação de ouro estável que combina múltiplos indicadores para identificar tendências, níveis de suporte / resistência e zonas de sobrecompra / sobrevenda para entradas de baixo risco durante os retracements. Parâmetros otimizados permitem que a negociação de pequenas contas capitalize a alta volatilidade do ouro. Tem riscos que podem ser abordados através de um gerenciamento de risco adequado. Potencial significativo para melhorar ainda mais a estabilidade e a lucratividade através do aprimoramento.
/*backtest start: 2022-11-30 00:00:00 end: 2023-12-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Parabolic SAR and CCI Strategy with EMA Exit", overlay=true) // Parameters length = input(50, title="EMA Length") length_21 = input(21, title="EMA Length 21") acc = input(0.02, title="Acceleration Factor") max_acc = input(0.2, title="Max Acceleration Factor") takeProfitPoints = input(7, title="Take Profit Points") // Variables var float ep = 0.0 var float sar = 0.0 var float af = acc // Calculating 5-minute EMA based on 1-minute data var float sum_close = na var float ema_5min = na if (bar_index % 5 == 0) sum_close := 0.0 for i = 0 to 4 sum_close := sum_close + close[i] ema_5min := ema(sum_close / 5, length_21) // Calculating 1-minute EMA ema1 = ema(close, length) cci = cci(close, 45) // Custom Parabolic SAR Calculation trendUp = close > ema1 trendDown = close < ema1 var float prev_sar = na prev_sar := na(sar[1]) ? low[1] : sar[1] if trendUp ep := high > ep ? high : ep af := min(af + acc, max_acc) sar := min(prev_sar, prev_sar + af * (ep - prev_sar)) if trendDown ep := low < ep ? low : ep af := min(af + acc, max_acc) sar := max(prev_sar, prev_sar + af * (ep - prev_sar)) // Entry Conditions longCondition = sar > ema1 and ema1 > ema_5min and cci > 100 shortCondition = sar < ema1 and ema1 < ema_5min and cci < -100 // Exit Conditions longTakeProfit = strategy.position_avg_price + takeProfitPoints * syminfo.mintick longStopLoss = ema1 shortTakeProfit = strategy.position_avg_price - takeProfitPoints * syminfo.mintick shortStopLoss = ema1 // Plotting Entry Points plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Strategy Execution if longCondition strategy.entry("Long", strategy.long) if shortCondition strategy.entry("Short", strategy.short) if strategy.position_size > 0 strategy.exit("Take Profit/Stop Loss", "Long", limit=longTakeProfit, stop=longStopLoss) if strategy.position_size < 0 strategy.exit("Take Profit/Stop Loss", "Short", limit=shortTakeProfit, stop=shortStopLoss)