개요: 이 전략은 트레이드를 안내하기 위해 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)