Стратегия торговли биткойн-фьючерсами

Автор:Чао Чжан, Дата: 2024-01-26 15:01:24
Тэги:

img

Обзор: Эта стратегия использует данные позиции фьючерсов биткойна BitMEX для руководства сделками. Она становится короткой, когда короткие позиции увеличиваются, и длинной, когда короткие позиции уменьшаются. Подходит для следующего поведения торговли умными деньгами.

Логика стратегии:

  1. Используйте короткие позиции фьючерсов биткойнов BitMEX в качестве индикатора.
  2. Когда короткие позиции увеличиваются, идете коротко на BTC спот.
  3. Когда короткие позиции уменьшаются, вы идете на длинные на BTC.
  4. Используйте индикатор RSI для обнаружения пиков и спадов в коротких позициях. RSI выше 75 - это сигнал пика, ниже 30 - сигнал спада.
  5. Введите длинные/короткие позиции по сигналам пика/понижения.

Анализ преимуществ:

  1. Использует данные о позиции профессиональных трейдеров BitMEX, фиксируя институциональную активность.
  2. RSI помогает определить пики / дно, контролируя торговый риск.
  3. Мониторинг институциональных движений в режиме реального времени для соответствующей корректировки собственной позиции.
  4. Нет необходимости анализировать графики, прямо следуйте мышлению "умных денег".
  5. Результаты тестов на обратную связь выглядят приличными, уважаемыми.

Анализ рисков:

  1. Невозможно сказать, спекулятивно ли это или хеджирование.
  2. Данные BitMEX задерживаются, возможно, пропускают лучшую цену входа.
  3. Институты не на 100% верны, неудачи случаются.
  4. Плохая настройка параметров RSI приводит к ложным или отсутствующим сигналам.
  5. Стоп-потеря слишком слабая, одиночная потеря может быть огромной.

Направления оптимизации:

  1. Оптимизируйте параметры RSI, тестируйте различные периоды ожидания.
  2. Попробуйте другие индикаторы, такие как KD, MACD, чтобы обнаружить пики / дно.
  3. Сплоченный стоп-лосс для ограничения одиночных потерь.
  4. Добавьте условия выхода, такие как изменение тренда, прерыватели и т.д.
  5. Проверьте применимость к другим монетам, например, используйте BTC для торговли ETH.

Резюме:
Эта стратегия использует профессиональных трейдеров фьючерсов биткойна BitMEX для получения своевременных сигналов. Она помогает инвесторам оценивать настроение рынка и обнаруживать максимумы / минимумы. Также предупреждает о рисках снижения, когда киты сильно короткие. В целом интересный подход с использованием данных о позиции фьючерсов, но необходимое дальнейшее уточнение параметров и контроля риска перед развертыванием в прямом эфире.


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

Больше