Estratégia Ichimoku Kinko Hyo


Data de criação: 2023-09-24 13:11:38 última modificação: 2023-09-24 13:11:38
cópia: 1 Cliques: 736
1
focar em
1617
Seguidores

Visão geral

A estratégia integra vários indicadores técnicos, como o indicador Ichimoku Kinko Hyo, o Daybreak, a Gross Slippery Moving Average e o MACD, para julgar a direção da tendência e encontrar pontos de entrada mais confiáveis.

Princípio da estratégia

  1. O indicador Ichimoku Kinko Hyo julga: A linha de conversão atravessa a linha de base como um sinal de alerta.

  2. A linha de equilíbrio do dia é a linha de equilíbrio do dia: o preço de fechamento de hoje aumentou em uma certa proporção em relação ao preço de fechamento de ontem, confirmando o sinal de tendência de baixa.

  3. A avaliação da média móvel de Gauss: a linha média acima do preço é vista como um sinal de otimismo.

  4. O julgamento do MACD: A passagem do DEA na linha DIFF é considerada um sinal de pessimismo.

  5. A combinação de vários fatores acima permite avaliar se o mercado está enfrentando uma mudança de tendência e determinar o momento em que mais entradas podem ser vistas.

Vantagens estratégicas

  1. A análise de múltiplos indicadores aumenta a precisão do julgamento.

  2. A confirmação conjunta de julgamentos de dia e de horário permite evitar falhas.

  3. Ichimoku Kinko Hyo é um bom analista de tendências.

  4. A média móvel de Gauss é caracterizada por um atraso menor.

  5. O MACD pode determinar se a dinâmica está a mudar.

Risco estratégico

  1. A multiplicação de condições, com uma menor probabilidade de formação simultânea, pode fazer com que se perca um bom ponto de entrada.

  2. A configuração incorreta dos parâmetros do indicador pode causar um sinal de erro.

  3. O julgamento de um dia pode ser diferente do julgamento de um período de tempo.

  4. A falha pode ainda ocorrer e causar prejuízos.

Métodos de optimização:

  1. Ajustar os parâmetros do indicador para aumentar o tempo de entrada.

  2. Testar diferentes variedades e combinações de parâmetros de ciclo, otimizar os parâmetros.

  3. Otimizar a configuração do intervalo de tempo para que os sinais do intervalo de tempo sejam coordenados.

  4. Configure o Stop Loss Parameter para controlar as perdas individuais.

Direção de otimização da estratégia

  1. Testar combinações de diferentes indicadores para encontrar uma combinação melhor.

  2. Aumentar os algoritmos de aprendizagem de máquina para usar mais dados para melhorar a capacidade de julgamento.

  3. Aumentar a detecção de tendências e evitar negociações adversas.

  4. Otimizar a estratégia de gestão de fundos e torná-la mais sólida.

  5. Optimizar estratégias de stop loss e maximizar o lucro.

Resumir

A estratégia integra vários indicadores para determinar a direção da tendência, para entrar em jogo ao determinar a maior probabilidade de ver mais tempo, para aumentar a precisão do julgamento através de vários períodos de tempo e vários indicadores de verificação conjunta. Pode ser otimizado a partir do ajuste da janela de parâmetros, otimizar a combinação e introduzir mais dados, integrar mais sinais de fatores e obter mais oportunidades de negociação, mantendo uma base estável.

Código-fonte da estratégia
/*backtest
start: 2022-09-17 00:00:00
end: 2023-09-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Ichimoku + Daily-Candle_X + HULL-MA_X + MacD", shorttitle="٩(̾●̮̮̃̾•̃̾)۶", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=26, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0,precision=6)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-500.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=25000.00, title="Target Point in $", type=float, step=1)
ot=1
p = input(7, minval=1, title="Length")
pi=3.1415926535
w=2*pi/p
beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1)
alfa = -beta + sqrt(beta*beta + 2*beta)
ret1= pow(alfa,4)*close+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
ret2= pow(alfa,4)*close[1]+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
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")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = ret1<ret2 and close<ret2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
longCondition = ret1>ret2 and strategy.opentrades<ot and confidence>dt and close>ret2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
//                         /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//a1=plot(n1,color=c)
//a2=plot(n2,color=c)
//plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
//plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
//plot(conversionLine, color=#0496ff, title="Conversion Line")
//plot(baseLine, color=#991515, title="Base Line")
//plot(close, offset = -displacement, color=#459915, title="Lagging Span")
//p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
//p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
//fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart