EMA는 추세 거래 전략을 따른다


생성 날짜: 2023-09-19 19:38:53 마지막으로 수정됨: 2023-09-19 19:38:53
복사: 0 클릭수: 793
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 전형적인 EMA 트렌드 추적 전략이다. 그것은 빠른 EMA와 느린 EMA의 골드 포크를 사용하여 상향 트렌드에 진입하는 것을 판단하고, 빠른 EMA와 느린 EMA의 데드 포크를 사용하여 하향 트렌드에 진입하는 것을 판단하고, 그에 따라 더 많은 공백을 한다. 이 전략은 중장선 트렌드를 추적하는 것이 더 신뢰할 수 있으며, 중장선 포지션 거래에 적합하다.

전략 원칙

이 전략의 핵심 논리는 다음과 같습니다.

  1. 12주기 EMA와 같은 빠른 EMA를 계산합니다.
  2. 26주기 EMA와 같은 느린 EMA를 계산합니다.
  3. 빠른 EMA가 느린 EMA를 통과하면 상승 추세로 판단하여 더 많은 진입을하십시오.
  4. 빠른 EMA가 느린 EMA를 통과하면 하향 추세로 판단하고 상장합니다.
  5. 역동이 시작되기 전에, 빠른 EMA가 다시 느린 EMA와 교차할 때, 현재 지위를 평행합니다.

다양한 속도의 EMA를 계산함으로써 시장 추세의 변화를 효과적으로 식별할 수 있다. 빠른 EMA는 가격 변화에 더 민감하여 새로운 추세를 일찍 발견하는데 도움이 된다. 느린 EMA는 가짜 신호를 필터링하여 추세가 확인되었다는 것을 보장할 수 있다. 둘은 협력하여 신뢰할 수 있는 추세 판단 시스템을 형성한다.

두 개의 EMA가 금포크가 발생했을 때, 가격이 지속적으로 상승하기 시작하면, 다방향으로 설정해야 한다. 사형포크가 발생했을 때, 가격이 지속적으로 하락하기 시작하면, 공백 방향으로 설정해야 한다. 빠른 EMA의 재사형포크를 통해 현재 위치에서 탈퇴하여 적시에 손실을 막고 손실 확산을 방지 할 수 있다.

전략적 이점

  • EMA를 사용하여 시장의 긴 경향을 효과적으로 식별할 수 있습니다.
  • EMA는 신뢰성 있는 트렌드 판단 시스템을 구축하기 위해 협력하고 있습니다.
  • 전략은 이해하기 쉽고 실행하기 쉽습니다.
  • 다양한 거래 품종에 맞게 구성 가능한 EMA 파라미터
  • 신속한 EMA 사각지대 상쇄, 효율적인 위험 관리

전략적 위험과 대응

  • 전 세계 경제가 급격히 성장하고 있는 추세에서,
  • 잘못된 EMA 변수 설정으로 트렌드 전환점을 놓칠 수 있습니다.
  • 시장의 변화에 맞춰 EMA 변수를 조정해야 합니다.

어떻게 대처해야 할까요?

  1. 분배구간 상쇄, 단일 대 손실을 피하기
  2. 다른 지표와 함께 잠재적인 트렌드 반전을 탐지합니다.
  3. 트렌드를 인식할 수 있는 최적화된 변수 구성

전략 최적화 방향

이 전략은 다음과 같은 부분에서 확장되고 최적화될 수 있습니다.

  1. 기계 학습 방법을 사용하여 EMA 매개 변수를 자동으로 최적화하여 매개 변수 적응성을 향상시킵니다.

  2. 변동률에 기반한 포지션 수정을 늘리고 시장의 변동성에 기반한 포지션을 조정합니다.

  3. 점수 진동 지표와 같은 점수를 결합하여 입점 위치를 최적화하기 위해 지역 조정 시기를 판단합니다.

  4. 이동한 손실을 증가시키고, 수익을 얻은 후에 중지 지점을 조정하는 등의 손실을 막는 전략

  5. 거래량 변화를 연구하여 투자 유입과 유출을 판단하고 동향을 판단하는 데 도움을 줍니다.

  6. 다른 무관한 전략과 결합하여 회수율을 낮추고 전체적인 수익 안정성을 향상시킵니다.

요약하다

EMA 트렌드 추적 전략은 간단하고 실용적인 트렌드 추적 전략이다. 그것은 빠른 느린 EMA 추적 중장선 트렌드를 사용하여 EMA 금 포크를 통해 진입 시기를 판단한다. 전략은 구현하기 쉽고, 또한 다차원 확장 및 최적화를 통해 더 많은 시장 환경에 적합하다. 이 전략은 중장선 포지션을 추적하는 트렌드적 행동에 적합하다.

전략 소스 코드
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 10m
basePeriod: 1m
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/
// © HomoDeus666

//@version=5

strategy("EMA12/26 with date backtest range (BTCpair)", overlay=true,initial_capital = 1,commission_type = strategy.commission.percent,currency = currency.BTC)

//input date and time
useDateFilter = input.bool(true, title="Filter Date Range of Backtest",
     group="Backtest Time Period")
backtestStartDate = input(timestamp("1 Jan 2021"), 
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("1 Jan 2022"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
     
//check date and time option
inTradeWindow =  true
/// plot and indicator
fastEMA = ta.ema(close,12), slowEMA=ta.ema(close,26)
plot(fastEMA,color=color.green,linewidth = 2)
plot(slowEMA,color=color.red,linewidth=2)

//entry when condition
longCondition = ta.crossover(fastEMA,slowEMA)
if (longCondition) and inTradeWindow
    strategy.entry("buy", strategy.long)

if ta.crossunder(ta.ema(close, 12), ta.ema(close, 26)) and inTradeWindow
    strategy.close("buy")
    
// trades and cancel all unfilled pending orders
if not inTradeWindow and inTradeWindow[1]
    strategy.cancel_all()
    strategy.close_all(comment="Date Range Exit")