Estratégia de força relativa comparativa

Autora:ChaoZhang, Data: 14 de setembro de 2023
Tags:

Estratégia lógica

A estratégia de força relativa comparativa gera transações comparando a força relativa de dois mercados.

A lógica é:

  1. Selecionar mercado de comparação, por exemplo, uma ação

  2. Selecionar o mercado de referência, por exemplo, o índice S&P 500

  3. Relatório de cálculo do mercado de comparação em relação ao valor de referência

  4. Ir longo a comparação quando o rácio excede o nível de sobrecompra

  5. Caso o índice caia abaixo da zona de sobrevenda

  6. Definir linha de retração para fechar posições quando o preço cair

Comparando a força relativa, a estratégia visa descobrir oportunidades subvalorizadas e evitar condições sobrevalorizadas.

Vantagens

  • Compara a força relativa para encontrar uma subavaliação

  • A linha de retração evita seguir tendências

  • Regras simples e claras

Riscos

  • Seleção das necessidades de referência adequadas

  • As zonas de sobrecompra/supervenda requerem otimização

  • LONG/SHORT só perde todas as oportunidades

Resumo

A estratégia de força relativa identifica as chances de arbitragem comparando dois mercados, mas o ajuste de parâmetros e as estratégias de stop exigem uma avaliação prudente.


/*backtest
start: 2022-09-07 00:00:00
end: 2023-09-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 10/03/2017
// Comparative Relative Strength Strategy for ES
//
// 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("Comparative Relative Strength Strategy", shorttitle="CRS")
a = syminfo.tickerid 
b = input("BTC_USDT:swap") 
len = input(10) 
BuyBand = input(0.9988, step = 0.0001)
SellBand = input(0.9960, step = 0.0001)
CloseBand = input(0.9975, step = 0.0001)
reverse = input(false, title="Trade reverse")
hline(CloseBand, color=blue, linestyle=hline.style_dashed)
hline(SellBand, color=red, linestyle=hline.style_solid)
hline(BuyBand, color=green, linestyle=hline.style_solid)
as = security(a, timeframe.period, close) 
bs = security(b, timeframe.period, close) 
nRes = sma(as/bs, len)
pos = iff(nRes > BuyBand, 1,
	     iff(nRes < SellBand, -1,
	      iff(pos[1] == 1 and nRes < CloseBand, 0,
	       iff(pos[1] == -1 and nRes > CloseBand, 0, 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)	   	 
if (possig == 0)
    strategy.close("Long", when = possig == 0)	 
    strategy.close("Short", when = possig == 0)	 
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(as/bs, title="CRS", color=gray) 
plot(nRes, color=navy)

Mais.