Estratégia de day trading baseada em Ichimoku Kinko Hyo


Data de criação: 2023-10-16 16:10:55 última modificação: 2023-10-16 16:10:55
cópia: 0 Cliques: 728
1
focar em
1617
Seguidores

Estratégia de day trading baseada em Ichimoku Kinko Hyo

Visão geral

A estratégia utiliza a linha de equilíbrio inicial para a negociação de ações durante o dia e é uma estratégia de negociação de curta distância. Utiliza a combinação de linha de equilíbrio inicial de conversão, linha de referência e linha de liderança para julgar sinais de compra e venda e é auxiliada pela linha de SAR para o rastreamento de perdas, para obter proteção dupla.

Princípios

A linha de equilíbrio de primeira vista é composta por uma linha de conversão, uma linha de referência, uma linha de conversão anterior e uma linha de conversão anterior. A linha de conversão é a média entre o preço de fechamento do dia e o preço máximo dos últimos 9 dias, refletindo a equilíbrio do preço da ação no período mais recente. A linha de referência é a média entre o preço mínimo dos últimos 26 dias, representando a equilíbrio do preço a médio e longo prazo.

Quando o preço de fechamento quebra a linha de base abaixo e está acima da linha 2 anterior, gera um sinal de compra. Quando o preço de fechamento cai acima da linha de base e está abaixo da linha 1 anterior, gera um sinal de venda. A linha SAR de paralelo é usada para rastrear o stop loss e emite um sinal de stop loss quando o preço está abaixo da SAR.

A estratégia utiliza uma combinação de linhas de equilíbrio para determinar a tendência futura do preço das ações e a continuidade da tendência atual. É uma estratégia típica de acompanhamento de tendências.

Vantagens

  1. A utilização de linhas de equilíbrio para avaliar tendências futuras, aumentando a precisão do julgamento

As linhas de equilíbrio contêm informações sobre preços de diferentes períodos e podem refletir mudanças de tendência com antecedência, aumentando a precisão com o uso de julgamentos combinados. Em comparação com um único indicador, pode determinar com mais precisão os pontos de compra e venda.

  1. Segurança SAR, Segurança Dupla

A SAR permite a flexibilidade de acompanhar a operação das ações e fazer um stop loss. Combinado com a linha de equilíbrio, pode parar os perdas em tempo hábil após o lucro, evitando a expansão dos perdas.

  1. Definição de parâmetros simples e fácil de implementar

A estratégia tem poucos parâmetros, não depende de indicadores técnicos complexos, como a curva de adequação, é simples, prática e fácil de implementar. O valor padrão dos parâmetros pode ser bastante eficaz.

  1. Aplica-se a transações intradiárias de linha curta

A estratégia de negociação de curta distância consiste em usar a variação do preço do dia para determinar os pontos de compra e venda.

Riscos

  1. Risco de retirada

Seguir a tendência de compra e venda traz um retorno mais alto. É necessário definir um ponto de parada razoável para controlar os prejuízos individuais.

  1. Risco de uma crise

Em situações de tremores, os sinais gerados pela linha de equilíbrio podem ser frequentes e prejudiciais para o lucro. Os parâmetros podem ser adequadamente ajustados, filtrando alguns sinais.

  1. Riscos de otimização

Os parâmetros simples são fáceis de otimizar demais, e os efeitos em disco rígido podem ser inadequados. Testes de estabilidade devem ser realizados para evitar o excesso de ajuste.

  1. Diferenças entre os indicadores de efeito

O efeito está relacionado com a escolha do acionista, deve-se escolher ações de tendência óbvia para negociar, para que a estratégia tenha o máximo de efeito.

Direção de otimização

  1. Combinação com outros indicadores de filtragem

Pode ser combinado com outros indicadores como a média móvel para filtrar alguns sinais de incerteza e evitar transações virtuais.

  1. Ponto de parada de ajuste dinâmico

Os parâmetros do SAR podem ser ajustados dinamicamente de acordo com a volatilidade do mercado, tornando o stop loss mais flexível.

  1. Combinação de parâmetros de otimização

Pode-se melhorar a eficácia da estratégia por meio de otimização mais sistemática e teste de combinação para encontrar melhores combinações de parâmetros.

  1. Manutenção de posições de acordo com o cenário de mercado

Pode ser adaptado de forma dinâmica estratégias de posição e posições de acordo com o cenário de mercado, tais como grandes movimentos de mercado, controlar o risco.

Resumir

A estratégia usa o sinal de compra e venda da linha de equilíbrio, em conjunto com a linha de paralelo SAR para realizar o rastreamento de perdas, é uma estratégia de negociação de linha curta mais simples e prática. Utiliza efetivamente a função da linha de equilíbrio para prever tendências futuras, fazendo operações de compra e venda em rupturas. Ao mesmo tempo, o mecanismo de parada evita o aumento de perdas.

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

//@version=3
//
//  Based on the trading strategy described at
//    http://stockcharts.com/school/doku.php?id=chart_school:trading_strategies:ichimoku_cloud
//
//  See Also:
//    - Backtesting and forwardtesting (of TradingView Strategies) <https://www.tradingview.com/wiki/Strategies#Backtesting_and_forwardtesting>
//    - 9 Mistakes Quants Make that Cause Backtests to Lie <https://blog.quantopian.com/9-mistakes-quants-make-that-cause-backtests-to-lie-by-tucker-balch-ph-d/>
//    - When Backtests Meet Reality <http://financial-hacker.com/Backtest.pdf>
//    - Why MT4 backtesting does not work <http://www.stevehopwoodforex.com/phpBB3/viewtopic.php?f=28&t=4020>
//
// 
// -----------------------------------------------------------------------------
// Copyright 2018 sherwind
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// The GNU General Public License can be found here
// <http://www.gnu.org/licenses/>.
//
// -----------------------------------------------------------------------------
//

strategy(title="Ichimoku Cloud Strategy", shorttitle="Ichimoku Strategy", overlay=true, pyramiding=3)

conversionPeriods   = input(9,  minval=1, title="Conversion Line Periods"),
basePeriods         = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement        = input(26, minval=1, title="Displacement")

usePSARTrailStop    = input(true, title="Use Parabolic SAR for Trailing Stop")
psarStart           = input(0.02, title="Parabolic SAR Start")
psarIncrement       = input(0.02, title="Parabolic SAR Increment")
psarMaximum         = input(0.2,  title="Parabolic SAR Maximum")


donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine  = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
leadLineDisp1 = leadLine1[displacement]
leadLineDisp2 = leadLine2[displacement]

psar = sar(psarStart, psarIncrement, psarMaximum)

// BUY Signal:
// close > leading span b and
// leading span a > leading span b and 
// close crosses over base line and
// close > parabolic sar
buySignal = close > leadLineDisp2 and
  leadLineDisp1 > leadLineDisp2 and
  crossover(close, baseLine) and
  (usePSARTrailStop ? close > psar : not usePSARTrailStop)

// Sell Signal:
// close < leading span a and 
// leading span a < leading span b and 
// close crosses under base line and
// close < psar
sellSignal = close < leadLineDisp1 and
  leadLineDisp1 < leadLineDisp2 and
  crossunder(close, baseLine) and
  (usePSARTrailStop ? close < psar : not usePSARTrailStop)

hasLong  = strategy.position_size > 0
hasShort = strategy.position_size < 0


strategy.entry("ichimoku-long", strategy.long, when = buySignal)
strategy.entry("ichimoku-short", strategy.short, when = sellSignal)

strategy.exit("trailstop-long", "ichimoku-long", stop = psar, when = hasLong and usePSARTrailStop)
strategy.exit("trailstop-short", "ichimoku-short", stop = psar, when = hasShort and usePSARTrailStop)