이중 기하급수적 이동 평균 크로스오버 전략은 전형적인 트렌드 추후 전략이다. 시장 추세를 결정하고 그에 따른 긴 포지션과 짧은 포지션을 만들기 위해 다른 매개 변수와 함께 이중 기하급수적 이동 평균 (DEMA) 의 황금 십자와 죽은 십자 를 사용합니다.
이 전략은 다른 매개 변수와 함께 3개의 DEMA를 동시에 사용합니다: DEMA (8). DEMA (.) 20) 및 DEMA (.) 63.
DEMA (8). 단기 동향을 파악하는 데 가장 빠르게 반응합니다.
중장기 동향을 파악하기 위해 DEMA))) 가 약간 느려집니다.
DEMA (주) 는 장기적인 경향 방향을 판단하기 위해 가장 느리게 반응합니다.
빠른 라인 DEMA ((8) 가 중간 라인 DEMA ((20) 과 느린 라인 DEMA ((63) 을 넘을 때, 시장이 밑에서 위로 돌아가는 것을 나타냅니다. DEMA ((8) 가 DEMA ((20) 과 DEMA ((63) 아래로 넘을 때, 시장이 위에서 아래로 돌아가는 것을 나타냅니다. 짧은 포지션을 만들어야합니다.
단일 이동 평균에 비해 이중 지수 이동 평균은 가격 변화에 더 민감하며 트렌드의 전환점을 더 일찍 감지 할 수 있습니다. 이 전략은 DEMA의 여러 시간 프레임을 결합하여 시장 트렌드 방향을 효과적으로 추적 할 수 있습니다.
멀티 타임프레임 DEM 라인의 조합은 거래 신호의 품질을 향상시키고 잘못된 브레이크오웃을 피합니다. 동시에 전략은 세 라인이 교차 할 때 신호를 생성하여 과도한 거래 빈도를 피합니다.
이 전략의 주요 위험은 다음과 같습니다.
위험은 매개 변수를 최적화하고 필터 조건을 추가함으로써 더 향상되고 통제 될 수 있습니다.
전략은 다음 측면에서 최적화 될 수 있습니다:
DEMA 크로스오버 전략은 명확한 전반적인 아이디어를 가지고 있습니다. 다중 타임프레임 DEMA를 결합함으로써 시장 트렌드 방향을 효과적으로 결정할 수 있으며 전형적인 트렌드를 따르는 전략입니다. 더 나은 전략 결과를 얻기 위해 실제 필요에 따라 매개 변수 최적화, 필터 추가, 스톱 손실 관리 등을 통해 전략을 개선 할 수 있습니다.
/*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 ')