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
Logik Strategi:
Analisis Kelebihan:
Analisis Risiko:
Arahan pengoptimuman:
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)