리소스 로딩... 로딩...

이중 EMA 가격 변동 전략

저자:차오장, 2024-02-26 13:52:41
태그:

img

전반적인 설명

이중 EMA 가격 변동 전략은 서로 다른 기간의 두 개의 EMA 사이의 차이를 계산하여 시장 정서와 동력을 판단합니다. 0 이상의 차이 값의 상승은 상승 신호입니다. 0 이하의 하락은 하락 신호입니다.

이 전략은 간단하고 사용하기 쉽으며 EMA 차이를 통해 시장 추진력과 방향을 판단합니다. 그러나 또한 약간의 지연이 있으며 전환점을 적시에 파악할 수 없습니다.

원칙

이중 EMA 가격 변동 전략의 핵심 지표는 APO, 즉 절대 가격 오시레이터이며 두 EMA 사이의 차이를 나타냅니다. 그 공식은:

APO = EMA(short period) − EMA(long period)

구체적으로, 이 전략의 APO는 다음과 같이 계산됩니다.

xShortEMA = ema(close price, LengthShortEMA)  

xLongEMA = ema(close price, LengthLongEMA)

xAPO = xShortEMA − xLongEMA

여기서 LengthShortEMA와 LengthLongEMA는 각각 단기 EMA와 장기 EMA의 주기의 길이를 나타냅니다.

APO의 몇 가지 핵심 판단 규칙:

  1. 0 이상의 APO의 상승은 상승 신호입니다.
  2. APO가 0 이하로 내려가는 것은 하향 신호입니다.
  3. 양성 APO는 현재 상승세를 나타냅니다.
  4. 마이너스 APO는 현재 베어 상태를 나타냅니다.

APO의 실시간 값을 기반으로 시장 정서와 진입 시기를 결정합니다.

이점 분석

이중 EMA 가격 변동 전략은 다음과 같은 주요 장점을 가지고 있습니다.

  1. 기하급수적인 이동 평균을 사용하면 가격 데이터를 효과적으로 부드럽게하고 노이즈 영향을 줄일 수 있습니다.
  2. APO 지표는 두 개의 EMA를 결합하여 가격 추세와 시장 동력을 판단합니다.
  3. 전략 신호는 간단하고 명확하며, 결정하고 실행하기 쉽습니다.
  4. 사용자 정의 가능한 EMA 주기는 다양한 종류와 거래 스타일에 적응합니다.
  5. 반전 가능한 신호는 반전 및 단기 거래에 적용됩니다.

위험 분석

이중 EMA 가격 변동 전략은 또한 다음과 같은 위험 요소가 있습니다.

  1. EMA 자체는 지연을 가지고 있으며 가격 전환점을 제때 파악할 수 없습니다.
  2. 기본 매개 변수는 모든 품종에 적용되지 않을 수 있습니다, 매개 변수는 최적화가 필요합니다.
  3. 빈번한 신호는 잘못된 신호를 생성하는 경향이 있습니다
  4. 포지션 개설 후 스톱 로스를 결정하고 수익을 취하지 못함
  5. 어떤 지연이 있고, 아마도 가장 좋은 출입 시기를 놓쳤을지도 모릅니다.

우리는 이러한 위험을 해결하고 줄일 수 있습니다. 단독 손실을 줄이기 위해 합리적인 스톱 로스를 적용하고, 사이클을 조정하기 위해 매개 변수를 최적화하고, 신호를 필터링하고 전략 안정성을 향상시키기 위해 다른 지표를 결합함으로써요.

최적화 방향

이중 EMA 가격 변동 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 최적화 EMA 사이클 매개 변수, 길이 5에서 60의 테스트 조합 최적을 찾기 위해
  2. 필터 조건을 설정하고 잘못된 신호를 피하기 위해 MA, KDJ, MACD와 같은 다른 지표를 추가하십시오.
  3. 합리적인 스톱 로스를 결정하고 수익을 취하기 위해 볼링거 밴드, KD를 사용
  4. 트렌드 인덱스를 결합하여 가격 트렌드를 판단하고 트렌드 상거래를 피하십시오.
  5. 거래 부피 표시기를 추가하여 부피 지원 신호를 보장합니다.
  6. 거래와 거래 빈도를 줄이기 위해 재입국 조건을 설정

결론

요약하자면, 이중 EMA 가격 변동 전략은 두 EMA 사이의 APO 차이를 계산하여 시장 정서를 판단합니다. 전략 신호는 간단하고 실용적이지만 몇 가지 단점도 있습니다. 매개 변수 조정, 필터 추가, 정지 설정 및 기타를 통해 최적화 할 수 있습니다. 초보자용으로 사용하기 쉽고 확장 잠재력이 크습니다. 양 거래 학습자가 공부하고 적용하기에 적합합니다.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/05/2017
// The Absolute Price Oscillator displays the difference between two exponential 
// moving averages of a security's price and is expressed as an absolute value.
// How this indicator works
//    APO crossing above zero is considered bullish, while crossing below zero is bearish.
//    A positive indicator value indicates an upward movement, while negative readings 
//      signal a downward trend.
//    Divergences form when a new high or low in price is not confirmed by the Absolute Price 
//      Oscillator (APO). A bullish divergence forms when price make a lower low, but the APO 
//      forms a higher low. This indicates less downward momentum that could foreshadow a bullish 
//      reversal. A bearish divergence forms when price makes a higher high, but the APO forms a 
//      lower high. This shows less upward momentum that could foreshadow a bearish reversal.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Absolute Price Oscillator (APO) Backtest", shorttitle="APO")
LengthShortEMA = input(10, minval=1)
LengthLongEMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xPrice = close
xShortEMA = ema(xPrice, LengthShortEMA)
xLongEMA = ema(xPrice, LengthLongEMA)
xAPO = xShortEMA - xLongEMA
pos = iff(xAPO > 0, 1,
       iff(xAPO < 0, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xAPO, color=blue, title="APO")

더 많은