Esta é uma estratégia de negociação de curto prazo que emite sinais de compra e venda com base em mudanças de 0,5% no preço de fechamento de Heikin-Ashi.
A lógica central desta estratégia é a seguinte:Ir longo quando o preço de fechamento de Heikin-Ashi sobe 0,5% em comparação com o candelabro anterior; Ir curto quando o preço de fechamento de Heikin-Ashi cai 0,5% em comparação com o candelabro anterior.
Em especial, a estratégia calcula primeiro a variação percentual entre o preço de fechamento atual e o preço de fechamento anterior, ou seja,priceChange = close / close[1] - 1
Se...priceChange >= 0.005
, é emitido um sinal longo.priceChange <= -0.005
, é emitido um sinal curto.
Quando emitir sinais, a estratégia também julga se há uma posição existente. Se já estiver em posição (longa ou curta), nenhum sinal será repetido. Se não houver posição, emitirá sinais de posição aberta com base nas condições de compra ou venda.
Por fim,plotshape
é utilizado para marcar os sinais de compra e venda no gráfico.
Os principais aspectos para otimizar esta estratégia:
Em resumo, este é um parâmetro muito simples, baixo, fácil de entender estratégia de negociação de curto prazo. Ele capta mudanças de preço extremamente rápido, adequado para os comerciantes de alta frequência. Mas também precisa controlar o número de negócios para reduzir custos. Com vários métodos de otimização, ele pode alcançar resultados ainda melhores.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Heikin-Ashi - Change 0.5% short Time Period", shorttitle="Heikin-Ashi - Change 0.5% short Time Period", overlay=true) // Calculate 0.5% price change priceChange = close / close[1] - 1 // Buy and Sell Signals buyp = priceChange >= 0.005 sellp = priceChange <= -0.005 // Initialize position and track the current position var int position = na // Strategy entry conditions buy_condition = buyp and (na(position) or position == -1) sell_condition = sellp and (na(position) or position == 1) if buy_condition strategy.entry("Buy", strategy.long) position := 1 if sell_condition strategy.entry("Sell", strategy.short) position := -1 // Plot Buy and Sell signals using plotshape plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)