이중 지수 이동 평균 교차 전략

EMA 技术指标 交叉策略 趋势跟踪 移动平均线
생성 날짜: 2025-04-07 12:00:24 마지막으로 수정됨: 2025-04-07 12:00:24
복사: 0 클릭수: 328
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

이중 지수 이동 평균 교차 전략 이중 지수 이동 평균 교차 전략

개요

이중 지수 이동 평균 교차 전환 탈퇴 전략은 두 개의 다른 주기 EMA 라인 ((5주기 및 21주기) 의 교차 신호를 기반으로 한 정량 거래 전략이다. 이 전략은 단기 EMA와 장기 EMA 사이의 금고 및 사각지대를 식별하여 시장 추세의 변화점을 포착하여 트렌드 추적 거래를 구현한다. 단기 EMA를 상향으로 가로질러 금고가 형성되면 다중 신호가 발생하고; 단기 EMA를 하향으로 가로질러 장기 EMA가 형성되어 사각지대가 발생하면 공백 신호가 발생한다. 이 전략은 교차 신호가 발생했을 때 역 포지션을 평면화하고 새로운 포지션을 구축하여 완전히 자동화된 트렌드 추적 거래를 구현한다.

전략 원칙

이 전략의 핵심 원칙은 이동 평균 교차 신호를 기반으로 시장 추세의 전환점을 식별하는 것이다. 구체적으로 다음과 같이 구현된다:

  1. 두 개의 지수 이동 평균을 계산: 5 주기 EMA (단기) 및 21 주기 EMA (장기)
  2. 골드포크 신호를 식별: 5주기 EMA가 아래에서 21주기 EMA를 통과할 때
  3. 사각지대 신호를 식별: 5주기 EMA가 21주기 EMA를 상단에서 통과할 때
  4. 거래 규칙:
    • 골드 포크 신호가 발생하고 현재 상위 포지션이 없을 때, 가능한 빈 상위 포지션을 평행하고, 상위 포지션을 열어
    • 사다리 신호가 발생하고 현재 공백 포지션이 없을 때, 가능한 다중 포지션을 평행하여 공백 포지션을 열고
  5. 포지션 관리: 계좌의 순액의 100%를 사용하여 거래하고, 상장할 수 없습니다 (pyramiding 0으로 설정)
  6. 시간 필터: 거래 신호는 2024년 1월 1일부터 2025년 3월 1일 사이에만 실행됩니다.

이 전략은 트렌드 추적의 아이디어를 채택하여 이동 평균을 교차하여 트렌드 방향의 변화를 확인하고 트렌드 확인 후 트렌드에 따라 해당되는 방향을 설정합니다. EMA 지표는 가격 변화에 대한 반응에 더 민감하며 단순한 이동 평균보다 더 빨리 트렌드의 변화를 포착 할 수 있습니다.

전략적 이점

코드의 심층적인 분석을 통해, 이 전략은 다음과 같은 중요한 장점을 가지고 있다:

  1. 신호 명확성: EMA 교차 기반의 신호는 명확하고 명확하지 않아 실행과 재측정을 쉽게 할 수 있다.
  2. 반응 민감성: SMA 대신 EMA를 사용하여 전략이 가격 변화에 더 민감하게 반응하여 트렌드 변화를 더 빨리 포착 할 수 있습니다.
  3. 높은 수준의 자동화: 전략은 거래 신호를 완전히 자동으로 실행하고, 인간의 개입이 필요하지 않으며, 주관적인 감정이 거래에 영향을 미치지 않습니다.
  4. 완전한 위험 관리: 역전 신호가 발생했을 때 자동으로 포지션을 청산하여 위험 노출 시간을 효과적으로 제어합니다.
  5. 재원 관리 합리화: 계좌의 순자치 비율을 위치 관리 방법으로 사용하여 계정 규모가 변함에 따라 위치 크기를 자동으로 조정합니다.
  6. 시각화 우수함: 기판에 골드 포크 및 데드 포크 신호를 표시하고 전략 매개 변수 및 순이익을 표시하여 전략을 모니터링하고 평가할 수 있습니다.
  7. 양방향 거래: 상승과 하락 양쪽의 동시 트렌드를 포착하여 시장 기회를 극대화합니다.
  8. 시간 필터링: 시간 필터링 메커니즘을 통해 특정 기간의 시장 방해를 피하기 위해 전략 실행 시간 범위를 유연하게 설정할 수 있습니다.

전략적 위험

이 전략은 합리적으로 설계되었지만, 다음과 같은 잠재적인 위험들이 있습니다.

  1. 흔들리는 시장 위험: 가로판 흔들리는 시장에서 EMA 교차 신호가 자주 발생하여 가짜 신호가 발생하여 연속적인 스톱 손실이 발생할 수 있습니다.

    • 해결 방법: ADX 지표가 트렌드 강도를 확인하는 것과 같은 추가 필터 조건을 추가하거나 변동율 필터를 추가할 수 있습니다.
  2. 지연 위험: EMA가 빠르게 반응하지만, 지연 지표로서 약간의 지연이 남아 있으며, 트렌드가 끝난 후에 신호를 보낼 수 있습니다.

    • 해결 방법: EMA 주기를 줄이거나 선도 지표 사용과 결합하는 것을 고려할 수 있습니다.
  3. 자금 관리 위험: 100%의 계정 순액을 사용하여 거래하는 전략, 높은 레버리지, 연속적인 손실이 발생하면 계정 순액이 크게 줄어들 수 있습니다.

    • 해결 방법: 포지션 비율을 50% 또는 그 이하로 낮추고 최대 회수 제어를 도입하는 방법
  4. 중단 메커니즘의 부재: 코드에 명확한 중단 설정이 없으며, 극단적인 시장 조건에서 더 큰 손실이 발생할 수 있습니다.

    • 해결 방법: 고정된 스톱로스 또는 ATR 배수 스톱로스를 추가하여 단일 거래의 최대 손실을 제한
  5. 이익 보호의 부재: 스톱 또는 이동식 스톱을 설정하지 않고, 이미 얻은 이익을 회수할 수 있습니다.

    • 해결 방법: 이동 상쇄를 실행하거나 특정 수익 목표를 달성했을 때 부분적으로 수익을 얻습니다.

전략 최적화 방향

코드의 심층적인 분석을 바탕으로, 이 전략은 다음과 같은 방향으로 최적화될 수 있습니다:

  1. 트렌드 필터를 추가: ADX 지표를 도입하여 약한 트렌드 시장의 거래 신호를 필터링하고, ADX가 특정 하락값 (예: 20) 보다 크면만 거래를 실행하여, 흔들리는 시장의 가짜 신호를 줄여줍니다. 이러한 최적화는 승률을 효과적으로 향상시킬 수 있습니다. 이동 평균 전략이 강한 트렌드 시장에서 더 잘 작동하기 때문입니다.

  2. 다이내믹 스톱을 실행: ATR 기반의 다이내믹 스톱을 추가하여 시장의 변동성에 따라 자동으로 스톱 위치를 조정할 수 있으며, 위험을 통제하면서도 스톱이 너무 밀리므로 조기 종료되지 않습니다. 이것은 장기 동향을 추적하는 데 특히 가치가 있습니다.

  3. 최적화 EMA 매개 변수: 매개 변수 최적화를 통해 3과 15, 8과 34과 같은 다양한 EMA 주기 조합을 테스트하여 특정 시장 환경에서 더 잘 작동하는 매개 변수를 찾을 수 있습니다. 다른 시장과 시간 프레임에는 다른 최적화 매개 변수가 필요할 수 있습니다.

  4. 부분 수익 메커니즘을 도입한다: 수익이 특정 수준에 도달했을 때 (예를 들어 2 배의 ATR), 수익을 고정하는 일부 포지션을 평행할 수 있으며, 나머지 포지션은 추세를 추적하는 것을 계속 할 수 있다. 이것은 큰 추세를 잡는 능력을 유지하면서 전체 수익 안정성을 향상시킬 수 있다.

  5. 거래 시간 필터를 추가합니다. 특정 시점에 과도한 변동성이 있거나 유동성이 부족한 시장은 거래 시간 창을 설정하여 시장이 가장 활발하고 안정적인 시간에만 거래 할 수 있습니다. 이것은 높은 변동성 또는 저효율의 시장 환경을 피하는 데 도움이됩니다.

  6. 포지션 관리 전략을 구현: 현재 고정 비율의 포지션 관리 방법을 개선하여, 변동성에 기반한 포지션 조정 방식을 채택하여, 변동성이 높은 시장 환경에서 포지션을 줄이고, 반대로 포지션을 증가시켜 리스크 의 일관성을 유지한다.

  7. 2차 확인 지표 추가: RSI, 무작위 지표 또는 MACD와 같은 다른 기술 지표와 결합하여 2차 확인으로, 여러 지표가 같은 방향으로 표시되면 거래가 수행되며 신호 품질이 향상됩니다.

요약하다

이중 지수 이동 평균 교차 전환 탈퇴 전략은 5주기 및 21주기 EMA의 교차 신호를 식별하여 시장 추세 전환점을 포착하는 간결하고 효율적인 트렌드 추적 거래 시스템입니다. 이 전략은 명확하게 작동하고 자동화를 수행하며 객관적으로 신호를 생성하며 중·장기 추세가 뚜렷한 시장 환경에 적합합니다.

흔들리는 시장에서 잘못된 신호의 위험과 약간의 지연이 있음에도 불구하고, 트렌드 강도 필터링, 최적화 파라미터 선택, 다이내믹 스톱로드 구현 및 포지션 관리 개선 등의 방법을 통해 전략의 안정성과 수익성을 크게 향상시킬 수 있습니다. 완전히 자동화된 트렌드 추적 시스템을 찾는 거래자에게는 개인 위험 선호도와 거래 스타일에 따라 추가 조정 및 최적화를 할 수있는 이상적인 기본 프레임 워크입니다.

특히 주목할 점은, 이 전략과 시장 구조 분석, 기본적 필터링 또는 계절 분석과 같은 방법을 결합함으로써, 다양한 시장 환경에서 경쟁력을 유지하기 위해 더 포괄적인 거래 시스템을 구축할 수 있다는 것입니다.

전략 소스 코드
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-06 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("EMA Cross Strategy with EMA Turning Exit", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)



// 定义EMA参数
ema5 = ta.ema(close, 5)
ema21 = ta.ema(close, 21)

// 绘制EMA线
plot(ema5, color=color.blue, title="EMA 5", linewidth=1)
plot(ema21, color=color.red, title="EMA 21", linewidth=1)

// 定义金叉和死叉条件
goldCross = ta.crossover(ema5, ema21)
deadCross = ta.crossunder(ema5, ema21)

// 在图表上标记交叉信号
plotshape(goldCross, title="Golden Cross", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.normal)
plotshape(deadCross, title="Death Cross", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.normal)


// 执行交易策略

// 开多单条件:金叉信号且无多头仓位
if (goldCross and strategy.position_size <= 0)
    strategy.close("Short")  // 平掉空头仓位(如果有)
    strategy.entry("Long", strategy.long)

// 开空单条件:死叉信号且无空头仓位
if (deadCross and strategy.position_size >= 0)
    strategy.close("Long")  // 平掉多头仓位(如果有)
    strategy.entry("Short", strategy.short)

// 显示策略参数和状态
var table t = table.new(position.top_right, 2, 3, bgcolor=color.white)
table.cell(t, 0, 0, "EMA Fast", text_color=color.blue)
table.cell(t, 1, 0, "5", text_color=color.blue)
table.cell(t, 0, 1, "EMA Slow", text_color=color.red)
table.cell(t, 1, 1, "21", text_color=color.red)
table.cell(t, 0, 2, "Net Profit", text_color=color.black)
table.cell(t, 1, 2, str.tostring(strategy.netprofit), text_color=color.black)