
개요: 이 전략은 Bitfinex의 BTC 퓨처스 포지션 데이터를 사용하여 거래를 안내한다. 짧은 포지션이 증가하면 공백을, 짧은 포지션이 감소하면 더 많은 것을 한다.
전략적 원칙:
우위 분석:
위험 분석:
최적화 방향:
결론: 이 전략은 Bitfinex의 BTC 선물 전문 거래자를 따라다니며, 제때 알 수 있는 기관 거래 신호를 실현한다. 투자자가 시장의 열기를 감시하고, 높은 낮은 점들을 파악하는 데 도움이 된다. 또한, 투자자의 위험도 경고한다. 전문 거래자가 많은 공백을 할 때, 다수 포지션을 조심스럽게 줄여라.
/*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)