동력 이동 평균 크로스오버 거래 전략

저자:차오장, 날짜: 2024-01-17 17:41:48
태그:

img

전반적인 설명

이 전략은 이동 평균 크로스오버를 기반으로 하는 모멘텀 트레이딩 전략이다. 트레이딩 신호를 식별하기 위해 서로 다른 기간을 가진 두 개의 기하급수 이동 평균 (EMA) 을 사용합니다. 빠른 EMA가 느린 EMA를 넘을 때 구매 신호가 생성됩니다. 빠른 EMA가 느린 EMA를 넘을 때 판매 신호가 생성됩니다.

원칙

이 전략의 핵심 논리는 이동 평균 크로스오버 시스템에 기반합니다. EMA는 기하급수적인 이동 평균을 의미합니다. EMA의 계산 공식은: $$EMA_t = \frac{P_t \times k}{1+k}+\frac{EMA_{t-1}\times(1-k)}{1+k}$$ 여기서 $P_t$는 현재 하루의 종료 가격, $EMA_{t-1}$는 전날의 EMA 값, $k = \frac{2}{n+1}$, 그리고 n은 EMA 기간입니다.

이 전략의 빠른 EMA 기간은 55로 설정되고 느린 EMA 기간은 34로 설정되어 있습니다. 단기 EMA가 긴 기간 EMA를 밑에서 위로 넘을 때, 단기 이동 평균이 장기 기간 EMA를 위로 이끌기 시작하여 황금 십자가 구매 신호를 생성하는 것을 나타냅니다. 반대로, 단기 EMA가 위에서 아래로 긴 기간 EMA를 넘을 때, 단기 이동 평균이 장기 기간 EMA를 뒤로 하락하기 시작하여 죽음의 십자가 판매 신호를 생성하는 것을 나타냅니다.

장점

이 전략의 장점은 다음과 같습니다.

  1. 단순하고 이해하기 쉽고 실행하기 쉬운 원칙
  2. 좋은 지표 조합 효과를 가진 명확한 거래 신호;
  3. 다양한 시장 환경에서 적용할 수 있는 유연성
  4. 잘못된 신호를 피하기 위해 최적화 가능한 매개 변수

위험 과 해결책

이 전략을 사용하면 몇 가지 위험이 있습니다.

  1. 잠재적으로 더 많은 잘못된 신호. 해결책: 더 안정적인 설정으로 EMA 매개 변수를 최적화합니다.
  2. 고집권 시장의 위프사 (consolidation market whipsaws) 에 유연합니다. 해결책: 트렌드 필터 지표를 사용하십시오.
  3. 실제 시장 추세 또는 정서를 알 수 없습니다. 해결책: 기본 분석과 부피 가격 분석을 결합합니다.

개선 방향

이 전략은 다음과 같은 측면에서 향상될 수 있습니다.

  1. 더 많은 조합으로 EMA 기간 최적화
  2. 고정된 비율과 같은 스톱 로스 메커니즘을 추가합니다.
  3. 신호 필터링을 위한 부피 표시기를 포함합니다.
  4. 다중 시간 프레임 확인 시스템을 추가합니다.

요약

요약하자면, 이것은 매우 고전적이고 실용적인 단기 거래 전략이다. 간단한 명확한 신호와 유연한 응용 공간을 갖추고 있다. 매개 변수 조정, 필터 메커니즘, 위험 통제 등을 통해 전략의 성능을 지속적으로 향상시킬 수 있어 고주파 내일 거래에 중요한 도구가 된다. 전반적으로, 이 전략은 정량화 거래의 기본 모듈로 강력한 응용 가치를 가진 매우 실용적이다.


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

//@version=5
strategy("mohammad tork strategy", overlay=true)

// Input parameters
lengthShortEMA = input(55, title="Short EMA Length")
lengthLongEMA = input(34, title="Long EMA Length")

// Calculate EMAs
emaShort = ta.ema(close, lengthShortEMA)
emaLong = ta.ema(close, lengthLongEMA)

// Conditions for Long Signal
longCondition = ta.crossover(emaLong, emaShort)

// Conditions for Short Signal
shortCondition = ta.crossunder(emaLong, emaShort)

// Execute Long Signal
strategy.entry("Long", strategy.long, when = longCondition)

// Execute Short Signal
strategy.entry("Short", strategy.short, when = shortCondition)

// Plot EMAs on the chart
plot(emaShort, color=color.blue, title="Short EMA")
plot(emaLong, color=color.red, title="Long EMA")

// Plot Long Signal Icon with Buy Label
plotshape(series=longCondition, title="Long Signal", color=color.green, style=shape.triangleup, location=location.abovebar, size=size.small, text="Buy")

// Plot Short Signal Icon with Sell Label
plotshape(series=shortCondition, title="Short Signal", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sell")


더 많은