Strategi Perdagangan Posisi Bitcoin Futures

Penulis:ChaoZhang, Tarikh: 2024-01-26 15:01:24
Tag:

img

Gambaran keseluruhan: Strategi ini menggunakan data kedudukan niaga hadapan bitcoin BitMEX untuk membimbing perdagangan. Ia pergi pendek apabila kedudukan pendek meningkat dan pergi panjang apabila kedudukan pendek berkurangan. Sesuai untuk mengikuti tingkah laku perdagangan uang pintar.

Logik Strategi:

  1. Gunakan kedudukan pendek niaga hadapan bitcoin BitMEX sebagai penunjuk. BitMEX dianggap dikuasai oleh institusi dan uang pintar.
  2. Apabila kedudukan pendek meningkat, pergi pendek pada BTC spot.
  3. Apabila kedudukan pendek berkurangan, pergi panjang di tempat BTC. Institusi mengurangkan pendek, menunjukkan sentimen bullish.
  4. Gunakan penunjuk RSI untuk mengesan puncak dan terendah dalam kedudukan pendek. RSI di atas 75 adalah isyarat puncak, di bawah 30 isyarat terendah.
  5. Masukkan kedudukan panjang/pendek pada isyarat puncak/rendah.

Analisis Kelebihan:

  1. Menggunakan data kedudukan dari peniaga BitMEX profesional, menangkap aktiviti institusi.
  2. RSI membantu menentukan puncak/rendah, mengawal risiko perdagangan.
  3. Pemantauan masa nyata pergerakan institusi untuk menyesuaikan kedudukan sendiri.
  4. Tidak perlu menganalisis carta, terus mengikuti pemikiran "wang pintar".
  5. Hasil ujian belakang kelihatan baik, pulangan yang terhormat.

Analisis Risiko:

  1. Tidak dapat mengatakan sama ada peningkatan dalam seluar pendek adalah spekulatif atau lindung nilai.
  2. Data BitMEX mempunyai lag, mungkin terlepas harga kemasukan terbaik.
  3. Institusi tidak 100% betul, kegagalan berlaku.
  4. Penyesuaian parameter RSI yang buruk membawa kepada isyarat palsu atau isyarat yang hilang.
  5. Stop loss terlalu longgar, kehilangan tunggal boleh menjadi besar.

Arahan pengoptimuman:

  1. Mengoptimumkan parameter RSI, menguji tempoh tahan yang berbeza.
  2. Cuba penunjuk lain seperti KD, MACD untuk mengesan puncak / terendah.
  3. Stop loss yang lebih ketat untuk mengehadkan kerugian tunggal.
  4. Tambah syarat keluar seperti pembalikan trend, pemecah dan lain-lain.
  5. Uji kebolehgunaan kepada syiling lain, contohnya mengikuti BTC untuk berdagang ETH.

Ringkasan:
Strategi ini memanfaatkan peniaga niaga hadapan bitcoin profesional BitMEX untuk mendapatkan isyarat tepat pada masanya. Ia membantu pelabur mengukur sentimen pasaran dan melihat tinggi / rendah. Juga memberi amaran risiko penurunan apabila paus sangat pendek. Secara keseluruhan pendekatan yang menarik menggunakan data kedudukan niaga hadapan, tetapi penyempurnaan lebih lanjut dalam parameter dan kawalan risiko diperlukan sebelum digunakan secara langsung.


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

Lebih lanjut