MACD 트렌드 전략

저자:차오장, 날짜: 2023-11-15 17:08:15
태그:

img

전반적인 설명

이 전략은 MACD 트렌드 다음 전략 (MACD Trend Following Strategy) 이라고 불린다. 이 전략은 가격 추세를 결정하고 거래 추세를 추적하기 위해 MACD 지표를 활용하는 양적 전략이다. 이 전략은 중장기 트렌드를 파악하고 트렌드 반전이 발생할 때 적시에 포지션을 조정하는 것을 목표로 한다.

전략 논리

이 전략은 가격 트렌드를 결정하기 위해 MACD 지표를 사용합니다. MACD는 빠른 EMA 라인 (12 일) 과 느린 EMA 라인 (26 일) 으로 구성된 브레이크아웃 지표입니다. 이 두 라인 사이의 차이는 MACD 히스토그램을 형성하며, 히스토그램의 9 일 EMA는 MACD 신호 라인입니다. MACD 라인이 신호 라인 위에 넘어가면 상승 추세를 나타내는 황금 십자가입니다. MACD 라인이 라인 아래에 넘어가면 하향 추세를 나타내는 죽은 십자가 신호입니다.

이 전략은 먼저 MACD 라인과 신호 라인을 계산하고 두 라인 사이의 차이 델타를 계산합니다. 델타가 0을 넘으면 구매 신호가 생성됩니다. 델타가 0을 넘으면 판매 신호가 생성됩니다. 이 두 신호를 기반으로 전략은 그에 따라 포지션을 조정합니다. 잡음을 필터링하기 위해 전략은 EMA 라인을 도입합니다. 유효한 거래 신호는 가격이 이 EMA 라인을 넘을 때만 생성됩니다.

구체적으로, 전략 논리는 다음과 같습니다.

  1. MACD 라인, 신호 라인 및 차이 델타를 계산
  2. 0 이상 또는 0 이하의 델타 교차가 트렌드 반전을 의미하는지 결정합니다.
  3. 필터 역할을 하는 EMA 선을 계산합니다.
  4. 델타가 0을 넘고 가격이 EMA를 넘으면 구매 신호를 생성합니다.
  5. 델타가 0 아래로 넘어가고 가격이 EMA 아래로 넘어가면 판매 신호를 생성합니다.

이 설계로 전략은 중장기 트렌드를 따라가며 트렌드가 역전될 때 빠르게 포지션을 조정할 수 있습니다. 단기 시장 소음으로 오해되는 것을 피합니다.

장점

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. MACD를 사용하여 진입 및 출출 시기를 위해 트렌드 반전 지점을 정확하게 감지합니다.
  2. 단기 시장 소음의 간섭을 피하기 위해 EMA 필터를 채택하십시오.
  3. 중장기 동향만 따라가며, 다양한 시장에서 위프사를 피하십시오.
  4. 간단하고 명확한 논리, 이해하기 쉽고 코드를 수정
  5. 매개 변수를 조정함으로써 거래 빈도를 조절하는 유연성
  6. 중장기 동향을 완전히 추적하기 위한 높은 자본 활용

위험성

주의해야 할 몇 가지 위험 요소가 있습니다.

  1. 트렌드를 따르는 지표로서 MACD는 불안한 시장에서 잘못된 신호를 생성 할 수 있습니다.
  2. EMA 필터는 유효한 거래 기회를 필터링할 수 있습니다.
  3. 부적절한 매개 변수 설정은 과잉 또는 과소 거래로 이어질 수 있습니다.
  4. 지연성 때문에 단기적인 시장 변화에 대응할 수 없습니다.
  5. 지연으로 인해 트렌드 전환점에 최적의 타이밍을 놓칠 수 있습니다.

해결책:

  1. 매개 변수를 최적화하고 EMA 필터를 조정하여 잘못된 신호를 줄이십시오.
  2. 더 많은 거래를 발견하기 위해 확인을 위해 다른 지표를 포함
  3. 단일 거래에서 손실을 제어하기 위해 스톱 손실을 구현하십시오.
  4. 유연성을 높이기 위해 보유 기간을 단축

최적화

이 전략은 다음과 같은 방법으로 더 이상 최적화 될 수 있습니다.

  1. 더 높은 정확성을 위해 다른 지표를 추가하여 결합 된 시스템을 형성하십시오.
  2. 더 나은 위험 통제를 위해 이익 취득 및 손실 중지 메커니즘을 도입
  3. 가짜 파장을 피하기 위해 부피 지표를 포함합니다.
  4. 안정성 향상을 위해 시장 조건에 따라 매개 변수를 동적으로 조정합니다.
  5. 입력 및 출력 논리를 정제하여 타이밍을 개선합니다.
  6. 트렌드를 더 잘 추적하고 위험을 줄이기 위해 포지션 규모

지표 조합, 적응 매개 변수, 스톱 로스/이익 취득 등과 같은 방법을 통해 상당한 개선이 가능합니다.

결론

요약하자면, MACD 트렌드 다음 전략은 중장기 트렌드를 식별하기 위해 간단하고 효과적인 MACD 지표를 활용하고 논리를 따라 명확한 트렌드를 구현합니다. 트렌드와 합리적인 리스크 제어 조치를 포착 할 수있는 능력이 있습니다. 추가 최적화로 전략은 매우 실용적인 양 거래 시스템으로 변할 수 있습니다. 단기 이익보다 안정적인 장기 수익을 추구하는 투자자에게 적합합니다.


/*backtest
start: 2022-11-14 00:00:00
end: 2023-10-27 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's MACD Strategy v1.0", shorttitle = "MACD str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
usefil = input(false, defval = false, title = "Use EMA filter")
lenfil = input(5, defval = 5, minval = 1, maxval = 50, title = "EMA filter period")

fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

//Signals
ema = ema(close, lenfil)
trend = crossover(delta, 0) == true ? 1 : crossunder(delta, 0) == true ? -1 : trend[1]
up = trend == 1 and (low < ema or usefil == false) ? 1 : 0
dn = trend == -1 and (high > ema or usefil == false) ? 1 : 0

plot(ema, color = black, transp = 0)

if (up == 1)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if (dn == 1)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)


더 많은