OBV, CMO 및 코팍 곡선 기반 거래 전략

저자:차오장, 날짜: 2024-02-20 11:26:46
태그:

img

전반적인 설명

RB 양자 거래 콤보 전략은 볼륨 기반 지표 OBV, 모멘텀 오시레이터 CMO 및 장기적인 모멘텀 지표 코팍 곡선을 결합한 복합 전략이다. 이 전략은 시장 정서, 중장기 트렌드 및 장기적인 트렌드를 세 차원에서 고려하고 더 신뢰할 수있는 시장 진출을 위해 거래 신호를 생성합니다.

전략 논리

이 전략의 거래 신호는 다음 세 가지 지표의 조합에서 나옵니다.

  1. OBV: 시장 정서와 황소와 곰의 힘을 반영합니다. 상승하는 OBV는 황소의 강화를 나타냅니다. OBV의 하락은 곰이 차지하는 것을 나타냅니다.

  2. CMO: 가격 변화율의 중장기 트렌드를 포착합니다. 긍정적 CMO는 중장기 상승 추세를 나타냅니다. 부정적인 CMO는 하락 추세를 나타냅니다.

  3. 코팍 곡선 (Coppock Curve): 가격 변화율의 장기 트렌드를 추적합니다. 상향 코팍 곡선은 장기적인 올 단계, 하향 방향은 장기적인 곰 단계를 나타냅니다.

OBV가 CMO와 코팍 곡선과 함께 상승할 때 구매 신호가 생성됩니다. 이것은 시장 정서가 중장기 상승 추세가 손상되지 않은 황소를 뒷받침하는 것을 나타냅니다.

판매 신호는 OBV가 감소하고 CMO와 코팍 곡선이 동시에 낮아지면 발사됩니다. 이것은 중장기 하향 트렌드 채널이 열리는 것과 함께 곰이 통제하고 있음을 보여줍니다. 포지션 출구에 좋은 타이밍으로 작용합니다.

장점

이 전략의 가장 큰 장점은 시장 정서, 중장기 및 장기 트렌드를 세 가지 관점에서 합성하는 데 있다. 거래 신호는 시장 폭, 중장기 및 장기 지평선에서 트렌드 변화의 확인 후만 형성되며, 이로 인해 가짜 브레이크오웃을 효과적으로 피합니다. 한편 코팍 곡선은 장기적인 방향 편향을 제공하며 CMO는 단기 기회를 빠르게 포착합니다.

또 다른 장점은 효율적인 자본 활용을 가능하게 하는 양방향 구매 및 판매 신호입니다.

위험성

이 전략의 주요 위험은 긴 ROC 계산 기간으로 인해 코팍 곡선과 CMO의 지연성에서 비롯됩니다. 갑작스러운 변동적인 시장 이벤트는이 두 가지 장기 지표에서 적시에 신호를 유발하지 못할 수 있습니다. 빠른 결정은 그러한 시나리오에서 OBV에 의존해야합니다. 그러나 축적 된 볼륨 지표로서 OBV는 갑작스러운 전환점에 직면한 몇 바의 지연으로 고통받습니다.

또한 가중치 없이 세 가지 지표를 단순하게 조합하면 판단의 정확성이 손상될 수 있습니다.

더 나은 기회

이 전략은 앞으로 다음과 같은 측면으로 업그레이드 될 수 있습니다.

  1. 코팍 곡선 및 CMO에 대한 적응 ROC 기간을 채택하여 시장 체제 변화에 대응하는 매개 변수를 자동으로 캘리브레이트합니다.

  2. 보다 정확한 지표로부터의 신호를 강조하는 가중화 시스템을 도입하여 전반적인 신호 품질과 안정성을 향상시킵니다.

  3. ATR와 같은 변동성 측정에 기반한 스톱 로스를 포함하여 거래당 최대 손실을 제한합니다.

  4. OBV의 급속한 변경을 활용하여 스톱 손실 신호를 측정하여 큰 손실을 피합니다.

결론

RB 퀀트 콤보 전략은 시장 폭, 중장기 및 장기적인 추진력을 합성하여 여러 지표의 강점을 결합하여 구매 / 판매 신호를 생성합니다. 거래 기회는 시장 정서와 중장기 트렌드의 조화를 통해 발생합니다. 주요 장점은 신호 신뢰성 및 거짓 브레이크아웃 피하는 데 있습니다. 추가 최적화로 전략 성능은 라이브 트레이딩에서 다음 단계로 올라갈 수 있습니다.


/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RB - OBV Coppock CMO Strategy", overlay=true)

// Input for CMO period
cmo_period = input(14, title="Chande Momentum Oscillator Period")
// Input for Coppock Curve periods
coppock_long = input(14, title="Coppock Curve Long ROC Period")
coppock_short = input(11, title="Coppock Curve Short ROC Period")
coppock_wma = input(10, title="Coppock Curve WMA Period")
// Thresholds for CMO
cmo_buy_threshold = input(50, title="CMO Buy Threshold")
cmo_sell_threshold = input(-50, title="CMO Sell Threshold")

// Calculating OBV
obv = cum(close > close[1] ? volume : close < close[1] ? -volume : 0)

// Calculating Coppock Curve
roc_long = roc(close, coppock_long)
roc_short = roc(close, coppock_short)
coppock_curve = wma(roc_long + roc_short, coppock_wma)

// Calculating Chande Momentum Oscillator
cmo = cmo(close, cmo_period)

// Generate buy and sell signals
buy_signal = obv > obv[1] and coppock_curve > 0 and coppock_curve > coppock_curve[1] and cmo > cmo_buy_threshold
sell_signal = obv < obv[1] and coppock_curve < 0 and coppock_curve < coppock_curve[1] and cmo < cmo_sell_threshold

// Plotting signals on the chart
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Setting up the strategy entry and exit points
if (buy_signal)
    strategy.entry("Buy", strategy.long)

if (sell_signal)
    strategy.close("Buy")

// Plot OBV and Coppock Curve for reference
plot(obv, title="On Balance Volume", color=color.blue)
hline(0, "Zero Line", color=color.gray)
plot(coppock_curve, title="Coppock Curve", color=color.purple)
plot(series=cmo, title="Chande Momentum Oscillator", color=color.orange)



더 많은