MACD 지표에 기반한 OBV 양상 거래 전략

저자:차오장, 날짜: 2024-01-17 18:01:36
태그:

img

전반적인 설명

이 전략은 OBV 모멘텀의 경향과 굴곡점을 결정하기 위해 OBV 지표의 MACD 지표를 계산하여 거래 신호를 생성합니다. 핵심 아이디어는 OBV MACD 히스토그램이 음 영역에서 양 영역으로 0 축을 통과 할 때 구매 신호를 생성하고, 긍정적 영역에서 음 영역으로 0 축을 통과 할 때 판매 신호를 생성하는 것입니다.

전략 원칙

이 전략의 핵심 지표는 OBV의 MACD 지표이다. OBV 지표는 폐쇄 가격의 변화 방향과 거래량 사이의 관계를 통계적으로 분석하여 상승 동력이 강화되거나 약화되는지를 결정함으로써 주식의 추진 동력을 반영 할 수 있습니다. MACD 지표는 가격 변화의 추진 동력을 반영하기 위해 다른 이동 평균 사이의 차이를 보여줍니다. 따라서 OBV 추진 동력 지표와 MACD 추진 동력 지표를 결합하여 추진 동력의 변화 추세를 더 명확하게 판단 할 수 있습니다.

구체적으로, 이 전략은 먼저 OBV 지표를 계산하여, 일정 기간 동안 폐쇄 가격과 거래량 변화 방향 사이의 관계를 통계적으로 분석하여 OBV 동력선을 계산합니다. 다음으로, OBV 동력선을 기반으로 MACD 지표, MACD 라인, 신호 라인 및 히스토그램을 계산합니다. 마지막으로, macd 히스토그램이 마이너스 영역에서 긍정적 영역으로 0 축을 통과하면 구매 신호가 생성됩니다. 히스토그램이 긍정적 영역에서 마이너스 영역으로 0 축을 통과하면 판매 신호가 생성됩니다.

이러한 방법으로 MACD는 직관적으로 OBV 볼륨의 모멘텀 특성을 표시하고 볼륨 변화의 경향을 판단합니다. MACD의 침투는 거래 결정의 정확성을 향상시킬 수있는 거래 신호를 발행하는 데 사용됩니다.

이점 분석

이 전략은 OBV 볼륨 분석과 MACD 모멘텀 지표를 결합하여 볼륨 및 가격 트렌드 변화에 대한 비교적 정확한 판단을 통해 FALSE 신호를 효과적으로 필터링 할 수 있습니다. 구체적인 장점은 다음과 같습니다.

  1. OBV 지표는 구매자와 판매자 사이의 강도 대조와 부피 변화의 경향을 결정할 수 있습니다.
  2. MACD 히스토그램은 OBV 모멘텀의 굴곡점을 명확하게 식별할 수 있습니다.
  3. 거래 신호는 명확하고 잘못된 판단 가능성이 적습니다.
  4. 더 많은 구성 가능한 거래 매개 변수가 있고 거래 규칙도 명확합니다.

위험 분석

이 전략은 또한 다음과 같은 측면에서 주로 몇 가지 위험을 가지고 있습니다.

  1. OBV와 MACD 모두 거래량에 민감합니다. 비정상적으로 높은 거래량은 오해 할 수 있습니다.
  2. 부적절한 매개 변수 설정 또한 전략 성능에 영향을 미칠 수 있습니다
  3. 장기 및 단위 사이를 전환 할 때 OBV 볼륨 변화는 지연 될 수 있으며 결과적으로 지연 거래 신호가 발생할 수 있습니다.

이러한 위험에 대처하기 위해 다음과 같은 조치를 취할 수 있습니다.

  1. 거래량 검사를 통해 비정상적인 데이터를 필터링
  2. 신중하게 매개 변수를 설정하고 시장 조건을 고려합니다
  3. 적시에 거래 신호를 생성하기 위해 MACD 사이클과 같은 매개 변수 설정을 적절히 조정합니다.

최적화 방향

이 전략의 더 많은 최적화가 여전히 가능하며, 주로 다음과 같은 방향으로:

  1. 전략 성과를 향상시키기 위해 포트폴리오 거래의 다른 지표와 결합
  2. 리스크 통제에 스톱 로스 메커니즘을 추가합니다.
  3. 다양한 시장 환경의 요구를 충족시키기 위해 매개 변수 설정을 최적화하십시오.

지속적인 테스트와 최적화를 통해 이 전략은 안정적이고 효율적인 양적 거래 전략이 될 수 있습니다.

요약

이 전략은 가격 트렌드를 결정하고 거래 신호를 생성하기 위해 볼륨 분석과 모멘텀 지표를 결합한 전형적인 양적 전략이다. 가격 변동의 전환점을 명확하게 식별할 수 있으며 거래 신호는 비교적 신뢰할 수 있다. 합리적인 매개 변수 설정으로 좋은 전략 결과를 얻을 수 있다. 그러나 성능을 향상시키기 위해 지속적인 최적화로 감소해야 하는 몇 가지 위험도 있다. 일반적으로 이 전략은 양적 거래 전략에 대한 전형적인 아이디어를 제공하며, 연구와 적용할 가치가 있다.


/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "MACD of OBV", overlay = false)

//////////////////////// OBV ///////////////////////////

src = close
obv = cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume)


//////////////////////// OBV   //////////////////////////

//////////////// MACD OF OBV ////////////////////////////

sourcemacd = obv 

fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)


fastMA = ema(sourcemacd, fastLength)
slowMA = ema(sourcemacd, slowLength)

macd = fastMA - slowMA
signal = ema(macd, signalLength)
delta=macd-signal

swap1 = delta>0?green:red

plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20)
p1 = plot(macd,color=blue,title='MACD Line')
p2 = plot(signal,color=red,title='Signal')
fill(p1, p2, color=blue)
hline(0)




/////////////////////////MACD OF OBV //////////////////////////


// Conditions



longCond = na
sellCond = na
longCond :=  crossover(delta,0)
sellCond :=  crossunder(delta,0)




monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longCond ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( sellCond  ) 

    strategy.close("BUY")







더 많은