ICH Cloud aporta una estrategia de reversión


Fecha de creación: 2023-10-27 16:36:59 Última modificación: 2023-10-27 16:36:59
Copiar: 2 Número de Visitas: 896
1
Seguir
1617
Seguidores

ICH Cloud aporta una estrategia de reversión

Descripción general

La estrategia Ichimoku Kumo Twist utiliza la línea de conversión, la línea de referencia y la línea de guía del indicador Ichimoku para construir señales de negociación y es una estrategia de seguimiento de tendencias. Busca el punto de inflexión de la tendencia a corto y mediano plazo a través de la inversión de la banda de nubes de Ichimoku para obtener breakouts de menor riesgo y oportunidades de sobreventa.

Principio de estrategia

La estrategia utiliza principalmente las tres medias del indicador de Ichimoku -la línea de conversión, la línea de referencia y la línea de derivado 1 - y los precios máximos y mínimos de las líneas K para calcular la franja superior y inferior. La línea de conversión calcula los precios máximos y mínimos de las últimas 9 líneas K, que representan las medias de los precios más altos y más bajos de las últimas 26 líneas K, que representan las medias de los precios más altos y más bajos de las últimas 26 líneas K, que representan las medias de los precios más altos y más bajos de las últimas 26 líneas K, que representan las medias de los precios más altos y más bajos de las líneas K. La línea de derivado 1 es la media de la línea de conversión y la línea de referencia, y la línea de derivado 2 es la mediana de las últimas 52 líneas K.

Cuando la línea 1 atraviesa la línea 2 se genera una señal de compra, y cuando la línea 1 atraviesa la línea 2 se genera una señal de venta. La estrategia de negociación es seguir el forcado dorado de la línea media a corto y medio plazo para capturar cambios en la tendencia.

Análisis de las ventajas

  • La estrategia de reversión de la franja de la nube de Ichimoku combina tendencias a corto y medio plazo para identificar con eficacia los puntos de reversión.

  • Se trata de una estrategia basada en una línea uniforme, con un cierto retraso, que puede filtrar parte del ruido.

  • Utiliza la banda de nubes para evaluar la intensidad de las tendencias fuertes y débiles y obtener mejores entradas y salidas.

  • Sin necesidad de optimización de parámetros, se puede usar el parámetro estándar de Ichimoku.

Análisis de riesgos

  • El principio de Ichimoku es más complejo, no es sensible a los ajustes de parámetros y no es fácil de optimizar en exceso.

  • En el balance de los mercados, puede haber varias señales de error.

  • Cuando las tendencias a corto y medio plazo se desvían, la estrategia falla.

  • El riesgo debe ser controlado con un stop loss, de lo contrario, se puede perder mucho dinero.

Dirección de optimización

  • Se pueden probar diferentes combinaciones de parámetros de la línea de conversión y la línea de referencia para encontrar el punto de equilibrio óptimo.

  • En combinación con otros indicadores de filtración de señales de entrada, se evita la construcción de casas en condiciones claramente desfavorables.

  • Aumentar las estrategias de stop loss, establecer stop loss dinámico o stop loss de seguimiento.

  • Optimizar la gestión de las posiciones y ajustar el tamaño de las posiciones según las condiciones del mercado.

  • La inclusión de comisiones de transacción en la retroevaluación hace que los resultados de la retroevaluación sean más precisos.

Resumir

La estrategia de reversión de la banda de la nube de Ichimoku es una estrategia de tendencia moderada en general. Puede identificar con eficacia los puntos de cambio de tendencia y abrir posiciones en la dirección de la tendencia. Pero la estrategia también tiene un cierto costo de monitoreo, que debe ir acompañado de medidas estrictas de gestión de riesgos para su uso a largo plazo.

Código Fuente de la Estrategia
/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Ichimoku Kumo Twist Strategy (Presets)", shorttitle="Kumo Twist Strategy", overlay=true)

xlowest_(src, len) =>
    x = src
    for i = 1 to len - 1
        v = src[i]
        if (na(v))
            break
        x := min(x, v)
    x

xlowest(src, len) =>
    na(src[len]) ? xlowest_(src, len) : lowest(src, len)

xhighest_(src, len) =>
    x = src
    for i = 1 to len - 1
        v = src[i]
        if (na(v))
            break
        x := max(x, v)
    x

xhighest(src, len) =>
    na(src[len]) ? xhighest_(src, len) : highest(src, len)

dropn(src, n) =>
    na(src[n]) ? na : src

ichiConversionPeriods(presets) =>
    if presets == "Crypto Doubled"
        20
    else
        if presets == "Crypto Singled"
            10
        else
            if presets == "Standard Doubled"
                18
            else
                9

ichiBasePeriods(presets) =>
    if presets == "Crypto Doubled"
        60
    else
        if presets == "Crypto Singled"
            30
        else
            if presets == "Standard Doubled"
                52
            else
                26

ichiLaggingSpan2Periods(presets) =>
    if presets == "Crypto Doubled"
        120
    else
        if presets == "Crypto Singled"
            60
        else
            if presets == "Standard Doubled"
                104
            else
                52

ichiDisplacement(presets) =>
    if presets == "Crypto Doubled"
        30
    else
        if presets == "Crypto Singled"
            30
        else
            if presets == "Standard Doubled"
                26
            else
                26

scaling = input(title="Scaling", options=["Linear", "Log"], defval="Linear")
presets = input(title="Presets",  options=["Crypto Doubled", "Crypto Singled", "Standard Doubled", "Standard Singled"], defval="Crypto Doubled")
dropCandles = input(1, minval=0, title="Drop first N candles")
showClouds = input(false, "Show Clouds")
stoploss = input(true, title="Stop Loss")

conversionPeriods = ichiConversionPeriods(presets)
basePeriods = ichiBasePeriods(presets)
laggingSpan2Periods = ichiLaggingSpan2Periods(presets)
displacement = ichiDisplacement(presets)
logScaling = scaling == "Log"

lows = dropn(low, dropCandles)
highs = dropn(high, dropCandles)

lowsp = logScaling ? log(lows) : lows
highsp = logScaling ? log(highs) : highs

donchian(len) =>
    avg(xlowest(lowsp, len), xhighest(highsp, len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

golong = crossover(leadLine1, leadLine2)
goshort = crossunder(leadLine1, leadLine2)

strategy.entry("Buy", strategy.long, when=golong, stop=(stoploss ? high+syminfo.mintick : na))
strategy.entry("Sell", strategy.short, when=goshort, stop=(stoploss ? low-syminfo.mintick : na))

conversionLinep = logScaling ? exp(conversionLine) : conversionLine
baseLinep = logScaling ? exp(baseLine) : baseLine
leadLine1p = logScaling ? exp(leadLine1) : leadLine1
leadLine2p = logScaling ? exp(leadLine2) : leadLine2

plot(showClouds ? conversionLinep : na, color=#0496ff, title="Conversion Line")
plot(showClouds ? baseLinep : na, color=#991515, title="Base Line")

p1 = plot(showClouds ? leadLine1p : na, offset = displacement, color=green, title="Lead 1")
p2 = plot(showClouds ? leadLine2p : na, offset = displacement, color=red, title="Lead 2")
fill(p1, p2, color = showClouds ? (leadLine1p > leadLine2p ? green : red) : na)