EMA 모멘텀 이동 평균 교차 전략


생성 날짜: 2023-12-07 17:00:52 마지막으로 수정됨: 2023-12-07 17:00:52
복사: 0 클릭수: 884
avatar of ChaoZhang ChaoZhang
1
집중하다
1619
수행원

EMA 모멘텀 이동 평균 교차 전략

개요

동력 평행선 교차 전략은 빠른 엑스포네셜 이동 평균 ((EMA) 와 느린 EMA를 계산하고, 그들의 교차를 관찰함으로써 거래 신호를 생성한다. 빠른 EMA가 아래에서 느린 EMA를 통과하면 구매 신호가 생성된다. 빠른 EMA가 위에서 아래에서 느린 EMA를 통과하면 판매 신호가 생성된다.

전략 원칙

이 전략은 두 개의 EMA를 주요 분석 도구로 사용하고 있습니다. 빠른 EMA 주기는 7이고 느린 EMA 주기는 21입니다. EMA는 가격 데이터를 부드럽게하고 시장 소음을 제거하는 경향 추적 지표입니다. 빠른 EMA는 느린 EMA보다 더 민감하며 가격 추세의 변화를 더 빨리 포착합니다.

빠른 EMA 위에 서서히 EMA를 통과하면, 단기 트렌드가 장기 트렌드를 지배하기 시작한다는 것을 나타냅니다. 즉, 가격이 상승하기 시작합니다. 이 때 전략은 구매 신호를 생성하여 긴 포지션을 열립니다. 반대로, 빠른 EMA 아래 서서히 EMA를 통과하면, 단기 트렌드가 하향으로 시작하여 가격이 떨어지기 시작합니다. 이 때 전략은 판매 신호를 생성하여 짧은 포지션을 열립니다.

EMA를 이용하여 동력을 형성하는 양 거래 신호는 널리 사용되는 양적 거래 전략이다. 이 전략은 가격 경향을 자동으로 추적하고, 인적 판단을 필요로 하지 않고, 효율적으로 거래를 자동화할 수 있다.

우위 분석

  • 폭넓은 지표 사용: EMA는 간단하지만 매우 일반적으로 사용되는 기술 지표이며, 이 전략은 EMA라는成熟하고 효과적인 분석 도구에 기반하여 신뢰성이 높습니다.

  • 자동 트렌드 추적: 이 전략은 가격 트렌드의 변화를 자동으로 발견하고, 인적 판단 없이 거래 결정을 내릴 수 있습니다.

  • 단순하고 명확한 논리: 교차 원칙은 간단하고 이해하기 쉽고, 생성된 신호를 판단하기 쉽고, 위험을 줄인다.

  • 사용자 정의 가능한 매개 변수: 사용자는 자신의 취향에 따라 EMA 주기 매개 변수를 조정할 수 있습니다.

위험 분석

  • 오류 신호가 발생할 수 있다: 가격 변동시, EMA는 여러 번의 교차로 인해 오류 신호가 발생할 수 있다. 파라미터를 조정하여 최적화하거나, 필터 조건을 추가하여 오류 신호를 줄일 수 있다.

  • 단일 지표 의존: 이 전략은 전적으로 이 EMA 지표에 의존한다. EMA가 실패하거나 지연되면 전략의 성과에 영향을 미칩니다. 다른 지표가 조합 검증을 위해 도입될 수 있다.

  • 중단 메커니즘의 부재: 현재 전략은 중지 설정이 없으며, 위험을 적극적으로 제어 할 수 없습니다. 합리적인 포인트 또는 퍼센트 중지 설정해야합니다.

  • 잘못 설정된 파라미터가 무효가 될 수 있다: 잘못 설정된 파라미터가 있으면, EMA 교차는 실제적인 의미를 잃는다. 파라미트의 타당성을 신중하게 평가한다.

최적화 방향

  • 트렌드 필터를 추가: EMA 교차시 가격의 전반적인 트렌드를 확인할 수 있으며, 교정시 잘못된 신호를 방지한다.

  • 다중 지표 검증: MACD, BOLL 등과 같은 다른 지표를 도입하여 거래 신호를 검증하기 위해 EMA와 함께 사용한다.

  • 손실을 증가시키는 전략: 역사적인 회수 상황에 따라 합리적인 이동 손실 또는 손실의 비율을 설정하고 위험을 적극적으로 제어하십시오.

  • 매개 변수 최적화: 역검사를 통해 최적의 매개 변수 조합을 찾아낼 수 있으며, 매개 변수를 최적화하기 위해 동적 주기도 설정할 수 있다.

요약하다

동량 평선 교차 전략 전체적인 아이디어는 명확하고 이해하기 쉽다. 빠른 느린 EMA 교차를 통해 거래 신호를 형성하고, 트렌드를 자동으로 추적하고, 인적 작업량을 줄일 수 있다. 그러나 이 전략에는 약간의 수익 리스크가 존재하지만, 최적화된 매개 변수 설정, 신호 필터링 및 스톱 로즈 메커니즘을 추가하여 위험을 줄이고, 전략 안정성을 높여야 한다.

전략 소스 코드
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © sandeepdezno

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

//Inputs
quantity = input(1, "Quantity")
slPoints = input(2500, "Stoploss")

fastEMA = input(7, "Fast EMA")
slowEMA = input(21, "Slow EMA")

//Defining EMAs
fema = ta.ema(close, fastEMA)
sema = ta.ema(close, slowEMA)

//Checking for Crossover
buyCrossover = ta.crossover(fema, sema) //Buy Signal
sellCrossover = ta.crossunder(fema, sema) //Sell Signal

plot(fema, title = "Fast_EMA", style = plot.style_line, linewidth = 1, color = color.red)
plot(sema, title = "Slow_EMA", style = plot.style_line, linewidth = 2, color = color.black)


//Generating Entries
if buyCrossover
    strategy.entry("Buy",strategy.long, qty = quantity)

if sellCrossover
    strategy.entry("Sell", strategy.short, qty = quantity)

//Stoploss Exit
strategy.exit("StopLoss", from_entry = "Buy", loss = slPoints, qty = quantity)
strategy.exit("StopLoss", from_entry = "Sell", loss = slPoints, qty = quantity)