더블 EMA 기반 트렌드 추종 전략


생성 날짜: 2024-01-24 14:52:59 마지막으로 수정됨: 2024-01-24 14:52:59
복사: 0 클릭수: 323
1
집중하다
1214
수행원

더블 EMA 기반 트렌드 추종 전략

개요

이 전략은 이중 EMA 지표에 기반하여 가격 트렌드를 식별하고 트렌드 추적을 구현하기 위해 구축되었습니다. 전략은 먼저 중장선 EMA와 단기 EMA를 계산하고 두 가지의 골드 크로스를 통해 다중 입장을 구현하고 사다리 입장을 구현합니다. 동시에 전략은 가장 높은 / 가장 낮은 필터링을 도입하여 가짜 신호를 더 필터링합니다.

전략 원칙

이 전략의 핵심 지표는 두 개의 EMA이며, 짧은 EMA와 긴 EMA를 포함합니다. 구체적으로, 전략은 다음과 같은 변수를 정의합니다:

ema1: 중장선 EMA 주기, 기본 34일 ema2: 단기 EMA 주기, 기본은 13일

ema_sr: 종전 가격에 기반한 중장선 EMA highest_ema: ema_sr의 최고 가격 EMA, 주기는 ema2 lowest_ema: ema_sr의 최저 가격 EMA, 주기는 ema2

ema_ysl: 거래 신호를 생성하는 데 사용되는 EMA, ema_sr과 highest/lowest_ema의 큰 관계에 따라 계산

crosses는 ema_sl와 ema_ysl의 골드 크로스와 데드 포크를 감지하여 트렌드 추적을 수행합니다.

쌍 EMA 조합을 통해 가격 추세를 더 정확하게 판단할 수 있다. 중장기 EMA는 단기간의 잡음을 필터링하고, 단기간의 EMA는 중장기 경향의 전환을 적시에 추적할 수 있다. 가장 높은/가장 낮은 EMA를 도입하면 가짜 신호를 더욱 필터링하여 불필요한 거래를 줄일 수 있다.

우위 분석

이 전략의 가장 큰 장점은 트렌드 식별이 정확하다는 것입니다. 쌍 EMA 지표는 자체적으로 단일 EMA 및 SMA와 같은 다른 지표보다 트렌드 전환을 식별 할 수있는 더 강한 능력을 가지고 있습니다.

또한, 이 정책의 매개 변수는 단순하고, 조정 및 최적화하기 쉽습니다. 사용자는 두 개의 EMA 매개 변수에만 주의를 기울여야하며, 매우 직관적입니다. 이것은 또한 정책을 이해하기 쉽고 사용하기 쉽다.

위험 분석

이 전략의 주요 위험은 트렌드 반전을 인식하지 못한다는 것입니다. 가격의 장기적인 조정이나 중대한 전환이 발생할 때 쌍 EMA 포트폴리지의 지연성은 최적의 입문 시점을 놓치게 할 수 있습니다. 이 경우 포지션은 과부하가 될 수 있으며 이로 인해 큰 손실이 발생할 수 있습니다.

또한, EMA 자체는 급격한 사건에 대응할 능력이 없습니다. 주요 블랙 스완 사건이 발생했을 때, 전략은 마찬가지로 손실을 입을 수 있습니다.

위와 같은 위험을 완화하기 위해 중장기 EMA의 길이를 적절히 줄이거나, 또는 MACD와 같은 지표가 급격한 사건에 대응하도록 도입하는 것이 좋습니다. 동시에, 최대 손실을 제어하기 위해 스톱로스를 설정할 수도 있습니다.

최적화 방향

이 전략에는 더 많은 최적화 가능성이 있습니다. 구체적으로, 주요 최적화 방향은 다음과 같습니다.

  1. 더 많은 EMA 변수 조합을 테스트하여 최적의 변수를 찾습니다.

  2. 거래량 판단을 높여 가격 변동에 대한 잘못된 신호를 피하십시오.

  3. 트렌드 라인, 채널 등의 도구와 결합하여 트렌드 전환점을 더 정확하게 판단할 수 있습니다.

매개 변수 최적화, 필터링 조건을 추가하는 등의 수단으로 전략의 안정성과 수익성을 더욱 향상시킬 것으로 예상된다. 이것은 양적 테스트 담당자의 지속적인 재검토와 최적화를 필요로 한다.

요약하다

이 전략은 전체적으로 트렌드를 인식하는 능력이 강하며, 쌍의 EMA 조합을 통해 소음을 필터링하고, 가격 곡선을 효과적으로 평형시킨다. HIGHEST/LOWEST EMA의 도입은 또한 신호의 신뢰성을 강화한다.

그러나 전략 자체는 다소 뒤쳐져 있으며, 트렌드 반전을 제 시간에 식별할 수 없습니다. 이것은 전략이 직면한 주요 위험이며, 미래 최적화의 주요 방향입니다. 우리는 파라미터 조정, 신호 필터링 등의 방법을 통해 전략의 거친성을 더욱 강화하여 더 많은 시장 환경에서 안정적인 수익을 얻을 수 있도록 기대합니다.

전략 소스 코드
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Modified from kivancfr3762's A2MK script

strategy("EMA STRATEGY", overlay=true)

ema2=input(13, "EMA2 Length")
ema1=input(34, "EMA1 Length")

ema_sr = ema((max(close[1], high) + min(close[1], low)) / 2, ema1)

highest_ema = ema(highest(ema_sr, 3), ema2)
lowest_ema = ema(lowest(ema_sr, 3), ema2)
k1 = ema_sr > highest_ema
k2 = ema_sr < lowest_ema

ema_ysl = iff(k1, lowest_ema, highest_ema)


longCondition = crossover(ema_ysl, ema_sr)
if (longCondition)
    strategy.entry("Short", strategy.short)

shortCondition = crossunder(ema_ysl, ema_sr)
if (shortCondition)
    strategy.entry("Long", strategy.long)