Estrategia de Ichimoku Kinko Hyo


Fecha de creación: 2023-09-24 13:11:38 Última modificación: 2023-09-24 13:11:38
Copiar: 0 Número de Visitas: 426
1
Seguir
1141
Seguidores

Descripción general

La estrategia integra varios indicadores técnicos, como el indicador Ichimoku Kinko Hyo, la ruptura de la línea diaria, el promedio móvil liso de Gauss y el indicador MACD, para juzgar la dirección de la tendencia y buscar puntos de entrada más confiables.

Principio de estrategia

  1. El indicador de Ichimoku Kinko Hyo dice: La línea de conversión cruza la línea base como una señal de advertencia.

  2. El juez de la línea de soltura: el precio de cierre de hoy ha subido en cierta medida en comparación con el precio de cierre de ayer, lo que confirma la señal de tendencia alcista.

  3. La media móvil de Gauss: la línea media en el precio se considera una señal de alza.

  4. El juicio del MACD: el cruce de la línea DEA en la línea DIFF se considera una señal positiva.

  5. La combinación de estos múltiples factores determina que el mercado se enfrenta a una conversión de tendencia y determina el momento en que hay más entradas.

Ventajas estratégicas

  1. La combinación de varios indicadores mejora la precisión del juicio.

  2. La coincidencia de los límites de tiempo en el día y en el tiempo no es un error.

  3. Ichimoku Kinko Hyo es un experto en el análisis de tendencias.

  4. Las medias móviles de Gauss tienen una menor latencia.

  5. El MACD puede juzgar el cambio de tendencia.

Riesgo estratégico

  1. Las condiciones múltiples tienen un tiempo relativamente corto de constituirse al mismo tiempo, lo que puede conducir a perder puntos de entrada favorables.

  2. La configuración incorrecta de los parámetros del indicador puede causar una señal errónea.

  3. El juicio dentro de un día puede ser diferente al juicio de varios marcos de tiempo.

  4. La brecha falsa puede ocurrir y causar pérdidas.

El método de optimización correspondiente:

  1. Ajuste de los parámetros del indicador para ampliar el tiempo de entrada.

  2. Prueba de diferentes variedades y combinaciones de parámetros de ciclo, optimización de los parámetros.

  3. Optimización de la configuración de los marcos de tiempo para que las señales de los marcos de tiempo se coordinen.

  4. Establezca un parador de pérdidas para controlar las pérdidas individuales.

Dirección de optimización de la estrategia

  1. Prueba combinaciones de diferentes indicadores para encontrar la mejor combinación.

  2. El aumento de los algoritmos de aprendizaje automático para mejorar la capacidad de juicio utilizando más datos.

  3. Aumentar la detección de tendencias y evitar el comercio en contra.

  4. Optimizar la estrategia de gestión de fondos para que sea más sólida.

  5. Optimizar las estrategias de stop loss y maximizar las ganancias.

Resumir

La estrategia integra varios indicadores para determinar la dirección de la tendencia, entrar en juego al determinar la probabilidad más alta de ver más oportunidades, mejorar la precisión de los juicios mediante la verificación conjunta de varios marcos de tiempo y varios indicadores. Se puede optimizar desde el ajuste de la ventana de parámetros, la combinación de optimización y la introducción de más datos, para integrar más señales de factores y obtener más oportunidades de negociación sobre la base de mantener una base estable.

Código Fuente de la Estrategia
/*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