Estratégia de negociação de Bitcoin baseada em Ichimoku Kinko Hyo


Data de criação: 2024-01-31 11:06:02 última modificação: 2024-01-31 11:06:02
cópia: 0 Cliques: 653
1
focar em
1617
Seguidores

Estratégia de negociação de Bitcoin baseada em Ichimoku Kinko Hyo

Visão geral

Esta estratégia é uma estratégia de negociação de Bitcoin baseada no indicador de tabela de equilíbrio de primeira vista. Ela forma uma tabela de equilíbrio calculando a média dos preços mais altos e mais baixos dos diferentes períodos, gerando um sinal de negociação quando a linha de curto período atravessa a linha de longo período.

Princípio da estratégia

A estratégia usa um indicador de tabela de equilíbrio de primeira vista, com a seguinte fórmula de cálculo:

Lmax = maior preço no período_max

Smax = preço mínimo no período_max

Lmed = maior preço no período

Smed = menor preço no período

Lmin = preço máximo no período_min

Smin = preço mínimo no período_min

HL1 = (Lmax + Smax + Lmed + Smed)/4

HL2 = (Lmed + Smed + Lmin + Smin)/4

Ou seja, calcular o preço de equilíbrio da linha de longo período HL1 e da linha de curto período HL2, respectivamente. Quando a linha de curto período HL2 atravessa a linha de longo período HL1, faça mais; Quando a linha de curto período HL2 atravessa a linha de longo período HL1, equilibre a posição.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O uso de indicadores de balanço de primeira vista pode filtrar o ruído do mercado e identificar tendências.
  2. O uso de cruzamentos de diferentes linhas de ciclo como sinais de transação pode reduzir os sinais falsos.
  3. A lógica da estratégia é simples, clara, fácil de entender e de implementar.
  4. Parâmetros de ciclo personalizáveis para diferentes cenários de mercado.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. O indicador de equilíbrio inicial está atrasado, podendo perder o sinal de curto prazo.
  2. Quando as linhas de curto e longo período se cruzam, é fácil ser arbitragem.
  3. Os sinais emitidos pelo indicador podem não ser confiáveis quando o mercado está em alta.

Estes riscos podem ser reduzidos através de uma apropriada otimização dos parâmetros do ciclo ou em combinação com outros indicadores.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Optimizar os parâmetros de longo e curto período, adaptando-se às mudanças do mercado.
  2. Aumentar as estratégias de stop loss e controlar os prejuízos.
  3. Em combinação com outros indicadores, como o MACD, aumenta a precisão do sinal.
  4. Suspender a negociação durante os períodos de alta volatilidade para evitar grandes perdas.

Resumir

Esta estratégia é baseada em um indicador de balanço de primeira vista, que gera um sinal de negociação quando a linha de curto prazo quebra a linha de longo prazo. Comparado a um único indicador, ele pode filtrar efetivamente os falsos sinais. A estabilidade e a lucratividade da estratégia podem ser aumentadas ainda mais com a otimização de parâmetros e o controle de risco.

Código-fonte da estratégia
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Alferow

//@version=4
strategy("BTC_ISHIMOKU", overlay=true)

period_max = input(20, minval = 1)
period_med = input(10, minval = 1)
period_min = input(16, minval = 1)

Lmax = highest(high, period_max)
Smax = lowest(low, period_max)

Lmed = highest(high, period_med)
Smed = lowest(low, period_med)

Lmin = highest(high, period_min)
Smin = lowest(low, period_min)

HL1 = (Lmax + Smax + Lmed + Smed)/4
HL2 = (Lmed + Smed + Lmin + Smin)/4

p1 = plot(HL1, color = color.red, linewidth = 2)
p2 = plot(HL2, color = color.green, linewidth = 2)

fill(p1, p2, color = HL1 < HL2 ? color.green : color.red, transp = 90)

start = timestamp(input(2020, minval=1), 01, 01, 00, 00)
finish = timestamp(input(2025, minval=1),01, 01, 00, 00)
trig = time > start and time < finish ? true : false

strategy.entry("Long", true, when = crossover(HL2, HL1) and trig)
// strategy.entry("Short", false, when = crossunder(HL2, HL1) and trig)
strategy.close("Long", when = crossunder(HL2, HL1) and trig)