O recurso está a ser carregado... Carregamento...

Estratégia SMA e PSAR para negociação à vista

Autora:ChaoZhang, Data: 2023-12-18 10:31:31
Tags:

img

Resumo

Esta estratégia é chamada de SMA e PSAR Spot Trading Strategy. Combina as vantagens da Simple Moving Average (SMA) e Parabolic SAR (PSAR) para determinar a direção da tendência do mercado e gerar sinais de negociação. Quando a SMA mostra uma tendência ascendente e o PSAR está abaixo do preço, é considerado como um momento de compra. Quando a SMA mostra uma tendência descendente e o PSAR está acima do preço, é considerado como um momento de venda.

Estratégia lógica

A estratégia usa a SMA de 100 períodos para determinar a direção geral da tendência. Quando o preço de fechamento quebra a SMA 100 para cima, é definido como uma tendência de alta. Quando o preço de fechamento quebra a SMA 100 para baixo, é definido como uma tendência de queda.

Ao mesmo tempo, o indicador PSAR é calculado para determinar pontos de entrada detalhados. O valor inicial do PSAR é definido em 0,02, o valor de incremento é 0,01, e o valor máximo é 0,2.

Em resumo, quando julgado como uma tendência ascendente, se o PSAR for inferior ao preço de fechamento, um sinal de compra é gerado.

Para reduzir o risco de negociação, a estratégia também define saídas de tempo para fechar posições após 5 minutos.

Análise das vantagens

Esta estratégia combina indicadores SMA e PSAR para determinar tendências e pontos de entrada, o que pode utilizar efetivamente as vantagens de ambos os indicadores para melhorar a precisão da decisão.

Além disso, a definição de saídas de tempo ajuda a controlar os riscos de negociações individuais e evitar perdas excessivas.

Análise de riscos

  • A SMA e o PSAR podem gerar sinais incorretos, levando a perdas comerciais desnecessárias.

  • O tempo de saída é curto, pode não capturar completamente os movimentos da tendência.

  • As definições dos parâmetros (por exemplo, período SMA, parâmetros PSAR, etc.) podem não ser adequadas a alguns produtos específicos, necessitando de otimização.

  • Os riscos de ajustamento da curva de backtest.

Orientações de otimização

  • Teste diferentes parâmetros de período SMA para encontrar valores mais adequados para produtos específicos.

  • Teste e otimize os parâmetros do PSAR para que ele julgue as entradas detalhadas com mais precisão.

  • Prorrogar os parâmetros de saída do tempo, aumentando adequadamente o tempo de detenção na premissa de obter lucros suficientes.

  • Adicionar estratégias de stop loss para controlar melhor a perda máxima por negociação.

Conclusão

Esta estratégia usa de forma abrangente indicadores como SMA e PSAR para determinar tendências de mercado e pontos de entrada, o que é estável e confiável, adequado para a maioria dos ambientes de mercado. Enquanto isso, a definição de saídas de tempo ajuda a controlar os riscos. Esta estratégia pode ser melhorada através de otimização de parâmetros, estratégias de stop loss, etc. para obter um melhor desempenho ao vivo.


/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="SMA and Parabolic SAR Strategy with Time-Based Exit", shorttitle="SMA+PSAR", overlay=true)

// Define the parameters for the Parabolic SAR
psarStart = 0.02
psarIncrement = 0.01
psarMax = 0.2

// Calculate the 100-period SMA
sma100 = sma(close, 1000)

// Calculate the Parabolic SAR
sar = sar(psarStart, psarIncrement, psarMax)

// Determine the trend direction
isUpTrend = close < sma100

// Buy condition: Up trend and SAR below price
buyCondition = isUpTrend and sar < close

// Sell condition: Down trend and SAR above price
sellCondition = not isUpTrend and sar > close

// Plot the SMA and Parabolic SAR
plot(sma100, color=color.blue, title="100-period SMA")
plot(sar, color=color.red, title="Parabolic SAR")

// Plot buy and sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy entry
strategy.entry("Buy", strategy.long, when = buyCondition)

// Time-based exit after 5 minutes
strategy.exit("Close Buy", from_entry = "Buy", when = time[0] > timestamp(year, month, dayofmonth, hour, minute + 5))

strategy.entry("Sell", strategy.short, when = sellCondition)

// Time-based exit after 5 minutes
strategy.exit("Close Sell", from_entry = "Sell", when = time[0] > timestamp(year, month, dayofmonth, hour, minute + 5))


Mais.