리소스 로딩... 로딩...

데 모멘텀 오시레이터 기반의 적응적 평균 역전 거래 전략

저자:차오장, 날짜: 2024-12-11 17:17:50
태그:CMOSMORSISMAMRTS

img

전반적인 설명

데 모멘텀 오시레이터 (CMO) 를 기반으로 한 평균 역전 거래 전략은 특정 기간 동안 가격 동력을 계산하여 과소매와 과소매 지역을 식별하는 기술 분석 전략이다. 이 전략은 평균 역전 기회를 잡는 것을 목표로 가격이 극심한 편차를 보이는 경우 자산 가격과 거래의 동력 변화를 모니터링합니다. 9일 CMO 지표를 핵심 신호로 사용하여 CMO가 -50 이하로 떨어지면 긴 포지션을 입력하고 CMO가 50 이상이나 보유 기간이 5일을 초과하면 종료합니다.

전략 원칙

전략의 핵심은 CMO 지표의 계산과 적용에 있습니다. CMO는 특정 기간 동안의 이익과 손실 사이의 차이와 그 합의 비율을 계산하여 모멘텀을 측정합니다. 공식은: CMO = 100 × (이익 합 - 손실 합) / (이익 합 + 손실 합)

전통적인 RSI와 달리, CMO는 분수에서 상향 및 하향 움직임을 모두 사용하여 보다 대칭적인 추진력을 측정합니다. 전략은 CMO가 -50 이하로 떨어지면 장기 포지션을 입력하여 과판 조건을 나타내고 가격 회복을 기대합니다. CMO가 50 이상이나 5 일 동안 보유한 후에 포지션은 종료됩니다.

전략적 장점

  1. 명확한 신호 - CMO는 명확한 거래 신호를 생성하는 결정적인 과반 구매 및 과반 판매 기준을 제공합니다.
  2. 강력한 리스크 제어 - 최대 보유 기간은 장기 포지션 포획을 방지합니다.
  3. 높은 적응력 - 다른 시장 조건에 따라 매개 변수를 조정할 수 있습니다.
  4. 탄탄한 이론적 기초 - 학술적 지원과 함께 잘 정립 된 평균 역전 이론에 기초
  5. 간단한 계산 - 지표 방법론은 간단하고 이해하기 쉽습니다.

전략 위험

  1. 트렌드 시장 위험 - 평균 역전 전략은 강한 트렌드 시장에서 자주 손실을 입을 수 있습니다.
  2. 매개 변수 민감성 - 전략 성과가 CMO 기간과 임계 선택에 크게 달려 있습니다.
  3. 거짓 신호 위험 - 변동성 시장은 거짓 신호를 생성할 수 있습니다.
  4. 시간 위험 - 고정 출출 시기는 더 나은 수익 기회를 놓칠 수 있습니다.
  5. 소액의 유동성 시장에서 상당한 유동성이 발생할 수 있습니다.

최적화 방향

  1. 트렌드 필터링 - 트렌드만 거래하는 데 장기 트렌드 지표를 추가합니다.
  2. 동적 매개 변수 최적화 - 시장 변동성에 기초한 CMO 기간 및 기준을 조정합니다.
  3. 증강된 스톱 손실 - 수익을 보호하기 위해 동적 스톱 손실을 구현합니다.
  4. 보유 기간 최적화 - 변동성에 따라 최대 보유 시간을 동적으로 조정합니다.
  5. 부피 확인 - 신호 신뢰성을 향상시키기 위해 부피 표시를 포함

요약

이 전략은 CMO 지표를 통해 시장 과반 매수 및 과반 판매 기회를 포착하며, 고정 시간 스톱 로스를 결합하여 견고한 평균 반전 거래 시스템을 구축합니다. 실용적인 가치와 함께 명확한 논리 및 합리적인 위험 통제를 갖추고 있습니다. 전략의 안정성과 수익성은 매개 변수 최적화 및 추가 보조 지표로 추가로 향상 될 수 있습니다.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Chande Momentum Oscillator Strategy", overlay=false)

// Input for the CMO period
cmoPeriod = input.int(9, minval=1, title="CMO Period")

// Calculate price changes
priceChange = ta.change(close)

// Separate positive and negative changes
up = priceChange > 0 ? priceChange : 0
down = priceChange < 0 ? -priceChange : 0

// Calculate the sum of ups and downs using a rolling window
sumUp = ta.sma(up, cmoPeriod) * cmoPeriod
sumDown = ta.sma(down, cmoPeriod) * cmoPeriod

// Calculate the Chande Momentum Oscillator (CMO)
cmo = 100 * (sumUp - sumDown) / (sumUp + sumDown)

// Define the entry and exit conditions
buyCondition = cmo < -50
sellCondition1 = cmo > 50
sellCondition2 = ta.barssince(buyCondition) >= 5

// Track if we are in a long position
var bool inTrade = false

if (buyCondition and not inTrade)
    strategy.entry("Long", strategy.long)
    inTrade := true

if (sellCondition1 or sellCondition2)
    strategy.close("Long")
    inTrade := false

// Plot the Chande Momentum Oscillator
plot(cmo, title="Chande Momentum Oscillator", color=color.blue)
hline(-50, "Buy Threshold", color=color.green)
hline(50, "Sell Threshold", color=color.red)


관련

더 많은