Indice de fuerza relativa Estrategia larga/corta

El autor:¿ Qué pasa?, Fecha: 2023-11-16 17:06:14
Las etiquetas:

img

Resumen general

Esta estrategia genera señales comerciales comparando el indicador RSI de una criptomoneda con el indicador RSI de un índice de criptomercado para juzgar el valor relativo de la criptomoneda frente al mercado de criptomonedas.

Estrategia lógica

La estrategia permite seleccionar primero un índice de mercado de criptomonedas, como la capitalización total de mercado, la capitalización total de mercado excluyendo Bitcoin, la capitalización de mercado de otras monedas, etc. También selecciona un marco de tiempo más alto del índice de criptomonedas, por defecto a diario. Luego calcula el RSI de la criptomoneda seleccionada y el RSI del índice de criptomonedas, y genera un índice de fuerza relativa basado en su relación. Cuando el índice de fuerza relativa cruza por encima del parámetro especificado, se genera una señal de compra. Cuando cruza por debajo, se genera una señal de venta.

La lógica central es que cuando el RSI de la criptomoneda es más fuerte que el índice de criptomonedas, significa que la moneda está relativamente infravalorada en comparación con el mercado, y tiene el potencial de sobrevalorarse, por lo que puede ser comprada.

Análisis de ventajas

La mayor ventaja de esta estrategia es que utiliza el índice de fuerza relativa, que permite una valoración más precisa de las criptomonedas, en lugar de depender únicamente de los indicadores técnicos de una sola moneda para tomar decisiones, evitando la trampa de mirar las cosas de forma aislada.

El índice de fortaleza relativa tiene en cuenta el impacto del entorno general del mercado en las monedas individuales, y puede capturar el ritmo de rotación del mercado y las rotaciones de los sectores, y extraer monedas valiosas del mercado.

Además, la estrategia proporciona múltiples selecciones de índices, que pueden optimizarse para diferentes entornos de mercado para garantizar la eficacia de la estrategia.

Análisis de riesgos

El principal riesgo de esta estrategia es que el índice de resistencia relativa es simplemente una herramienta de valoración y no puede evitar por completo los riesgos comerciales derivados de los patrones técnicos de las monedas individuales.

Por ejemplo, si la moneda ha entrado en un patrón de reversión superior obvio de cabeza y hombros, y la estructura del mercado ha cambiado, confiar únicamente en las señales de compra de fuerza relativa podría conducir a pérdidas.

Por lo tanto, la estrategia debe combinar los patrones técnicos de las propias criptomonedas individuales para evitar operaciones desfavorables en puntos técnicos críticos.

Otro riesgo es que si el índice seleccionado es inapropiado y tiene una baja correlación con la criptomoneda, entonces el poder indicador del índice de fuerza relativa se vería en gran medida comprometido.

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Agregue estrategias de stop loss para reducir las pérdidas a tiempo cuando los precios se inviertan.

  2. Optimice la selección de índices, empareje diferentes índices para diferentes monedas para aumentar la correlación.

  3. Añadir múltiples combinaciones de marcos de tiempo, como confirmar señales diarias con señales de 4 horas, para aumentar la confiabilidad de la señal.

  4. Añadir algoritmos de aprendizaje automático para determinar adaptativamente el umbral del índice de resistencia relativa, en lugar de usar parámetros fijos.

  5. Incorporar otros indicadores como análisis de sentimiento, análisis fundamental para formar un sistema de valoración más completo.

Conclusión

La estrategia del índice de fortaleza relativa juzga la valoración relativa de las criptomonedas comparando su fortaleza con los índices del mercado y genera señales comerciales. Su ventaja radica en incorporar dimensiones de análisis de mercado y capturar los ritmos del mercado. Pero también tiene riesgos que necesitan optimización, como agregar stop loss, combinaciones de marcos de tiempo, umbral adaptativo, etc. para mejorar el rendimiento. Si se implementa correctamente, esta estrategia puede desempeñar un papel importante en el comercio algorítmico de criptomonedas.


/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('RSI correlation with cryptoindices [strategy version]', overlay=false)

// Testing Start dates
testStartYear = input(2016, 'Backtest Start Year')
testStartMonth = input(1, 'Backtest Start Month')
testStartDay = input(1, 'Backtest Start Day')
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
//Stop date if you want to use a specific range of dates
testStopYear = input(2030, 'Backtest Stop Year')
testStopMonth = input(12, 'Backtest Stop Month')
testStopDay = input(30, 'Backtest Stop Day')
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false

len = input(4, title='length of rsi comparison')
correlationcrossover = input(1, title='correlation crossover')
IndexSwitch = input.string('CRYPTOCAP:TOTAL2', title='Index selection', options=['CRYPTOCAP:TOTAL2', 'CRYPTOCAP:TOTAL', 'CRYPTOCAP:OTHERS', 'CRYPTOCAP:USDT', 'CRYPTOINDEX:CIX100', 'CRYPTOCAP:BTC.D', 'CRYPTOCAP:BTC'])
IndexHTF = input.string('120', title='higher time frame reference index', options=['1', '2', '5', '10', '15', '30', '45', '60', '90', '120', '150', '240', '360', '720', 'D', '3D', 'W', 'M'])
switchColor = input(true, 'Color Hull according to trend?')
ref = request.security(IndexSwitch, IndexHTF, close[1], lookahead=barmerge.lookahead_on)
RSI_ref = ta.rsi(ref, len)
RSI_close = ta.rsi(close, len)
relative = RSI_ref / RSI_close
plot(relative, color=color.new(color.blue, 0))
long = ta.crossover(relative, correlationcrossover)
short = ta.crossunder(relative, correlationcrossover)
corr = plot(correlationcrossover, color=color.new(color.green, 0), linewidth=1)
hullColor = switchColor ? relative > correlationcrossover ? #00ff00 : #ff0000 : #ff9800

//PLOT
///< Frame
Fi1 = plot(relative, title='relative', color=hullColor, linewidth=1, transp=50)
fill(Fi1, corr, title='Band Filler', color=hullColor, transp=50)

if long and testPeriod()
    strategy.entry("long", strategy.long)
    
if short and testPeriod()
    strategy.entry("long", strategy.short)

// alertcondition(long, title='long', message='long')
// alertcondition(short, title='short', message='short')



Más.