EMA의 크로스오버 전략

저자:차오장, 날짜: 2023-11-24 13:49:45
태그:

img

전반적인 설명

이 전략은 기하급수적인 이동 평균 (EMA) 크로스오버를 기반으로 하는 거래 전략이다. 50기기 EMA를 주요 기술 지표로 사용합니다. 가격선이 아래에서 EMA를 넘으면, 길게 가십시오. 가격선이 위에서 EMA를 넘으면, 수익을 얻기 위해 짧게 가십시오.

전략 논리

핵심 아이디어는 가격의 추세를 판단하는 도구로 50 기간 EMA를 사용하는 것입니다. EMA 라인은 가격 데이터를 매끄럽게하고 장기 가격 추세를 반영하기 위해 단기 시장 소음을 제거 할 수 있습니다. 가격 라인이 아래에서 EMA 라인을 넘을 때 가격이 상승하기 시작한다는 것을 나타냅니다. 가격 라인이 위에서 EMA 라인을 넘을 때 가격이 하락하기 시작한다는 것을 나타냅니다. 이것은 짧게 갈 수있는 기회입니다.

특히 전략은 주로 다음의 측면을 포함합니다.

  1. 입력 매개 변수: EMA 기간을 50로 설정합니다.

  2. 지표 계산: 50주기 EMA를 계산하기 위해 ta.ema 함수를 호출합니다.

  3. 진입 조건: 가격이 EMA를 넘을 때 긴 신호가 생성되고, 가격이 EMA를 넘을 때 짧은 신호가 생성됩니다.

  4. 출구 조건: 출입시 최고/최저 가격을 기록합니다. 가격이 그 수준을 나중에 돌파하면 출구합니다.

  5. 시각화: EMA 라인을 그래프화하고 장/단점의 입점과 출점을 표시합니다.

이렇게 하면, 우리는 트렌드 방향에 따라 거래할 수 있습니다. 그리고 가격이 역전되기 시작할 때 적절한 시간에 손해를 멈추게 됩니다.

이점 분석

다른 지표와 전략에 비해 EMA의 크로스오버 전략은 몇 가지 중요한 장점을 가지고 있습니다.

간단하고 직관적입니다.유일한 핵심 지표는 EMA입니다. 이해하기 쉽고 작동하기 쉽습니다. 복잡한 지표가 없습니다.

유연한 조정EMA의 기간은 다른 시장과 제품에 맞게 매우 유연하게 조정될 수 있습니다.

트렌드를 잡으세요EMA는 가격 데이터를 효율적으로 매끄럽게 하고 중장기 트렌드 변화를 파악할 수 있습니다.

유출 통제새로운 최고/최저 가격을 사용해서 손실을 멈추게 됩니다. 이는 마감량을 잘 조절할 수 있습니다.

위험 과 해결책

이 전략은 또한 다음과 같은 몇 가지 위험을 초래합니다.

트렌드 미흡. 가격이 격렬하게 변동 할 때, EMA는 역전 지점을 적시에 파악하지 못하고 트렌드 변화 기회를 놓칠 수 있습니다. 볼링거 밴드와 같은 다른 지표는 검증을 위해 결합 될 수 있습니다.

유가증권. 스톱 로스 포인트는 신호가 나타나면 가장 높고 가장 낮은 가격을 직접 취합니다. 너무 쉽게 도달하고 조기에 스톱 로스를 중단 할 수 있습니다. 이동 스톱 로스, 확장 된 스톱 로스 범위가 고려 될 수 있습니다.

매개 변수 조정부적절한 EMA 기간은 여러 가지 잘못된 신호로 이어질 것입니다. EMA 기간과 같은 매개 변수는 변동성, 사이클 등을 기반으로 조정해야합니다.

개선 방향

이 전략은 더 많은 개선을 할 수 있습니다.

  1. 볼링거 밴드와 결합하여 신호를 필터링하고 잘못된 EMA 신호를 피합니다.

  2. 조기 출구를 피하기 위해 후속 스톱 손실, 스윙 스톱 손실 등으로 스톱 손실 메커니즘을 개선하십시오.

  3. 가장 적합한 기간을 찾기 위해 다른 시장과 거래 도구를 기반으로 EMA 매개 변수를 최적화하십시오.

  4. 최적의 조합을 찾기 위해 자동 매개 변수 최적화 모듈을 추가합니다.

결론

이 전략은 EMA 지표에 기반하여 가격 추세를 결정하고 골든 크로스 상장하고 죽음의 크로스 상장한다. 전략은 작동하기 쉽고 스톱 로스 제어로 트렌드 방향으로 거래할 수 있다. 전략은 더 많은 필터 지표를 결합하고, 스톱 로스 메커니즘을 개선함으로써 더 최적화 될 수 있다. 일반적으로 EMA 크로스오버 전략은 주목하고 고려할 가치가 있다.


/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA 50 Crossover Strategy", shorttitle="EMA 50 xover", overlay=true)

// Input for EMA length
emaLength = input(50, title="EMA Length")

// Calculate EMA 50
ema50 = ta.ema(close, emaLength)

// Define conditions for long entry
longCondition = ta.crossover(close, ema50)

// Define conditions for short entry
shortCondition = ta.crossunder(close, ema50)

// Calculate the high of the signal candle for long entry
var float longSignalHigh = na
if (longCondition)
    longSignalHigh := high

// Calculate the low of the signal candle for short entry
var float shortSignalLow = na
if (shortCondition)
    shortSignalLow := low

// Long entry
plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

// Short entry
plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Exit conditions
longExitCondition = ta.crossunder(close, longSignalHigh)
shortExitCondition = ta.crossover(close, shortSignalLow)

// Plot exit signals
plotshape(series=longExitCondition, title="Long Exit Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(series=shortExitCondition, title="Short Exit Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

// Strategy entry and exit logic
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Long", when=longExitCondition)
strategy.close("Short", when=shortExitCondition)

// Plot EMA 50
plot(ema50, title="EMA 50", color=color.blue)


더 많은