Stratégie de négociation de positions sur les contrats à terme sur Bitcoin

Auteur:ChaoZhang est là., Date: 2024-01-26 15h01 et 24h
Les étiquettes:

img

Cette stratégie utilise les données de position à terme BitMEX Bitcoin pour guider les transactions. Elle va court lorsque les positions courtes augmentent et va long lorsque les positions courtes diminuent. Convient pour suivre le comportement de trading argent intelligent.

La logique de la stratégie:

  1. Utilisez les positions courtes sur les contrats à terme BitMEX comme indicateur.
  2. Lorsque les positions courtes augmentent, allez court sur le spot BTC.
  3. Quand les positions courtes diminuent, allez long sur le BTC au comptant.
  4. Utilisez l'indicateur RSI pour détecter les pics et les creux dans les positions courtes.
  5. Entrez des positions longues ou courtes sur les signaux de pic ou de creux.

Analyse des avantages:

  1. Utilise les données de position des traders professionnels BitMEX, capturant l'activité institutionnelle.
  2. L'indicateur RSI aide à déterminer les pics/baisses, contrôlant le risque de négociation.
  3. Surveillance en temps réel des mouvements institutionnels afin d'ajuster la position propre en conséquence.
  4. Pas besoin d'analyser les graphiques, suivez directement la pensée de "l'argent intelligent".
  5. Les résultats des tests semblent bons, des rendements respectables.

Analyse des risques:

  1. Impossible de dire si l'augmentation des shorts est spéculative ou de couverture.
  2. Les données BitMEX ont un retard, peut manquer le meilleur prix d'entrée.
  3. Les institutions ne sont pas correctes à 100%, les échecs arrivent.
  4. Un mauvais réglage des paramètres RSI conduit à des signaux faux ou manquants.
  5. Un stop-loss trop lâche, une seule perte pourrait être énorme.

Directions d' optimisation:

  1. Optimisez les paramètres de l'indice de résistance, testez différentes périodes d'attente.
  2. Essayez d'autres indicateurs comme le KD, le MACD pour détecter les pics / creux.
  3. Un stop loss plus strict pour limiter les pertes uniques.
  4. Ajoutez des conditions de sortie telles que l'inversion de tendance, les briseurs, etc.
  5. Testez l'applicabilité à d'autres pièces, par exemple, suivez les courts BTC pour échanger ETH.

Résumé:
Cette stratégie tire parti des traders professionnels de futures Bitcoin de BitMEX pour obtenir des signaux opportuns. Elle aide les investisseurs à évaluer le sentiment du marché et à repérer les hauts / bas. Elle prévient également les risques à la baisse lorsque les baleines sont fortement courtes.


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

Plus de