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

Desvio de preço da estratégia de negociação média diária

Autora:ChaoZhang, Data: 2023-12-15 15:44:18
Tags:

img

Resumo

Esta estratégia de negociação gera sinais de negociação com base em um indicador chamado Ichimoku Kinko Hyo. Ichimoku Kinko Hyo traduz-se literalmente para gráfico de equilíbrio de um olhar. Ele combina as vantagens das médias móveis e indicadores de faixa para identificar a direção da tendência e os níveis de suporte / resistência, sendo assim considerado um indicador abrangente.

A estratégia utiliza as linhas componentes de Ichimoku para determinar a direção e a força da tendência. Os sinais de negociação são gerados quando o preço atravessa o topo ou o fundo da Nuvem.

Estratégia lógica

A estratégia emprega cinco linhas do sistema Ichimoku Kinko Hyo:

  1. Linha Tenkan: média de 9 períodos de mais alta e mais baixa baixa
  2. Linha Kijun: média de 26 períodos de mais alta e mais baixa baixa
  3. Senkou Span A: média da linha Tenkan e da linha Kijun
  4. Senkou Span B: média de 52 períodos da mais alta e da mais baixa baixa
  5. Linha Chikou: média móvel de 26 períodos de atraso de fechamento

A nuvem é a área entre Senkou Span A e Senkou Span B, representando a faixa de tendência atual em geral.

Os sinais de negociação são gerados com base nos seguintes cenários:

  1. Preço quebra acima do topo da nuvem: sinal longo
  2. Preço abaixo do fundo da nuvem: sinal curto
  3. Preço que entra na nuvem por baixo: oportunidade de longo prazo
  4. Preço que entra na nuvem de cima: oportunidade curta de borda a borda

Além disso, a estratégia utiliza o cruzamento Tenkan/Kijun para determinar os níveis de take profit e stop loss.

Vantagens

A maior força desta estratégia reside na capacidade de Ichimoku de determinar a direção da tendência e os níveis de suporte/resistência.

  1. A nuvem identifica a direção da tendência principal, evitando a negociação contra a tendência.
  2. As linhas componentes detectam níveis de suporte/resistência para localizar oportunidades de ruptura.
  3. A entrada de ponta a ponta proporciona mais potencial de lucro.

Além disso, a estratégia inclui o cruzamento Tenkan/Kijun para a obtenção parcial de lucros e o controlo de riscos.

Riscos e Gestão

O principal risco vem de possíveis lacunas nas linhas de Ichimoku causando uma falsa fuga.

As soluções incluem a otimização de parâmetros para reduzir os intervalos de linha descendente ou adicionar filtros para evitar a negociação em zonas variáveis.

Optimização

Vários aspectos da estratégia podem ser melhorados:

  1. Otimize os parâmetros de Ichimoku e ajuste os períodos de média móvel para se adequar a mais símbolos e prazos.

  2. Incorporar confirmação de volume para evitar lacunas que causem falsos sinais.

  3. Adicionar outros indicadores como MACD, RSI para tendências extras e filtros de oscilador.

  4. Melhorar as regras de stop loss e take profit, por exemplo, trailing stop, dimensionamento da posição, etc.

Resumo

Em resumo, este sistema Ichimoku identifica a direção da tendência e as chances de negociação com a nuvem e as linhas componentes.


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

//@version=5
strategy("Ichimoku Cloud", shorttitle="Ichimoku", overlay=true)

previous_close = close[1]

conversionPeriods = input.int(20, minval=1, title="Conversion Line Periods"),
basePeriods = input.int(60, minval=1, title="Base Line Periods")
laggingSpan2Periods = input.int(120, minval=1, title="Lagging Span 2 Periods"),
displacement = input.int(30, minval=1, title="Displacement")

long_entry = input.bool(true, title="Long Entry")
short_entry = input.bool(true, title="Short Entry")
e2e_entry = input.bool(true, title="E2E Entry")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))

tenkan = donchian(conversionPeriods)
kijun = donchian(basePeriods)
spanA = math.avg(tenkan, kijun)
spanB = donchian(laggingSpan2Periods)

plot(tenkan, color=#0496ff, title="Conversion Line")
plot(kijun, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")

p1 = plot(spanA, offset = displacement, color=#459915, title="Lead 1")
p2 = plot(spanB, offset = displacement, color=#991515, title="Lead 2")
fill(p1, p2, color = spanA > spanB ? #459915 : #991515)

ss_high = math.max(spanA[displacement - 1], spanB[displacement - 1])
ss_low = math.min(spanA[displacement - 1], spanB[displacement - 1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
kumo_twist_bull = ta.mom(close, displacement) > 0
kumo_twist_bear = ta.mom(close, displacement) < 0

price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

price_enters_kumo_top = previous_close > ss_high[1] and close < ss_high
price_enters_kumo_bottom = previous_close < ss_low[1] and close > ss_low

bullish = tk_cross_bull and kumo_twist_bull and price_above_kumo
bearish = tk_cross_bear and kumo_twist_bear and price_below_kumo

bullishe2e = price_enters_kumo_bottom // and tk_cross_bull
bearishe2e = price_enters_kumo_top // and tk_cross_bear

price_touches_kumo_top = ta.cross(close, ss_high)
price_touches_kumo_bottom = ta.cross(close, ss_low)

strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.close("Long", when=tk_cross_bear)
strategy.close("Long", when=price_enters_kumo_top)

strategy.entry("Long e2e", strategy.long, when=bullishe2e and e2e_entry)
strategy.close("Long e2e", when=price_touches_kumo_top)
strategy.close("Long e2e", when=price_below_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)

strategy.entry("Short", strategy.short, when=bearish and short_entry)
strategy.close("Short", when=tk_cross_bull)
strategy.close("Short", when=price_enters_kumo_bottom)

strategy.entry("Short e2e", strategy.short, when=bearishe2e and e2e_entry)
strategy.close("Short e2e", when=price_touches_kumo_bottom)
strategy.close("Short e2e", when=price_above_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)


Mais.