Estrategia de negociación de posiciones de futuros de Bitcoin

El autor:¿ Qué pasa?, Fecha: 2024-01-26 15:01:24
Las etiquetas:

img

Visión general: Esta estrategia utiliza datos de posición de futuros de bitcoins de BitMEX para guiar las operaciones. Va corto cuando las posiciones cortas aumentan y va largo cuando las posiciones cortas disminuyen. Adecuado para seguir el comportamiento de negociación de dinero inteligente.

Estrategia lógica:

  1. Utilice las posiciones cortas de futuros de bitcoins de BitMEX como indicador.
  2. Cuando las posiciones cortas aumentan, se corta en BTC spot.
  3. Cuando las posiciones cortas disminuyen, ir largo en BTC spot.
  4. Utilice el indicador RSI para detectar picos y mínimos en posiciones cortas.
  5. Introducir posiciones largas/cortas en las señales de pico/bajo.

Análisis de ventajas:

  1. Utiliza datos de posición de operadores profesionales de BitMEX, capturando la actividad institucional.
  2. El RSI ayuda a determinar picos/bajos, controlando el riesgo comercial.
  3. Seguimiento en tiempo real de los movimientos institucionales para ajustar la posición propia en consecuencia.
  4. No hay necesidad de analizar los gráficos, seguir directamente el pensamiento de "dinero inteligente".
  5. Los resultados de las pruebas de retroceso parecen decentes, rendimientos respetables.

Análisis de riesgos:

  1. No puedo decir si el aumento de pantalones cortos es especulativo o de cobertura.
  2. Los datos de BitMEX tienen retraso, pueden perder el mejor precio de entrada.
  3. Las instituciones no son 100% correctas, los fracasos ocurren.
  4. El mal ajuste de los parámetros del RSI conduce a señales falsas o faltantes.
  5. El stop loss es demasiado flojo, una sola pérdida podría ser enorme.

Direcciones de optimización:

  1. Optimice los parámetros del RSI, pruebe diferentes períodos de espera.
  2. Pruebe otros indicadores como KD, MACD para detectar picos/bajos.
  3. Un stop loss más ajustado para limitar la pérdida única.
  4. Añadir condiciones de salida como la reversión de tendencia, los rotores, etc.
  5. Prueba de aplicabilidad a otras monedas, por ejemplo, sigue los cortes de BTC para negociar ETH.

Resumen:
Esta estrategia aprovecha a los operadores profesionales de futuros de bitcoin de BitMEX para obtener señales oportunas. Ayuda a los inversores a medir el sentimiento del mercado y detectar altibajos. También advierte riesgos a la baja cuando las ballenas están muy cortas. En general, un enfoque interesante utilizando datos de posición de futuros, pero un mayor refinamiento en los parámetros y el control de riesgos necesarios antes de implementar en vivo.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bitfinex Shorts Strat", 
     overlay=true,
     default_qty_type=strategy.percent_of_equity,
     default_qty_value=10, precision=2, initial_capital=1000,
     pyramiding=2,
     commission_value=0.05)

//Backtest date range
StartDate = input(timestamp("01 Jan 2021"), title="Start Date")
EndDate = input(timestamp("01 Jan 2024"), title="Start Date")
inDateRange = true

symbolInput = input(title="Bitfinex Short Symbol", defval="BTC_USDT:swap")
Shorts = request.security(symbolInput, "", open)

// RSI Input Settings
length = input(title="Length", defval=7, group="RSI Settings" )
overSold = input(title="High Shorts Threshold", defval=75, group="RSI Settings" )
overBought = input(title="Low Shorts Threshold", defval=30, group="RSI Settings" )

// Calculating RSI
vrsi = ta.rsi(Shorts, length)
RSIunder = ta.crossover(vrsi, overSold)
RSIover = ta.crossunder(vrsi, overBought)

// Stop Loss Input Settings
longLossPerc = input.float(title="Long Stop Loss (%)", defval=25, group="Stop Loss Settings") * 0.01
shortLossPerc = input.float(title="Short Stop Loss (%)", defval=25, group="Stop Loss Settings") * 0.01

// Calculating Stop Loss
longStopPrice  = strategy.position_avg_price * (1 - longLossPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc)

// Strategy Entry
if (not na(vrsi))
	if (inDateRange and RSIover)
		strategy.entry("LONG", strategy.long, comment="LONG")
	if (inDateRange and RSIunder)
		strategy.entry("SHORT", strategy.short, comment="SHORT")

// Submit exit orders based on calculated stop loss price
if (strategy.position_size > 0)
    strategy.exit(id="LONG STOP", stop=longStopPrice)
if (strategy.position_size < 0)
    strategy.exit(id="SHORT STOP", stop=shortStopPrice)

Más.