Donchian 채널 돌파 전략


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

Donchian 채널 돌파 전략

개요

돈치안 채널의 돌파구 전략은 가격 채널을 기반으로 한 트렌드 추적 전략이다. 이 전략은 돈치안 채널의 상한, 하한 및 중선 이동 평균을 사용하여 가격 트렌드와 돌파구를 판단하여 구매 및 판매 신호를 발송한다.

전략 원칙

이 전략은 우선 가격의 최고 가격, 최저 가격 및 중간 라인 평균을 일정 주기 동안 계산한다. 최고 가격과 최저 가격 사이에 가격 통로를 구성하고, 중간 라인 평균은 통로의 중간에 있다. 가격이 아래에서 위쪽으로 중간 라인을 돌파 할 때, 낙관적 인 신호로 간주하고, 더 많은 것을하십시오. 가격이 위에서 아래로 내려가 중간 라인을 돌파 할 때, 하향 신호로 간주하고, 공백하십시오.

특히, 전략은 다음과 같은 단계를 통해 작동합니다:

  1. 20기 최고가치인 dcUpper를 계산합니다.
  2. 20기 최저값, dcLower을 계산합니다.
  3. dcUpper와 dcLower의 평균값을 계산하여 dcAverage를 채널의 중선으로 얻습니다.
  4. dcUpper, dcLower, dcAverage의 세 개의 선을 그려 Donchian 통로를 구성합니다.
  5. 마감값이 중간 dcAverage보다 높을 때 더 많이; 마감값이 중간 dcAverage보다 낮을 때 더 많이;
  6. 손해배상 평소 처분: 상장할 때, 종결 가격이 하위선 dcLower보다 낮으면, 상장을 평소한다. 상장할 때, 종결 가격이 중선 dcAverage보다 높으면, 공표를 평소한다.

전략의 기본 거래 원칙은 다음과 같습니다. 가격의 관통을 포착하여 추세를 판단하고, 순차적으로, 중요한 지점에서 방향을 전환하십시오.

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 전략 이론적 기반이 튼튼하고, 가격 통로의 추세를 이용하는 것은 고전적이고 효과적인 기술 분석 방법이다.
  2. 전략의 논리는 간단하고 명확하며, 이해하기 쉽고 실행이 가능합니다.
  3. 트렌드를 추적할 수 있는 기회를 많이 제공하며, 양적 거래 트렌드를 추적하는 전략과 일치합니다.
  4. 단편적 손실을 통제할 수 있는 명확한 중지 및 퇴출 메커니즘이 있습니다.
  5. 다양한 시장 환경에 적응할 수 있는 유연한 변수 조정.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 거래비용과 점유율의 위험을 증가시키는 과도한 빈도가 발생할 수 있습니다.
  2. 부적절한 정지 위치 설정으로 인해 너무 자주 정지가 발생할 수 있습니다.
  3. 변수를 잘못 설정하면 거래 신호가 누락될 수 있습니다.
  4. 트렌드의 끝에서 실패한 돌파는 손실을 초래할 수 있다.

대책:

  1. 거래 빈도를 조절하기 위한 매개 변수 조정
  2. 이 경우, 소액의 손실을 방지하기 위해
  3. 다른 시장 환경을 테스트하고, 변수를 조정합니다.
  4. 다른 지표와 함께 필터링 신호를 사용하여 말기 돌파의 위험을 회피하십시오.

최적화 방향

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

  1. 시장 구조 지표와 결합하여 트렌드를 파악하고 역동적인 거래를 피하십시오.
  2. 필터링 조건을 높여서 뚫림의 효과를 보장하고 잘못된 신호를 줄여줍니다.
  3. 그 다음으로, 변동률 지표와 결합하여 돌파의 강도를 판단합니다.
  4. 여러 시간 프레임 또는 여러 종의 조합으로 안정성을 높이는 것;
  5. 기계 학습 알고리즘은 자동으로 변수를 최적화하여 시장 변화에 적응합니다.

요약하다

도롱치안 채널 브레이크 전략은 전체적으로 효과적인 트렌드 추적 전략이다. 그것은 이론적 근거가 있으며, 논리적으로 간단하며, 가격 채널을 통해 트렌드 방향을 판단하고 추적하여 트렌드에 수익을 잡는다. 동시에, 이러한 브레이크아웃 기반의 전략은 또한 약간의 위험이 있으며, 전략을 더 안정적이고 실용적으로 만들기 위해 변수 및 필터링 조건을 최적화해야합니다.

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

//@version=3

strategy(title = "dc", overlay = true)


testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12)
testEndDay = input(31, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


testPeriod() =>
    true
    //time >= testPeriodStart  ? true : false

dcPeriod = input(20, "Period")

dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2

plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)

plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average")

strategy.entry("simpleBuy", strategy.long, when=close > dcAverage)
strategy.close("simpleBuy",when=close < dcLower)
    
strategy.entry("simpleSell", strategy.short,when=close < dcAverage)
strategy.close("simpleSell",when=close > dcAverage)