Estrategia combinada de Ichimoku Mixto Macd y Tsi


Fecha de creación: 2023-11-27 11:50:43 Última modificación: 2023-11-27 11:50:43
Copiar: 0 Número de Visitas: 641
1
Seguir
1617
Seguidores

Estrategia combinada de Ichimoku Mixto Macd y Tsi

Una visión general de la estrategia

Esta estrategia utiliza un conjunto de indicadores técnicos, como la tabla de equilibrio a primera vista, el indicador Macd, el indicador de flujo de dinero Chaikin y el indicador de oscilación Tsi, para determinar con precisión la dirección de la tendencia del mercado y realizar operaciones en línea corta.

2. Principios de estrategia

La estrategia utiliza indicadores como el horizonte, la línea de referencia y la línea de referencia en la tabla de equilibrio inicial para determinar la tendencia de los precios durante el día. Al mismo tiempo, se combina con la señal de cruce de la línea media rápida y lenta de Macd, y el indicador de flujo de dinero y el indicador de oscilación para determinar el flujo de entrada y salida de fondos.

Cuando el horizonte cruza la línea de referencia, la línea principal está por encima del eje 0 y el precio de cierre está por encima de la nube de la tabla de equilibrio a primera vista. Por el contrario, cuando el horizonte cruza la línea de referencia por debajo del eje 0 y el precio de cierre está por debajo de la nube, es una señal bajista. La estrategia detecta al mismo tiempo si el gráfico rectangular de Macd es positivo y si el indicador de flujo de oro de Chaikin y el indicador de oscilación son positivos.

Cuando el indicador emite una señal contraria a la anterior, se realiza una operación inversa antes de que la posición se estabilice.

Tres, las ventajas estratégicas.

  1. El uso de una combinación de varios indicadores para mejorar la precisión del juicio.

  2. La operación en línea corta, sigue las fluctuaciones del mercado en tiempo real.

  3. La transacción es totalmente automática y no requiere intervención humana.

Cuatro, estrategias, riesgos y soluciones

  1. El análisis de varios indicadores de manera simultánea hacia abajo o hacia abajo puede generar un riesgo de error. Se puede relajar adecuadamente algunos de los criterios de determinación para reducir la tasa de error.

  2. Las transacciones en línea corta de alta frecuencia tienen tarifas de procesamiento más altas y son difíciles de captar. Se puede prolongar el período de tenencia de la posición de manera adecuada, buscando ganancias extras para compensar los costos.

  3. La configuración sin pérdidas puede generar mayores pérdidas. Se puede combinar con ATR para establecer un punto de parada adecuado o un parada móvil.

Cinco, el mejoramiento de la estrategia

  1. Optimización de la combinación de parámetros. Ajuste los parámetros de la línea media para adaptarse a diferentes períodos y variedades.

  2. Aumento de los mecanismos de suspensión de pérdidas. Establecimiento dinámico de la línea de suspensión móvil en combinación con el indicador ATR.

  3. Aumentar la gestión de posiciones. Ajustar dinámicamente el porcentaje de volumen de transacciones.

  4. Optimización de indicadores y señales en combinación con tecnología de aprendizaje automático.

VI. Conclusión

Esta estrategia utiliza una combinación de indicadores técnicos para evaluar las fluctuaciones de tendencias en tiempo real y realizar operaciones de corta frecuencia de alta frecuencia. Aunque existe cierto riesgo, se puede mejorar mediante la optimización. La estrategia merece un estudio más profundo y una verificación en el laboratorio para reducir el riesgo de operaciones mediante el aumento de los paros y la gestión de posiciones.

Código Fuente de la Estrategia
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy("Ichimoku with MACD/ CMF/ TSI", overlay=true, margin_long=0, margin_short=0)



//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)


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=17)
slow_length = input(title="Slow Length", type=input.integer, defval=28)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 5)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=true)

// 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(8, 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=8)
short = input(title="Short Length", type=input.integer, defval=8)
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)