
이중 지수 이동 평균 크로스 오버 전략 (Dual Exponential Moving Average Crossover Strategy) 은 전형적인 트렌드 추적 전략이다. 그것은 상이한 파라미터의 이중 지수 이동 평균의 골드 포크와 데드 포크를 사용하여 시장의 흐름을 판단하고 그에 따라 더 많은 코스 오버한다.
이 전략은 동시에 3개의 다른 파라미터의 이중 지수 이동 평균을 사용한다: DEMA(8), DEMA(20) 및 DEMA(63) ᆞ 이중:
단선 DEMA(8) 위가 중선 DEMA(20) 과 느린 DEMA(63) 을 통과할 때, 아래에서 위쪽으로 역전되는 것을 나타내고, 더 많은 것을 한다. 단선 DEMA(8) 아래가 중선 DEMA(20) 과 느린 DEMA(63) 을 통과할 때, 위에서 아래로 역전되는 것을 나타내고, 공백을 한다.
단일 이동 평균에 비해 쌍 지수 이동 평균은 가격 변화에 더 민감하여 트렌드 전환점을 더 일찍 발견 할 수 있습니다. 이 전략은 여러 시간 동안 쌍 지수 라인을 통합하여 시장 추세 방향을 효과적으로 추적 할 수 있습니다.
여러 시간 동안 DEM 라인을 조합하여 거래 신호 품질을 향상시키고 가짜 돌파구를 피합니다. 동시에, 전략은 세 개의 라인이 교차 할 때만 신호를 생성하여 너무 자주 거래를 피합니다.
이 전략의 주요 위험은 다음과 같습니다.
이동 평균 변수를 최적화하고 필터링 조건을 추가함으로써 위험을 더 개선하고 제어 할 수 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
쌍 지수 이동 평균 경로 전략은 전체적인 아이디어가 명확하고, 여러 시간 동안 DEM의 조합을 사용하여 시장 추세 방향을 효과적으로 판단하는 전형적인 추세 추적 전략이다. 이 전략은 실제 필요에 따라 파라미터 최적화, 필터 조건 추가, 손실 관리 등의 방법으로 개선될 수 있으므로 더 나은 전략 효과를 얻을 수 있다.
/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Noldo
//@version=4
//Quoted by Author HighProfit
//Lead-In
strategy("Double Exponential Moving Average 8-20-63 Strategy",
shorttitle="DEMA-8-20-63",
overlay=true,
max_bars_back = 5000,
initial_capital=100000,
max_bars_back = 5000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
commission_type=strategy.commission.percent,
commission_value=0.1,
pyramiding = 0)
short = input(8, minval=1)
srcShort = input(ohlc4, title="Source Dema 1")
long = input(20, minval=1)
srcLong = input(low, title="Source Dema 2")
long2 = input(63, minval=1)
srcLong2 = input(close, title="Source Dema 3")
e1 = ema(srcShort, short)
e2 = ema(e1, short)
dema1 = 2 * e1 - e2
plot(dema1, color=color.green, linewidth=2)
e3 = ema(srcLong, long)
e4 = ema(e3, long)
dema2 = 2 * e3 - e4
plot(dema2, color=color.blue, linewidth=2)
e5 = ema(srcLong2, long2)
e6 = ema(e5, long2)
dema3 = 2 * e5 - e6
plot(dema3, color=color.black, linewidth=2)
longC = dema1 > dema2 and dema1 > dema3
shortC = dema1 < dema2 and dema1 < dema3
alertlong = longC and not longC[1]
alertshort = shortC and not shortC[1]
strategy.entry("Long" , strategy.long , when = longC ,comment="Long")
strategy.entry("Short", strategy.short, when = shortC,comment="Short")
// Alerts
alertcondition(longC , title='Long' , message=' Buy Signal ')
alertcondition(shortC , title='Short', message=' Sell Signal ')