VWAP EMA RSI 트렌드 전략

저자:차오장, 날짜: 2023-09-13 14:37:47
태그:

이 전략은 트렌드 편향을 위해 VWAP, EMA 및 RSI를 결합하고 트레일링 스톱 접근법을 사용하여 트렌드를 추적합니다. 적응 출구로 트렌드를 타는 것을 목표로합니다.

전략 논리:

  1. 적정한 가치 기준으로 VWAP를 계산합니다.

  2. 중장기 트렌드 지표로 15주기 EMA를 계산합니다.

  3. RSI를 사용해서 과잉 매수 수준을 파악합니다.

  4. VWAP와 EMA를 초과하고, RSI가 과잉 매입될 때 긴 기간을 입력합니다.

  5. 엔트리 포인트 아래의 특정 비율로 트래일링 스톱 로스 라인을 설정합니다.

  6. 수익을 확보하기 위해 고정된 수익을 설정점 수준으로 가져갑니다.

장점:

  1. VWAP, EMA 및 RSI는 여러 측면에서 입력 정확성을 향상시킵니다.

  2. 이윤을 보호하기 위해 동적으로 움직입니다.

  3. 고정된 수익은 퇴출에 대한 확신을 제공합니다.

위험성:

  1. RSI와 EMA는 범위 내에서 잘못된 신호에 취약합니다.

  2. 스톱 로스 캘리브레이션은 신중해야 합니다. 너무 넓거나 너무 좁은 문제입니다.

  3. 단일 거래 손실 크기에 제한이 없습니다.

요약하자면, 이 전략은 여러 지표를 결합하고 트렌드를 따르는 트레일링 스톱을 사용합니다. 지속적인 트렌드에서는 잘 수행되지만 최적화와 위험 통제가 필요합니다.


/*backtest
start: 2022-09-12 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("VWAP+15EMA with RSI", overlay=true)

// Inputs
ema_length = input.int(15, title="EMA Length")
rsi_length = input.int(14, title="RSI Length")
rsi_overbought = input.int(45, title="RSI Overbought Level")
stop_loss_pct = input.float(0.5, title="Stop Loss %")
take_profit_pct = input.float(3.5, title="Take Profit %")
trailing_stop_pct = input.float(1, title="Trailing Stop %")

// Calculate Indicators
vwap = ta.vwap(hlc3)
ema = ta.ema(close, ema_length)
rsi = ta.rsi(close, rsi_length)

// Entry Condition
long_entry = close > vwap and close > ema and rsi > rsi_overbought

// Exit Conditions
stop_loss = strategy.position_avg_price * (1 - stop_loss_pct / 100)
take_profit = strategy.position_avg_price * (1 + take_profit_pct / 100)
trailing_stop = strategy.position_avg_price * (1 - trailing_stop_pct / 100)

// Submit Orders
if long_entry and strategy.position_size == 0
    strategy.entry("Long", strategy.long)

if strategy.position_size > 0
    strategy.exit("Stop Loss /Profit", "Long", profit = take_profit, stop=stop_loss, trail_offset = trailing_stop)


// Plot Indicators
plot(vwap, title="VWAP", color=color.blue)
plot(ema, title="EMA", color=color.orange)
plot(rsi, title="RSI", color=color.purple)
hline(rsi_overbought, title="RSI Overbought", color=color.red)


더 많은