MACD 200 일간 이동 평균 크로스오버 거래 전략

저자:차오장, 날짜: 2024-01-03 11:50:56
태그:

img

전반적인 설명

이 거래 전략은 MACD 지표의 200일 이동 평균 크로스오버 운영에 기반한 양적 전략입니다. 시장 구매 및 판매 신호를 판단하는 MACD 지표와 시장 추세를 판단하는 200일 이동 평균의 두 가지 기능을 결합하여 보다 정확한 입출시기를 발견하는 것을 목표로합니다.

전략 원칙

이 전략에는 두 가지 핵심 사항이 있습니다.

  1. MACD 지표의 빠른 및 느린 라인 크로스오버는 구매 및 판매 신호를 생성합니다. 빠른 라인이 느린 라인을 상향으로 돌파하면 구매 신호가 생성됩니다. 빠른 라인이 느린 라인을 아래로 돌파하면 판매 신호가 생성됩니다.

  2. 200일 이동 평균은 전체 시장 추세를 판단한다. 200일 이동 평균 이상의 가격은 황소 시장을 나타내고 아래는 곰 시장을 나타낸다. 구매 신호는 황소 시장에서만 행동하며 판매 신호는 곰 시장에서만 행동한다.

이 두 점에 따르면 이 전략의 구체적인 거래 규칙은 다음과 같습니다.

MACD 빠른 라인이 MACD 느린 라인을 상향으로 돌파하면 히스토그램이 음수이며 가격이 200일 이동 평균 이상인 경우 구매 작전이 이루어집니다. MACD 빠른 라인이 느린 라인을 통해 하향으로 돌파하면 히스토그램이 양수이며 가격이 200일 이동 평균 이하인 경우 판매 작전이 이루어집니다.

이점 분석

  1. 이중 확인은 전략의 안정성과 성공률을 향상시킵니다. MACD는 구매 및 판매 신호를 판단하고 200일 이동 평균은 시장 트렌드를 판단합니다. 이중 확인은 더 큰 불확실성으로 일부 거래 신호를 필터링 할 수 있습니다.

  2. 강력한 트렌드 시장에서 이 전략은 상대적으로 높은 수익을 가져올 수 있습니다. 특히 황소 시장에서는 가격 상승 기회를 빠르게 포착 할 수 있습니다.

  3. MACD 지표는 또한 통합 단계에서 벗어날 때 상대적으로 민감합니다. 가격이 긴 통합 기간을 끝내고 트렌드 단계로 들어갈 때이 전략은 새로운 트렌드 방향을 빠르게 파악 할 수 있습니다.

위험 분석

  1. 이 전략은 매개 변수 설정에 매우 민감합니다. MACD 지표 매개 변수 설정이 잘못되면 잘못된 신호가 발생할 수 있습니다.

  2. 트렌드 전환점 근처, MACD 신호는 더 많은 오류를 생성하는 경향이 있습니다. 이 시점에서 전략의 수익성이 더 크게 감소 할 수 있습니다.

  3. 가격이 긴 연장 기간에 있을 때, 이 전략은 명확한 경향 방향을 결정할 수 없으며, 이로 인해 이익/손실의 변동이 증가하고 마감 시간이 길어집니다.

최적화

  1. 더 정확한 신호를 생산하는 MACD 매개 변수를 찾기 위해 다른 매개 변수 조합을 테스트 할 수 있습니다.

  2. RSI와 KD와 같은 다른 기술적 지표의 확인을 추가하여 여러 지표의 합의를 형성하여 전략의 신뢰성을 높이는 것을 고려하십시오.

  3. 최대 유출을 제어하기 위해 스톱 로스 포인트를 설정하십시오. 가격이 상당한 반전을 할 때 즉시 손실을 중지하십시오. 이는 손실을 크게 방지 할 수 있습니다.

결론

MACD 200일 이동평균 크로스오버 전략은 트렌드 판단과 거래 신호 판단의 두 가지 기능을 결합하여 수익성 확률을 효과적으로 향상시킬 수 있습니다. 비교적 견고하고 신뢰할 수있는 양적 거래 전략입니다. 그러나이 전략은 매개 변수와 시장 조건에도 다소 의존합니다. 지속적인 최적화와 테스트는 전략의 안정적인 수익 창출 능력을 더욱 향상시킬 수 있습니다.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © x11joe

//@version=4
//This strategy is based on a youtube strategy that suggested I do this...so I did!

strategy(title="MacD 200 Day Moving Average Signal Crossover Strategy", overlay=false, precision=2,commission_value=0.26, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Getting inputs
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

moving_avg_length = input(title="Moving Average Length", type=input.integer, defval=200)
moving_avg = sma(close,moving_avg_length)

moving_avg_normalized = close - moving_avg
plot(moving_avg_normalized, title="Moving Average Normalized", style=plot.style_line, color=color.orange,linewidth=3)

plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)

if(macd>signal and macd<0 and close>moving_avg)
    strategy.entry("buy",strategy.long)

if(close<moving_avg and macd<signal and macd>0)
    strategy.entry("sell",strategy.short)

더 많은