La estrategia de la nube es una estrategia de comercio cuantitativa que integra varios indicadores técnicos como el gráfico de la nube, el MACD, el índice de flujo de capital (CMF) y el índice de fuerza real (TSI). La estrategia está diseñada para explorar oportunidades de comercio de líneas medianas y largas en el mercado.
La idea central de la estrategia de la nube de color es combinar la señal de la nube de la nube, el indicador de la nube de MACD, el indicador de flujo de capital de CMF y el índice de fuerza de TSI para determinar la tendencia del mercado y las zonas de sobreventa y sobreventa. Una nube puede determinar claramente la dirección de la tendencia y la resistencia al soporte clave.
En concreto, la estrategia se basa en los siguientes indicadores:
Cuando los 5 elementos mencionados anteriormente se forman simultáneamente, se produce una señal de coacción; cuando una nube atraviesa la línea de apoyo de la nube bajo la línea de 10 kan, se produce una señal de coacción cuando se invierten otras condiciones.
La estrategia integra el juicio de la situación de exceso de espacio de varios indicadores, lo que evita el ruido que causa el juicio de un solo indicador. Al mismo tiempo, se utiliza un gráfico en la nube para determinar las áreas clave de soporte y resistencia, y en combinación con la dirección de la entidad de la línea de retraso para determinar la dirección del flujo de fondos reales, por lo que se puede entrar en la etapa posterior a la tendencia y salir antes del punto clave, lo que permite obtener mayores ganancias.
La mayor ventaja de la estrategia de la nube de color es la combinación de varios indicadores para determinar el fenómeno de sobrecompra y sobreventa en el mercado, lo que permite determinar con precisión el punto de compra y venta. Las ventajas específicas son las siguientes:
La integración de múltiples indicadores para mejorar la precisión de la señalUn solo indicador puede generar señales erróneas, y esta estrategia puede filtrar el ruido y mejorar la fiabilidad de la señal mediante la integración de indicadores como el mapa de una nube, MACD, CMF y TSI.
Un mapa de nube para determinar las áreas de resistencia de soporte claveUn gráfico en la nube puede mostrar claramente las posiciones clave de soporte y resistencia, y la estrategia puede desplegar puntos de venta y compra en estos lugares, lo que permite entrar en el mercado en la etapa posterior a la tendencia.
El retraso en la línea de sombra para determinar el flujo de fondosLa línea de sombra de retraso puede mostrar la desviación de la entidad, determinar el flujo de entrada y salida de fondos reales y evitar el engaño de los falsos movimientos de arbitraje.
El MACD muestra sobrecompra y sobreventaEl MACD muestra las tendencias de compra y venta más rápidas, y la ubicación de un mapa de nube permite capturar con precisión los puntos de compra y venta.
CMF muestra el flujo de fondosEl CMFIndicator refleja los flujos de grandes capitales a través de los cambios en el volumen de transacciones, evitando la desviación de los pequeños flujos de capitales que son arbitrados.
El TSI muestra una fuerte fuerza de compra y ventaEl TSI puede eliminar el factor de la amplitud de los cambios en los precios y mostrar con precisión la fortaleza de la verdadera fuerza de compra y venta para determinar el momento de la rebote inferior y la caída superior.
A pesar de las ventajas de las estrategias de nube de colores, también hay algunos riesgos que deben tenerse en cuenta. Los principales riesgos y direcciones de optimización son los siguientes:
Optimización de parámetros indicadoresLos parámetros existentes pueden no ser la combinación óptima de los parámetros, se puede buscar un mejor parámetro con un método de optimización más sistemático para obtener un rendimiento más estable.
La falta de una estrategia de detener los dañosEn la actualidad, no existe un mecanismo de parada de pérdidas, por lo que no se puede controlar eficazmente las pérdidas en caso de una reversión drástica de la situación. Se pueden establecer paradas móviles razonables o paradas colgantes.
La frecuencia de las transacciones es demasiado alta.。 La combinación de varios indicadores puede conducir a un alto índice de frecuencia de las transacciones 。 Puede ajustar los parámetros adecuadamente y controlar razonablemente la frecuencia de las transacciones 。
El efecto varía mucho.La combinación de varios indicadores puede dar lugar a un efecto competitivo, y la estrategia puede tener una mayor fluctuación en determinadas situaciones. Se puede introducir un método de combinación de modelos para configurar diferentes indicadores de peso.
Indicadores de riesgo dispersoSi hay señales discordantes en los diferentes indicadores, será difícil determinar la admisión final. Esta situación requiere un análisis de revisión por experiencia manual.
La estrategia de la nube de colores es una estrategia de comercio cuantitativa de integración de varios indicadores. Aprovecha al máximo las ventajas complementarias de indicadores como el gráfico de la nube, MACD, CMF y TSI, y tiene una ventaja única para determinar el momento de comprar y vender. Al mismo tiempo, la estrategia también tiene algunos aspectos que se pueden optimizar. Si se puede mejorar aún más el mecanismo de detención de pérdidas, optimización de parámetros, configuración de pesas, etc., se puede mejorar considerablemente la estabilidad de la operación de la estrategia.
/*backtest
start: 2023-10-22 00:00:00
end: 2023-11-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Ichimoku with MACD/ CMF/ TSI ", overlay=true)
//Inputs
ts_bars = input(10, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(30, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input(26, minval=1, title="Chikou-Span Offset")
ss_offset = input(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")
middle(len) => avg(lowest(len), highest(len))
// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)
// Plot Ichimoku Kinko Hyo
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#459915, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=color.green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.green : color.red, title="Cloud color")
ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])
// Entry/Exit Signals
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=hl2)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low
//CMF
lengthA = input(10, minval=1, title="CMF Length")
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthA) / sum(volume, lengthA)
//TSI
long = input(title="Long Length", type=input.integer, defval=20)
short = input(title="Short Length", type=input.integer, defval=20)
price = close
double_smooth(src, long, short) =>
fist_smooth = ema(src, long)
ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0 and mf < -0.1 and tsi_value < 0
strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.entry("Short", strategy.short, when=bearish and short_entry)
strategy.close("Long", when=bearish and not short_entry)
strategy.close("Short", when=bullish and not long_entry)