이 전략은 다른 시간 프레임에 걸쳐 이동 평균을 계산하여 트렌드 브레이크를 식별합니다. 그것은 낮은 위험 트렌드를 추적 할 수 있습니다.
10일 EMA가 200일 EMA를 넘고 20일 EMA가 50일 EMA를 넘을 때 장거리 이동. 10일 EMA가 200일 EMA를 넘고 20일 EMA가 50일 EMA를 넘을 때 단거리 이동. 이중 이동 평균 설계는 잘못된 브레이크오프를 효과적으로 필터링합니다.
이 전략은 먼저 10일, 20일, 50일 및 200일 기간에 걸쳐 4개의 기하급수적인 이동 평균 (EMA) 을 계산한다. 10일 EMA는 단기 트렌드, 20일 중간, 50일 중기 및 200일 장기 트렌드를 나타낸다. 짧은 EMA가 더 긴 EMA를 넘을 때, 잠재적인 트렌드 반전을 신호한다. 그러나 하나의 EMA 크로스오버를 사용하면 쉽게 잘못된 신호를 생성한다.
신뢰성을 향상시키기 위해 전략은 두 개의 필터링 계층을 적용합니다: 10/200 EMA 크로스 가이즈는 장기/단기 트렌드 변동, 20/50 EMA 크로스 가이즈는 중장기/중장기 변동입니다. 두 EMA 쌍이 같은 방향으로 정렬 될 때만 거래가 시작됩니다.
이중 EMA 필터링은 잘못된 신호를 크게 줄여 더 신뢰할 수 있는 거래 항목을 생성합니다.
개선 사항은 브레이크아웃 기준을 완화하고, 볼륨 확인을 추가하고, 매개 변수를 최적화하는 것입니다.
요약하자면, 최적화, 부피 및 더 많은 지표로 보완 된 이중 이동 평균 핵심은 안정적인 트렌드 추적 시스템을 구축 할 수 있습니다.
단순하지만 실용적인 트렌드 다음 전략. 이중 EMA 코어는 품질 신호를 위해 거짓 브레이크우트를 안정적으로 필터합니다. 쉬운 매개 변수는 또한 채택을 촉진합니다. 위험 관리 및 최적화에 대한 추가 개선은 성능을 향상시킬 수 있습니다. 전반적으로 단순함으로 뒷받침되는 접근 가능한 도입량 전략.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-13 02:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Advancing Our Basic Strategy", overlay=true) ema10 = ema(close, 10) ema20 = ema(close, 20) ema50 = ema(close, 50) ema200 = ema(close, 200) long = ema10 > ema200 and ema20 > ema50 short = ema10 < ema200 and ema20 < ema50 longcondition = long and long[10] and not long[11] shortcondition = short and short[10] and not short[11] closelong = ema10 < ema200 or ema20 < ema50 and not long[11] closeshort = ema10 > ema200 or ema20 > ema50 and not short[11] plot(ema10, title="10", color=green, linewidth=2) plot(ema20, title="20", color=red, linewidth=3) plot(ema50, title="50", color=purple, linewidth=2) plot(ema200, title="200", color=blue, linewidth=3) testPeriodStart = timestamp(2018,8,1,0,0) testPeriodStop = timestamp(2038,8,30,0,0) if time >= testPeriodStart and time <= testPeriodStop strategy.entry("Long", strategy.long, 1, when=longcondition) strategy.entry("Short", strategy.short, 1, when=shortcondition) strategy.close("Long", when = closelong) strategy.close("Short", when = closeshort)