Estratégia de teste de retorno do poder dos touros e dos ursos

Autora:ChaoZhang, Data: 2023-10-24 16:43:52
Tags:

img

Resumo

A estratégia Bull and Bear Power foi desenvolvida pelo Dr. Alexander Elder usando o indicador Elder-ray para medir a pressão de compra e venda no mercado.

Dr. Elder usa uma média móvel exponencial de 13 períodos (EMA) para indicar o consenso do mercado de valor. O poder de touro mede a capacidade dos compradores de impulsionar os preços acima do consenso de valor. O poder de bear reflete a capacidade dos vendedores de impulsionar os preços abaixo do consenso médio de valor.

A potência de touro é calculada subtraindo a EMA de 13 períodos da alta.

Estratégia lógica

A estratégia julga o sentimento do mercado através do cálculo de indicadores de poder de touro e de urso.

  1. Calcular a EMA de 13 períodos como consenso de valor de mercado
  2. Calcular a potência do touro: Alta menos EMA de 13 períodos
  3. Cálculo da potência de baixa: baixa menos MMA de 13 períodos
  4. Comparar a potência de touro e de urso com o limiar para determinar sinais longos e curtos
  5. Opção de negociação de sinais inversos

Quando o poder de touro é superior ao limiar, é sinal longo. Quando o poder de bear é superior ao limiar, é sinal curto.

Análise das vantagens

  1. Simples e intuitivo, usando indicadores de força de touro e de urso para julgar o sentimento do mercado
  2. Configuração flexível dos parâmetros, limiar e período ajustáveis
  3. A opção de negociação reversa adapta-se aos diferentes ambientes de mercado
  4. Utiliza média móvel exponencial, menos sensível aos valores atípicos

Análise de riscos

  1. Tendência a sinais falsos, necessidades de combinação com tendências e outros filtros
  2. Período fixo não pode adaptar-se às alterações do mercado, período adaptativo pode otimizar
  3. Sem stop loss, facilmente perseguindo mercado com grandes perdas
  4. Apenas julga longo ou curto, não tem escolha de tempo

Pode adicionar stop loss, otimizar o período de média móvel, combinar com o filtro de tendência etc.

Orientações de otimização

  1. Otimizar o período da média móvel, utilizar a EMA do período adaptativo
  2. Adicionar filtro de tendência para evitar negociação contra tendência
  3. Adicionar stop loss para controlar a perda de uma única transação
  4. Combinar outros indicadores para escolher um melhor momento de entrada
  5. Utilize o aprendizado de máquina para otimizar parâmetros

Conclusão

A estratégia Bull and Bear Power julga o sentimento do mercado de forma simples e intuitiva com parâmetros configuráveis.


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

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 08/12/2016
// Developed by Dr Alexander Elder, the Elder-ray indicator measures buying 
// and selling pressure in the market. The Elder-ray is often used as part 
// of the Triple Screen trading system but may also be used on its own.
// Dr Elder uses a 13-day exponential moving average (EMA) to indicate the 
// market consensus of value. Bull Power measures the ability of buyers to 
// drive prices above the consensus of value. Bear Power reflects the ability 
// of sellers to drive prices below the average consensus of value.
// Bull Power is calculated by subtracting the 13-day EMA from the day's High. 
// Bear power subtracts the 13-day EMA from the day's Low.
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Elder Ray (Bull Power) Strategy Backtest")
Length = input(13, minval=1)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(0, color=purple, linestyle=line)
xPrice = close
xMA = ema(xPrice,Length)
DayHigh = iff(dayofmonth != dayofmonth[1], high, max(high, nz(DayHigh[1])))
nRes = DayHigh - xMA
pos = iff(nRes > Trigger, 1,
	   iff(nRes < Trigger, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
         iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="Bull Power", style = histogram)

Mais.