DEMA 이중 기하급수적 이동 평균 전략

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

전반적인 설명

이중 기하급수적 이동 평균 전략은 DEMA (Double Exponential Moving Average) 를 기반으로 한 단기 거래 전략이다. 이중 기하급수적 이동 평균의 부드러움과 EMA의 빠른 반응을 결합하여 단기 가격 추세를 파악하고 DEMA 크로스오버에서 거래함으로써 수익을 창출하는 것을 목표로합니다.

전략 논리

이 전략은 주로 DEMA 빠른 라인과 DEMA 느린 라인 사이의 황금 십자가와 죽음의 십자가에 의존하여 구매 및 판매 신호를 결정합니다.

구체적으로, 빠른 라인은 다음과 같이 계산됩니다.

demaFast = 2 * ema(close, fastPeriod) - ema(ema(close, fastPeriod), fastPeriod)

그리고 느린 줄은:

demaSlow = 2 * ema(close, slowPeriod) - ema(ema(close, slowPeriod), slowPeriod)

여기서 fastPeriod와 slowPeriod는 각각 빠른 라인과 느린 라인의 기간을 나타냅니다.

빠른 선이 느린 선 위에 넘어가면 구매 신호가 생성됩니다. 빠른 선이 느린 선 아래에 넘어가면 판매 신호가 생성됩니다.

buy = crossover(demaSlow, demaFast)
sell = crossunder(demaSlow, demaFast) 

전략은 DEMA 라인 크로스오버를 기반으로 거래 방향을 결정합니다.

이점 분석

전통적인 이동 평균에 비해 DEMA 라인은 더 민감하고 가격 변화에 더 빠르게 반응할 수 있습니다. 이것은 전략이 더 많은 단기 거래 기회를 포착 할 수있게합니다.

또한, DEMA 라인은 이동 평균의 부드러움을 포함합니다. 이는 시장 소음을 필터링하고 잘못된 신호를 피하는 데 도움이됩니다.

또한, 빠른 및 느린 라인 콤보는 일부까지 거짓 교차를 피합니다. 다른 매개 변수 설정으로 교차가 더 신뢰할 수 있습니다.

요약하자면, DEMA의 이중 지수 이동 평균 전략은 빠른 반응, 잡음 필터링 및 안정적인 신뢰할 수있는 신호의 장점을 가지고 있습니다.

위험 분석

DEMA 라인은 EMA보다 안정적이지만 여전히 잘못된 신호를 생성하는 잘못된 크로스오버로 고통받을 수 있습니다. 이는 충분한 감수성과 안정성을 보장하기 위해 빠른 라인과 느린 라인의 기간 매개 변수를 세밀하게 조정하여 해결할 수 있습니다.

또한, 단기 전략으로서, 거래 비용에 민감하다. 높은 거래 빈도 또는 작은 거래 크기는 이익을 침식시킬 수 있다. 합리적인 무역 매개 변수를 설정하여 비용을 제어해야 한다.

마지막으로, 기술 지표 전략은 스톱 로스를 완전히 피할 수 없습니다. 하락세를 제한하기 위해 적절한 위험 관리가 시행되어야합니다.

최적화 방향

아직 최적화 할 여지가 있습니다.

  1. 최적의 매개 변수를 찾기 위해 다른 기간 조합을 테스트합니다.

  2. 신호를 확인하고 잘못된 신호를 피하기 위해 RSI와 같은 다른 지표를 포함하십시오.

  3. 손해를 막는 메커니즘을 최적화합니다. 예를 들어, 손해를 막는 메커니즘을 활용해서 수익을 올릴 수 있습니다.

  4. 자본 관리를 최적화합니다. 계좌 크기에 따라 포지션 사이즈나 변동성 조정 사이즈와 같이요.

결론

DEMA 이중 기하급수적 이동 평균 전략은 전반적으로 안정적인 단기 거래 전략이다. 빠른 반응과 매끄러운 기능을 가지고 있다. SMA와 비교하면 더 많은 단기 기회를 포착할 수 있다. 매개 변수 조정과 적절한 메커니즘을 통해 전략의 수익성과 안정성이 더욱 향상될 수 있다. 고주파 단기 거래를 원하는 투자자에게 적합하다.


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

strategy(title = "DEMA Strategy", shorttitle = "DEMA Strategy",initial_capital=1000, commission_value=0.2, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity)
//@Moneros 2017
//Based on The DEMA is a fast-acting moving average that is more responsive to market changes than a traditional moving average
// !!!!  IN ORDER TO AVOID REPAITING ISSUES !!!!
// !!!!  DO NOT VIEW IN LOWER RESOLUTIONS THAN res/2 PARAMETER  !!!!
// for example res = 120 view >= 60m  res = 60 view >= 30m
// the length of the DEMA sampling shouldn't be longer than a candle 



// Best profits tested on BTCUSD
//res = 105 slowPeriod = 2 fastPeriod = 32
//res = 125 slowPeriod = 3 fastPeriod = 21
//res = 120 slowPeriod = 2 fastPeriod = 32 
//res = 130 slowPeriod = 1 fastPeriod = 24 
//res = 40 slowPeriod = 4 fastPeriod = 93 
//res = 60 slowPeriod = 1 fastPeriod = 67 

fastPeriod    = input(defval = 32, title = "DEMA FAST Period", minval = 2)
slowPeriod = input(defval = 2, title = "DEMA SLOW Period", minval = 1)
res = input(title="Resolution  - not lower than chart", defval="120")


demaFast =  request.security(syminfo.tickerid, res, 2 * ta.ema(close, fastPeriod) - ta.ema(ta.ema(close, fastPeriod), fastPeriod)  )
demaSlow  = request.security(syminfo.tickerid,res, 2 * ta.ema(close, slowPeriod) - ta.ema(ta.ema(close, slowPeriod), slowPeriod)  )



plot(demaFast,color=color.red)
plot(demaSlow,color=color.lime)

buy = ta.crossover(demaSlow, demaFast)
sell = ta.crossunder(demaSlow, demaFast)


// value [1] for avoid repaiting bottom bars
bgcolor( buy[1] ? color.lime : na, transp=0)
bgcolor( sell[1] ? color.red : na, transp=0)


strategy.entry("BUY", strategy.long, 1, when = buy)
strategy.entry("SELL", strategy.short, 1, when = sell ) 




더 많은