모멘텀 사각형 채널 이중 이동 평균 거래 전략


생성 날짜: 2024-02-27 14:54:07 마지막으로 수정됨: 2024-02-27 14:54:07
복사: 0 클릭수: 535
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

모멘텀 사각형 채널 이중 이동 평균 거래 전략

개요

이 전략은 동력 지표 직사각형 채널과 쌍평선 지표에 기반하여 보다 완전한 주식 거래 시스템을 구현한다. 전략은 먼저 빠른 EMA와 느린 EMA를 사용하여 쌍평선 거래 신호를 구축한다. 그리고는 직사각형 채널 지표와 결합하여 거래 신호를 추가로 검증하여 더 정확한 입시를 가능하게 한다. 또한, 전략은 SAR 지표를 사용하여 트렌드 방향을 판단한다.

전략 원칙

  1. 빠른 EMA 주기 5일과 느린 EMA 주기 50일의 평균선을 계산한다. 빠른 EMA는 최근의 가격 변화를 반영하고, 느린 EMA는 장기적인 경향을 반영한다.

  2. EMA를 TEMA (트리플 지수 이동 평균) 로 변환하여, TEMA의 가중계 계산 방법을 사용하여 곡선의 민감도를 높이고, 가격 변화를 더 빨리 포착한다.

  3. 빠른 TEMA 위쪽에서 느린 TEMA를 통과하면 구매 신호가 발생하고, 빠른 TEMA 아래쪽에서 느린 TEMA를 통과하면 판매 신호가 발생한다. 쌍평선 교차 원칙은 양적 거래에 널리 적용된다.

  4. 가격 통로의 폭을 계산하여 통로 영역을 형성한다. 가격이 통로를 돌파했을 때만 거래 신호를 발송하는 것을 고려한다. 이것은 가짜 신호를 필터링하여 진정한 트렌드의 시작을 확인할 수 있다.

  5. SAR 지표는 전체적인 트렌드 방향을 판단하고, 쌍평선 거래 신호의 조합과 함께 사용되어 불필요한 역작업을 피할 수 있다.

전략적 이점

  1. 쌍평선 교차는 통로 돌파를 결합하여 트렌드의 시작을 효과적으로 식별하고, 노이즈를 필터링하여 거래 신호를 더 정확하고 신뢰할 수있게 만듭니다.

  2. TEMA 곡선은 EMA 곡선보다 더 민감하여 가격 변화를 더 빨리 포착할 수 있다.

  3. 여러 지표의 조합을 사용하면 지표 간 검증 메커니즘을 형성할 수 있으며, 단일 지표의 한계를 피할 수 있으며, 전략이 더 포괄적이고 견고하게 될 수 있습니다.

  4. 전략 매개 변수 설정은 유연하고, EMA 주기, 통로 폭 등은 시장 상황에 따라 조정 및 최적화할 수 있으며, 적응력이 강하다.

전략적 위험

  1. 단기간에 주가가 급격하게 변동할 가능성이 있어 스톱 손실을 유발할 수 있다.

  2. 갑작스러운 사건으로 인해 주가가 격차되어 예상된 가격으로 거래가 불가능하다.

  3. 양평선 교차는 거짓 신호의 발생을 완전히 피할 수 없으며, 여전히 약간의 오인율이 있다.

  4. 잘못된 매개 변수 설정으로 인해 거래 신호가 너무 자주 또는 지연 될 수 있습니다.

최적화 방향

  1. KD, MACD 등과 같은 더 많은 지표와 결합하여 검증할 수 있으며, 전략이 더 전반적으로 신뢰할 수 있습니다.

  2. 동적 주기를 설정하여 시장의 변동에 따라 EMA와 통로 매개 변수를 조정하여 전략을 더 유연하게 만들 수 있습니다.

  3. 기계 학습 모델을 구축하여 많은 양의 역사 데이터를 훈련하고, 자동으로 파라미터 설정을 최적화하고, 인간의 개입을 줄일 수 있습니다.

  4. 문헌 분석, 언론 감정 등과 결합하여 시장 분위기를 판단할 수 있고, 중요한 소식이 발표될 때 무의미한 거래를 피할 수 있다.

요약하다

이 전략은 빠른 속도로 TEMA 평평선 교차를 통해 거래 신호를 형성하고, 가격 채널과 SAR 지표와 결합하여 검증할 수 있으며, 주가 트렌드의 시작을 효과적으로 식별하고, 합리적인 위치에 매매를 할 수 있다. 여러 가지 지표 포지션은 서로 검증하여 신호의 신뢰성을 높일 수 있으며, 안정적이고 효율적인 주식 거래 전략이다. 매개 변수 설정을 지속적으로 최적화하고, 새로운 검증 지표를 추가하는 등의 수단으로 전략의 효과를 계속 개선할 수 있다.

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

//@version=2
strategy("TEMA_System_SAR", overlay=true)

//Collect inputs parameters

fastEmaPeriod = input(5, minval=1, title="Fast TEMA Period")
slowEmaPeriod = input(50, minval=1, title="Slow TEMA Periods")

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 4, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2010, title = "From Year", minval = 2000)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2000)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 09, 15)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 15, 30)        // backtest finish window
window()  => true

fastEma = ema(close, fastEmaPeriod)
slowEma = ema(close, slowEmaPeriod)

//convert EMA into TEMA

ema1 = ema(close, fastEmaPeriod)
ema2 = ema(ema1, fastEmaPeriod)
ema3 = ema(ema2, fastEmaPeriod)

fastTEMA = 3 * (ema1 - ema2) + ema3

// convert EMA into TEMA

ema4 = ema(close, fastEmaPeriod)
ema5 = ema(ema1, fastEmaPeriod)
ema6 = ema(ema2, fastEmaPeriod)

slowTEMA = 3 * (ema4 - ema5) + ema6

buy  = close > fastTEMA
sell = close < fastTEMA

plot(fastTEMA, title = 'fast TEMA', linewidth=2, color=white)
plot(slowTEMA, title = 'slow TEMA', linewidth=2, color=yellow)

strategy.entry("long",strategy.long, when = window() and buy)
strategy.entry("short", strategy.short, when = window() and sell)