STARC 채널 백테스트 전략

저자:차오장, 날짜: 2023-12-05 14:52:20
태그:

img

전반적인 설명

STARC 채널 백테스트 전략 (STARC Channel Backtest Strategy) 은 STARC 지표를 기반으로 한 양적 거래 전략이다. 이 전략은 상부 및 하부 STARC 채널을 구성하여 브레이크아웃 구매 및 판매 거래 신호를 생성합니다. 또한 다른 시장 환경에 적응하기 위해 긴 및 짧은 포지션 전환 메커니즘을 통합합니다.

전략 원칙

STARC 채널 백테스트 전략의 핵심은 다음을 포함하는 STARC 지표입니다.

  • 기준점: n일 간편 이동평균 SMA
  • 상단 대역: SMA + K × 평균 실제 범위 ATR
  • 하위 대역: SMA - K × ATR

닫기 가격이 상단역을 넘어가면 구매 신호를, 닫기 가격이 하단역을 넘어가면 판매 신호를 생성합니다.

이 전략은 매일 STARC 채널의 상위 및 하위 레일을 계산하고 폐쇄 가격이 거래 신호를 생성하기 위해 그들을 뚫고 갈 수 있는지 판단합니다. 또한 다른 시장 조건에 적응하기 위해 긴 위치와 짧은 위치를 전환하는 역 파라미터를 설정합니다.

이점 분석

STARC 채널 백테스트 전략은 다음과 같은 장점을 가지고 있습니다.

  1. STARC 지표로 상부와 하부 채널을 구축하고, 좋은 백테스트 결과를 얻습니다.
  2. 다양한 시장 환경에 적응할 수 있는 장기 및 단위 포지션 전환 메커니즘이 내장되어 있습니다.
  3. 유연한 매개 변수 설정, K 값과 이동 평균 길이를 조정하고 최적화 할 수 있습니다.
  4. 명확하고 이해하기 쉬운 전략 규칙, 이해하기 쉽고 실행하기 쉬운 규칙
  5. 시각화 된 지표로 직관적으로 시장 위치를 판단합니다.

위험 분석

STARC 채널 백테스트 전략에는 또한 몇 가지 위험이 있습니다.

  1. STARC 지표는 중장기 거래에 자주 사용되며, 단기 결과는 최적이 아닐 수 있습니다.
  2. 브레이크오웃 거래는 엄격한 스톱 손실을 필요로 하는 윙사 (whipsaws) 에 걸리는 경향이 있습니다.
  3. 부적절한 역변수 설정은 과도하게 빈번한 거래로 이어질 수 있습니다.
  4. 부적절한 매개 변수 최적화는 곡선 부착으로 이어질 수 있습니다.

위험을 완화하기 위해 다음의 조치가 취되어야 합니다.

  1. 적절한 거래 주기를 선택합니다. 일일 주기와 다른 중장기 주기를 선택하세요.
  2. 단일 거래 손실을 통제하기 위해 합리적인 스톱 로스 포지션을 설정합니다.
  3. 위치의 과도한 전환을 피하기 위해 주의 깊게 역변수 매개 변수를 설정합니다.
  4. 과장 조정 방지용 다중 파라미터 최적화

최적화 방향

STARC 채널 백테스트 전략의 주요 최적화 방향은 다음과 같습니다.

  1. 매개 변수 최적화: 최적의 매개 변수 조합을 찾기 위해 이동 평균 길이, K 값, ATR 사이클 및 기타 매개 변수를 조정합니다.
  2. 스톱 로스 메커니즘을 추가합니다. 리스크를 제어하기 위해 후속 스톱 로스, 시간 스톱 로스, 퍼센트 스톱 로스 등을 설정합니다.
  3. 다른 지표를 포함합니다: 효율성을 높이기 위해 필터링을 위해 거래량, 볼링거 밴드 등을 추가합니다.
  4. 동적으로 매개 변수를 조정: 안정성을 향상시키기 위해 시장 변화에 따라 매개 변수를 자동으로 최적화하고 조정합니다.

이러한 최적화 방향은 위험을 통제하면서 전략의 수익성과 안정성을 향상시킬 수 있습니다.

결론

STARC 채널 백테스트 전략의 전반적인 효과는 좋습니다. STARC 지표에 기반한 중장기 브레이크아웃 거래를 구현합니다. 전략의 장점은 STARC 채널을 사용하여 안정적인 거래 신호를 생성하면서 시장 변화에 적응하는 역 메커니즘을 설정하는 것입니다. 또한 전략을 더 안정적이고 효율적으로 만들기 위해 스톱 손실을 설정하고 매개 변수를 최적화하여 위험을 완화해야합니다. 일반적으로이 전략은 중장기 브레이크아웃 거래를위한 효과적인 도구입니다.


/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/04/2018
// A type of technical indicator that is created by plotting two bands around 
// a short-term simple moving average (SMA) of an underlying asset's price. 
// The upper band is created by adding a value of the average true range 
// (ATR) - a popular indicator used by technical traders - to the moving average. 
// The lower band is created by subtracting a value of the ATR from the SMA.
// STARC is an acronym for Stoller Average Range Channels. The indicator is 
// named after its creator, Manning Stoller.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="STARC Bands Backtest", overlay = true)
LengthMA = input(5, minval=1)
LengthATR = input(15, minval=1)
K = input(1.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
xMA = sma(close, LengthMA)
xATR = atr(LengthATR)
xSTARCBandUp = xMA + xATR * K
xSTARCBandDn = xMA - xATR * K
pos = iff(close > xSTARCBandUp, 1,
       iff(close < xSTARCBandDn, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xMA, color=blue, title="MA")
plot(xSTARCBandUp, color = green, title="UpBand")
plot(xSTARCBandDn, color=red, title="DnBand")

더 많은