EMA의 크로스오버 전략

저자:차오장, 날짜: 2023-09-28 11:22:39
태그:

전반적인 설명

이 전략은 EMA 크로스오버 원칙에 기반한 거래 시스템을 구축하여 자동으로 거래하고 시장 트렌드를 포착합니다. 주로 빠른 EMA와 느린 EMA의 크로스오버를 사용하여 구매 및 판매 신호를 결정합니다.

전략 논리

이 전략은 주로 두 개의 이동 평균, EMA의 교차 원칙에 기반합니다. 하나는 20 기간 느린 EMA이며 다른 하나는 9 기간 빠른 EMA입니다. 빠른 EMA (EMA9) 가 느린 EMA (EMA20) 를 넘을 때 구매 신호가 생성됩니다. EMA9가 EMA20를 넘을 때 판매 신호가 생성됩니다.

특히, 전략은 두 EMA의 값을 계산하고 크기 관계를 비교하여 크로스오버가 발생하는지 여부를 결정합니다. EMA9가 EMA20보다 크면 황금 십자가가 발생하고 부울 변수가 상승으로 설정되어 구매 신호가 생성된다는 것을 나타냅니다. EMA9가 EMA20보다 작을 때 죽은 십자가가 발생하고 부울 변수가 하락으로 설정되어 판매 신호가 생성된다는 것을 나타냅니다.

동시에, 전략은 EMA9과 EMA20 사이의 교차점을 탐지하기 위해 크로스 함수를 사용합니다. 상승 교차점이 발생하면, 즉 EMA9가 EMA20를 넘어서면, 상승도 true로 설정됩니다. 하향 교차점이 발생하면, 즉 EMA9가 EMA20를 넘어서면, 하락도 true로 설정됩니다.

이 이중 검증은 신호가 빠지는 것을 피하는 데 도움이 됩니다. 마지막으로, 전략은 자동 거래 시스템을 완료하기 위해 상승 및 하락의 값에 기반한 긴 또는 짧은 논리를 입력합니다.

이점 분석

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

  1. EMA 교차 원리를 사용하면 시장 트렌드 반전 지점을 효과적으로 감지하고 트렌드를 포착합니다.

  2. 빠른 EMA와 느린 EMA 조합은 트렌드를 부드럽게 하고 반전을 감지합니다.

  3. 고전적인 골든 크로스 구매와 죽은 크로스 판매는 간단하고 직관적입니다.

  4. 크로스오버 탐지 논리가 추가되어 신호가 빠지는 것을 방지합니다.

  5. 완전 자동화 시스템, 수동 개입이 필요없어, 좋은 백테스트 결과

  6. 사용자 정의 가능한 EMA 기간은 전략을 최적화 할 수 있습니다.

위험 분석

이 전략에는 또한 몇 가지 위험이 있습니다.

  1. EMA 크로스오버 트렌드 검출은 늦어지고 전환점을 놓칠 수 있습니다.

  2. 윙사 효과는 단기 수정에 잘못된 신호를 유발할 수 있습니다.

  3. 고정된 EMA 기간은 시장 변화에 적응할 수 없습니다.

  4. 트렌드 강도를 측정할 수 없으니 시장에서 좌절될 수도 있습니다.

  5. 스톱 로즈가 없다는 것은 손실이 커질 수 있다는 뜻입니다.

  6. 자동화 시스템 과장 테스트, 의심스러운 실전 성능

위험을 해결하기 위해 다음과 같은 최적화를 할 수 있습니다.

  1. 추세를 확인하는 다른 지표들을 추가해 화이트사 (whipsaws) 를 피한다.

  2. 저변을 제한하기 위해 스톱 로스를 적용합니다.

  3. 동적 EMA 기간에 대한 매개 변수 최적화를 도입합니다.

  4. 시장 거래의 범위를 피하기 위해 트렌드 강도 결정을 추가하십시오.

  5. 견고성을 높이기 위해 앙상블 모델을 사용하십시오.

최적화 방향

이 전략은 몇 가지 측면에서 최적화 될 수 있습니다.

  1. 동적 EMA 기간: 고정된 20 및 9 기간은 시장의 진화 추세를 더 잘 추적하기 위해 적응 할 수 있습니다.

  2. 멀티 타임프레임 검증: 현재는 하나의 시간 프레임으로, 잘못된 신호를 피하기 위해 여러 시간 프레임에서 신호를 확인할 수 있습니다.

  3. 다른 지표를 결합: MACD, KD와 같은 지표를 통합하여 크로스오버 신호를 필터하고 정확도를 향상시킵니다.

  4. 손실 중지: 현재는 스톱 손실이 없습니다. 하락을 제한하기 위해 고정 또는 후속 스톱 손실을 추가 할 수 있습니다.

  5. 매개 변수 최적화가장 좋은 조합을 찾기 위해 EMA 기간을 최적화하거나 동적 매개 변수를 위해 앞으로 나아가는 최적화.

  6. 앙상블 모델: 탄력성을 위한 다양한 매개 변수들을 가진 하위 전략들의 집합을 구축한다.

  7. 기계 학습: 지능형 시스템을 위한 크로스오버를 훈련하고 인식하기 위해 신경망을 사용합니다.

결론

이 전략은 고전적인 EMA 크로스오버 원리에 기반한 자동화된 시스템을 구축한다. 전체적인 논리는 간단하고 명확하다. 그러나 안정성 문제는 존재한다. 동적 매개 변수, 다중 지표 컴보, 스톱 손실, 앙상블 모델 등을 도입함으로써 라이브 성능과 견고성 등에 상당한 개선이 가능하다. EMA 크로스오버 전략은 추가 연구와 응용을 요구한다.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 4d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//For TRI'ers with a stinky trading view account.
//Some reccomended moving averages including the institutional moving averages.
//Much love to Brian for changing our lives.
//@version=4




strategy (title="Crossing Ema 20:9 by Sedkur", overlay=false)

src = close

ema20 = ema(src, 20)
ema9 = ema(src, 9)

plot( ema20, color=color.orange, style=plot.style_line, title="EMA20", linewidth=2)
plot( ema9, color=color.blue, style=plot.style_line, title="EMA9", linewidth=2)

//bullish = (ema9>ema20)?true:false
bullish = cross(ema9, ema20) and (ema9>ema20)?true:false
bearish = cross(ema9, ema20) and (ema20>ema9)?true:false
plotshape(bullish, style=shape.triangleup , location=location.belowbar, color=color.lime,size=size.tiny)
plotshape(bearish, style=shape.triangledown , location=location.abovebar, color=color.red,size=size.tiny)
alertcondition(bullish, title="Bullish", message="AL verdi")

if (bullish)
    strategy.entry("buy", strategy.long, comment="al", when = year>2016)
if (bearish)
    strategy.entry("sell", strategy.short, comment="sat", when = year>2016)
plot(strategy.equity)

더 많은