
La estrategia de cambio de divisas RSI de fluctuación oscilante es una estrategia de negociación cuantitativa para las criptomonedas. Combina el indicador técnico de mercado RSI con el indicador ICHIMOKU para identificar señales de fluctuación en los precios y lograr una venta baja y alta. Se aplica a períodos de línea media larga, como 3-4 horas o más.
La estrategia se basa principalmente en los siguientes indicadores y reglas:
Indicador de ICHIMOKU
Indicadores de la RSI
Reglas de ingreso
Entrada múltiple: cruza la línea Kijun en la línea Tenkan (cruce de oro) y el precio rompe la línea Senkou A&B, mientras que el RSI está por encima de 50
Entrada sin cabeza: Tenkan cruza la línea Kijun (cruce de muerte) y el precio cae por debajo de la línea Senkou A&B, mientras que el RSI está por debajo de 50
Reglas de salida
Cesación inmediata de los daños en el campo cuando aparezca una señal contraria a la entrada
Esta estrategia tiene en cuenta las tendencias a medio y largo plazo, la liquidez a corto plazo y las situaciones de sobreventa y sobrecompra, para capturar oportunidades de reversión en situaciones de crisis. Al mismo tiempo, establece reglas de stop loss para evitar grandes pérdidas.
1. Conjunto de varios indicadores para asegurar una alta certeza
La estrategia toma en cuenta la tendencia de ICHIMOKU y apoya el juicio de resistencia, el exceso de compra y venta en el RSI, y la fluidez de los fondos en la dirección de la entidad de la línea K, para garantizar la fiabilidad de la señal.
2. Apto para situaciones de crisis y con frecuencia rentable
La estrategia, basada en la gran volatilidad de los mercados de criptomonedas, aprovecha las oportunidades de reversión en situaciones de crisis para generar frecuentes compras y ventas.
3. Prevención de la caída en picado y control de los riesgos
La estrategia tiene en cuenta las tendencias a mediano y largo plazo y las situaciones a corto plazo para evitar el riesgo de caída de la caída, al tiempo que se establece el riesgo de prevención de pérdidas.
1. Puede haber perdido parte de su funcionamiento
La estrategia se basa en inversiones, con frecuentes sacudidas de fondos cuando se produce una operación prolongada.
2. Una sola variedad no puede dispersar el riesgo
La estrategia consiste en negociar solo una variedad y no dispersar el riesgo sistémico del mercado.
3. Cancelación de pérdidas en casos extremos
En situaciones extremas, como saltos, explosiones de potencia, etc., la estrategia puede provocar un stop loss y forzar a la salida.
1. Incrementar las estrategias de stop loss y reducir las pérdidas individuales
Se puede configurar un stop loss móvil o un stop loss porcentual para bloquear las ganancias y evitar que se vuelvan a cero.
2. Descentralización del riesgo de mercado combinado con la correlación del índice de acciones
Se pueden buscar oportunidades de negociación en variedades con mayor correlación con el índice de acciones para dispersar el riesgo sistemático del mercado.
3. Aumentar los filtros condicionales y reducir las transacciones no válidas
Se puede configurar un filtro de condiciones como la fluctuación de los precios y el cambio de volumen de transacción, para evitar señales de inversión ineficaces y aumentar la probabilidad de obtener ganancias.
La estrategia de cambio de monedas RSI de múltiples espacios convulsivos utiliza el indicador ICHIMOKU y el indicador RSI para juzgar el punto de inflexión de las criptomonedas y se adapta a las condiciones de convulsión. Al mismo tiempo, establece reglas de stop loss para controlar el riesgo. La estrategia puede mejorar aún más la eficacia mediante la optimización del mecanismo de stop loss, el riesgo de dispersión asociado y el filtro de configuración de condiciones.
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 3m
basePeriod: 1m
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(title="Ichimoku + RSI Crypto trending strategy", overlay=true, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, pyramiding=1 )
UseHAcandles = input(true, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===
// === BASE FUNCTIONS ===
haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low
//Inputs
ts_bars = input(20, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(50, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")
//Volatility
//vollength = input(defval=1, title="VolLength")
//voltarget = input(defval=0., type=input.float, step=0.1, title="Volatility Target")
//Difference = abs((haClose - haOpen)/((haClose + haOpen)/2) * 100)
//MovingAverage = sma(Difference, vollength)
//highvolatility = MovingAverage > voltarget
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
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)
//RSI
change = change(haClose)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))
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
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(haClose, cs_offset-1) > 0
cs_cross_bear = mom(haClose, cs_offset-1) < 0
price_above_kumo = haClose > ss_high
price_below_kumo = haClose < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish //and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish //and highvolatility
strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)
strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)