EMA 역방향 매수 및 매도 전략


생성 날짜: 2023-11-28 16:54:14 마지막으로 수정됨: 2023-11-28 16:54:14
복사: 0 클릭수: 746
avatar of ChaoZhang ChaoZhang
1
집중하다
1619
수행원

EMA 역방향 매수 및 매도 전략

개요

이 전략은 평평선 기반의 트렌드 추적 전략이다. 이 전략은 두 개의 다른 주기의 EMA 평평선, 즉 21주기 및 55주기 EMA 평평선을 사용한다. 단기 EMA 라인을 가로질러 긴 EMA 라인을 가로질러 구매 신호를 발생시키고, 단기 EMA 라인을 가로질러 긴 EMA 라인을 가로질러 판매 신호를 발생시킨다.

이 외에도 전략은 역 거래, ATR 중지 및 역 중단을 결합하여 전략의 안정성과 수익성을 향상시킵니다.

전략 원칙

  1. 21주기 및 55주기 두 개의 EMA 평균선을 사용한다. 21EMA는 단기 경향을, 55EMA는 장기 경향을 의미한다.

  2. 단기 EMA 라인이 장기 EMA 라인을 통과하면 단기 트렌드가 상승 트렌드로 변환되어 구매 신호가 발생한다.

  3. 단기 EMA가 장기 EMA를 넘어서면, 단기 트렌드가 하향 트렌드로 전환되어 판매 신호를 생성한다.

  4. 반전 구매/판매: 가격이 개시 가격보다 낮을 때만 구매 신호를 생성하고, 가격이 개시 가격보다 높을 때만 판매 신호를 생성한다. 이것은 단기 회귀 시 구매하고, 단기 반발 시 판매하여 수익을 창출하기 위한 것이다.

  5. ATR 스톱: ATR 지표의 N배를 사용하여 스톱 지점을 설정한다. 이것은 시장의 변동에 따라 스톱을 동적으로 조정할 수 있다.

  6. 역전환 스톱: 구매 가격 미만 ATR의 N배를 스톱으로 사용한다. 이는 가격 재테스트 전에 역전환 저항을 지원하는 특징을 이용한 스톱이다.

전략적 이점

  1. 이중 EMA를 사용하여 주요 트렌드 방향을 판단하여 중·장선 트렌드를 포착할 수 있다.

  2. 역거래, 트렌드 회귀 단선 조작에 적합하다.

  3. ATR 중지, 시장의 변동성에 따라 중지할 수 있다.

  4. 역전도 차단기, 중요한 기술 지점 근처에 설치하여 차단 가능성을 높인다.

  5. 전략적 논리는 간단하고 명확하며, 이해하기 쉽고 수정하기 쉽습니다.

  6. 디지털 화폐와 같은 매우 변동적인 시장에서 사용할 수 있다.

위험과 해결책

  1. 이중 EMA 평균선은 잘못된 신호를 생성할 가능성이 높으며, 평균선 주기를 적절히 연장할 수 있다.

  2. 역거래는 손해가 가볍고, 조정 가능한 손해가 느려진다.

  3. 시장에는 종종 가짜 돌파구가 있으며, 다른 지표에 필터링 신호를 추가할 수 있다.

  4. 은 위험하기 때문에 을 수작업으로 제거할 수 있다.

전략 최적화 제안

  1. MACD, KD 등의 지표에 추가하여 과매도 지역을 판단하고, 진입 시기를 필터링하십시오.

  2. 120주기 EMA, 종합 판단 트렌드 등과 같은 더 많은 평균선을 추가하십시오.

  3. 구매와 판매에 대해 각각 슬라이드 포인트를 설정하여 입시 가격을 최적화하십시오.

  4. 디지털 화폐의 높은 변동성을 고려하여 ATR의 제약 범위가 적절하게 완화 될 수 있습니다.

  5. ATR 배수 및 이동적 스톱 스코어를 최적화하여 최대 수익과 최소 인출을 얻습니다.

요약하다

이 전략은 전체적으로 비교적 간단한 쌍 EMA 평행 전략이며, 핵심 아이디어는 EMA를 사용하여 트렌드 방향을 판단하는 것이다. 전략의 장점은 논리적으로 간결하고, 변수 조정 유연하며, 중장선 트렌드 및 단선 반향에 적용할 수 있다. 우리는 또한 이 전략이 존재할 수 있는 위험과 대응 방법을 분석하고, 향후 몇 가지 최적화를 제안했다.

전략 소스 코드
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 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/
// © TheHulkTrading

// Simple EMA strategy, based on ema55+ema21 and ATR(Average True Range) and it enters a deal from ema55 when the other entry conditions are met


//@version=4
strategy("Simple Ema_ATR Strategy HulkTrading", overlay=true)

atr_multiplier = input(2, minval=1, title="ATR Multiplier") // ATR Multiplier. Recommended values between 1..4


emaFast=ema(close,21)
emaSlow=ema(close,55)

//Basically long and short conditions

//If long: 
// 1) close must be less than open (because we are searching for a pullback)
// 2) emaFast(21) must be bigger than emaSlow(55) - for a trend detection
// 3) Difference between emaFast and emaSlow must be greater than ATR(14) - for excluding flat
longCond = close < open and emaFast > emaSlow and abs(emaSlow-emaFast) > atr(14)  

//For short conditions are opposite
shortCond = close > open and emaFast < emaSlow and abs(emaSlow-emaFast) > atr(14) 

//Stop levels and take profits, based on ATR multiplier

stop_level_long = strategy.position_avg_price - atr_multiplier*atr(14)
take_level_long = strategy.position_avg_price + atr_multiplier*atr(14)
stop_level_short = strategy.position_avg_price + atr_multiplier*atr(14)
take_level_short = strategy.position_avg_price - atr_multiplier*atr(14)


//Entries and exits 
strategy.entry("Long", strategy.long, when=longCond, limit = emaSlow)
strategy.exit("Stop Loss/TP","Long", stop=stop_level_long, limit = take_level_long)
strategy.entry("Short", strategy.short, when=shortCond, limit = emaSlow)
strategy.exit("Stop Loss/TP","Short", stop=stop_level_short, limit = take_level_short)