DEMA 빠른 이중 지수 이동 평균 전략


생성 날짜: 2023-09-26 20:28:11 마지막으로 수정됨: 2023-09-26 20:28:11
복사: 0 클릭수: 754
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

DEMA 빠른 쌍 지수 이동 평균 전략은 DEMA (쌍 지수 이동 평균) 에 기반한 짧은 라인 거래 전략이다. 이 전략은 이동 평균의 평탄함과 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 )