슈퍼트렌드 기반 5일, 10일, 20일 이동평균선 교차 전략


생성 날짜: 2023-12-19 10:39:36 마지막으로 수정됨: 2023-12-19 10:39:36
복사: 0 클릭수: 4339
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

슈퍼트렌드 기반 5일, 10일, 20일 이동평균선 교차 전략

개요

이 전략은 5일, 10일, 20일 지수 이동 평균 ((EMA) 를 계산하여 초 트렌드 지표와 결합하여 구매 및 판매 신호를 생성합니다. 5일 라인이 10일 라인을 통과하고 5일 라인이 10일 라인이 20일 라인을 통과하면 구매 신호를 생성합니다. 10일 라인이 5일 라인을 통과하고 5일 라인이 10일 라인이 20일 라인을 통과하면 판매 신호를 생성합니다.

전략 원칙

  1. 5일 EMA, 10일 EMA, 20일 EMA를 계산한다.
  2. 트렌드 이상 지표를 계산한다.
  3. 5일 EMA가 10일 EMA보다 크고, 5일 EMA와 10일 EMA가 모두 20일 EMA보다 크면, 즉 5일 라인과 10일 라인에서 20일 라인을 뚫고 구매 신호를 생성한다.
  4. 10일 EMA가 5일 EMA보다 작고, 5일 EMA와 10일 EMA가 모두 20일 EMA보다 작을 때, 즉 5일 라인과 10일 라인이 20일 라인을 통과하여 팔기 신호를 생성한다.
  5. 동시에 초상향 지표와 결합하여 시장의 흐름을 판단하고, 초상향 지표가 하향 경향으로 표시될 때만 구매 신호를 생성하고, 상향 경향일 때만 판매 신호를 생성한다.

전략적 이점

  1. 간단하고 효과적이고, 이해하기 쉽고, 실행하기 쉽습니다.
  2. 세 개의 평균선과 초상류를 결합하여 신호를 판단하는 것이 더 정확하고 신뢰할 수 있습니다.
  3. 5일, 10일, 20일 세 개의 평균선을 사용하며, 시야는 포괄적이며, 단기, 중기 및 장기적인 경향을 정확하게 판단한다.
  4. 슈퍼 트렌드 판단 기술과 중·단기 평균선 기술을 결합하여 대규모의 시장 조작을 피하기 위해 고려한다.
  5. 다양한 품종과 시장 상황에 맞게 조정 및 최적화 할 수 있습니다.
  6. 거래 기회의 정확성 검출, 손실 비율이 높습니다.
  7. 간단하고, 이해하기 쉽고, 확장하기 쉽고, 사용자 정의가 가능합니다.

전략적 위험

  1. 시장이 격동하는 시점에는 가짜 신호가 많이 나타나고, 탈퇴 시기는 실수하기 쉽다.
  2. 평균선 시스템은 파라미터에 매우 민감하며, 파라미터를 잘못 설정하면 손실이 발생할 수 있다.
  3. 초트렌드 다공평 판단에는 지연성이 있으며, 다른 기술 지표와 함께 확인해야 한다.
  4. 급격한 폭락, 급격한 폭격 등과 같은 극단적인 상황에 대처할 수 없습니다.

주요 위험들에 대한 해결책:

  1. 더 많은 기술 지표 또는 기본 분석과 함께 신호를 2차 확인한다.
  2. 손실을 막기 위한 전략이 추가되었습니다.
  3. 단선 및 중장선 지표 최적화 파라미터 설정.
  4. 인덱스의 변동률과 초트렌드 지표의 성과를 실시간으로 모니터링하고, 필요한 경우 수동으로 개입한다.

전략 최적화 방향

  1. 더 많은 평선 시스템과 MACD, KD 등과 같은 기술 지표 판단을 결합하십시오.
  2. 자동 스톱 로드, 스톱 스톱 전략을 추가합니다.
  3. 다양한 품종과 시장 상황에 따라 초 트렌드 및 평선 시스템의 파라미터를 최적화하십시오.
  4. 모델 평가를 추가하고, 역사 데이터에 따라 매개 변수 최적화 및 전략 최적화를 수행한다.
  5. 가격 추세와 잠재적인 거래 기회를 판단하는 기계 학습 예측 모듈을 추가합니다.

요약하다

이 전략은 5일, 10일, 20일 세 개의 평균선과 초 트렌드 지표를 사용하여 거래 전략을 구축한다. 전략은 간단하고 효율적이며, 추세를 판단하고 기회를 발견하는 데 탁월하다. 동시에 강력한 사용자 정의 및 확장성을 갖추고 있다. 최적화 공간이 넓고, 매개 변수를 조정하고, 기술 지표를 추가하고, 기계 학습을 추가함으로써 전략 성능을 지속적으로 개선하여 더 복잡한 시장 환경에 적응할 수 있다.

전략 소스 코드
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 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/
// © aadilpatel07

//@version=4
strategy("5-10-20 Cross", overlay=true)
src = close, 
len1 = input(5, minval=1, title="EMA 1")
len2 = input(10, minval=1, title="EMA 2")
len3 = input(20, minval=1, title="EMA 3")

mult = input(type=input.float, defval=2)
len = input(type=input.integer, defval=14)
[superTrend, dir] = supertrend(mult, len)

ema1 = ema(src, len1)
ema2 = ema(src, len2)
ema3 = ema(src, len3)

//EMA Color
col1 = color.lime
col2 = color.blue
col3 = color.red

//EMA Plots
plot(series=ema1,color=col1, title="EMA1")
plot(series=ema2,color=col2, title="EMA2")
plot(series=ema3,color=col3, title="EMA3")

//plot SuperTrend
colResistance = dir == 1 and dir == dir[1] ? color.new(color.red, 100) : color.new(color.green, 100)
colSupport = dir == -1 and dir == dir[1] ? color.new(color.green, 0) : color.new(color.green, 10)
plot(superTrend, color = colResistance, linewidth=1)
plot(superTrend, color = colSupport, linewidth=1)

//longCondition = crossover(ema1, ema2) and crossover(ema1,ema3) and crossover(ema2,ema3)
longCondition = ema1 > ema2 and ema1 > ema3 and ema2 > ema3 and ema2 < ema1 and dir == -1
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

//shortCondition = crossover(ema2, ema1) and crossover(ema3,ema1) and crossover(ema3,ema2)
shortCondition = ema1 < ema2 and ema1 < ema3 and ema2 < ema3 and ema2 > ema1 and dir == 1
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)