적응형 채널 브레이크아웃 전략


생성 날짜: 2024-02-29 14:49:05 마지막으로 수정됨: 2024-02-29 14:49:05
복사: 1 클릭수: 631
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

적응형 채널 브레이크아웃 전략

개요

적응 채널 브레이크아웃 전략 (Adaptive Channel Breakout Strategy) 은 시장 가격 채널을 추적하는 트렌드 전략이다. 그것은 지정된 주기의 최고 가격과 최저 가격을 계산하여 가격 채널을 결정하고, 가격이 채널을 뚫을 때 거래 신호를 발산한다.

이 전략의 장점은 시장의 변화에 자동으로 적응할 수 있고, 채널을 확장하여 잡음을 필터링하고, 트렌드가 명확할 때 거래 신호를 생성할 수 있다는 것입니다. 그러나, 상승과 하락을 쫓는 위험도 있습니다. 최적화 파라미터를 통해 불필요한 거래를 줄이고, 수익률을 높일 수 있습니다.

전략 원칙

이 전략은 채널 브레이크 이론에 기반한다. 그것은 동시에 두 개의 다른 주기 (시장 진입 길기와 출구 길) 의 최고 가격과 최저 가격을 계산하여 채널을 형성한다. 가격이 채널을 초과할 때 신호가 발생한다.

구체적으로, 전략은 먼저 20주기 (시장 진입 길이) 의 최고 가격 upper과 최저 가격 lower을 계산하여 가격 통로를 형성한다. 그리고 나서 10주기 (시장 진출 길이) 의 최고 가격 sup과 최저 가격 sdown을 계산한다. 구매 신호가 촉발되면 (가격이 상반되는 경우) 10주기의 최저 가격 sdown으로 스톱 라인을 한다. 판매 신호가 촉발되면 (가격이 하락하는 경우) 10주기의 최고 가격 sup로 스톱 라인을 종료한다.

가격이 채널을 뚫을 때, 트렌드가 형성되고 있음을 나타냅니다. 이 때 전략은 거래 신호를 발산합니다. 동시에, 스톱 스톱 라인은 가격 변화에 따라 조정되어 이익을 잠금하고 손실을 방지합니다.

전략적 이점

  • 자동으로 시장 변화에 적응한다. 이 전략의 통로는 최근 가격에 따라 자동으로 조정되며, 트렌드가 시작될 때 통로 범위를 확장하여 소음을 필터링한다.
  • 강력한 파열 거래. 가격 고위가 상도를 돌파하거나 낮은 지위가 하도를 돌파했을 때만 입문하십시오.
  • 위험 제어 메커니즘. 다양한 주기 계산의 스톱 스톱 라인을 사용하여 손익을 유연하게 고정하여 손실을 확대하지 않도록 할 수 있습니다.
  • 전략은 간단하고 쉽게 구현할 수 있습니다. 단 두 개의 매개 변수가 필요하며, 테스트 데이터는 쉽게 얻을 수 있으며, 양적 거래에 적합합니다.

위험 분석

이 전략에는 다음과 같은 위험들이 있습니다.

  • 추격대상과 추격대상 위험. 채널 범위가 너무 커지면 추격대상과 추격대상 판매의 위험이 있다. 최적화 매개 변수를 통해 불필요한 거래를 줄일 수 있다.
  • 스톱 위험. 고정 주기의 스톱 라인이 너무 딱딱할 수 있으므로, 적응형 ATR 스톱을 적용하는 것이 고려될 수 있다.
  • 거래 빈도가 너무 높은 위험. 잘못된 매개 변수 설정으로 인해 거래 빈도가 너무 높을 수 있습니다. 거래 빈도를 제어하기 위해 필터링 조건을 추가하는 것을 고려할 수 있습니다.
  • 시장의 비정상적 위험. 이 전략은 역사적 데이터에 기초하여 미래의 추세를 판단하고, 시장이 큰 변화가 있을 때 실패하거나 손실을 입을 수 있다.

전략 최적화

이 전략에는 다음과 같은 최적화 방안이 있습니다.

  • 트렌드 지표 필터링 신호와 결합한다. EMA 또는 MACD와 같은 트렌드 지표가 도입될 수 있으며, 트렌드 방향과 채널 브레이크 방향이 일치하는 경우에만 출전한다.
  • 적응형 ATR 스톱로스를 도입한다. 평균 실제 파장을 사용하여 계산된 적응형 스톱로스 라인을 사용하면 단기 손실을 더 잘 제어할 수 있다.
  • 최적화 변수 포괄 더 많은 조합 테스트를 통해 변수 최적화 포괄 을 찾아서 전략 수익률을 더욱 높일 수 있다.
  • 기계 학습 기술과 결합 신경 네트워크 또는 유전 알고리즘을 사용하여 동적 매개 변수를 생성하여 전략을 더 거칠게 만듭니다

요약하다

적응형 채널 브레이크 전략은 전체적인 아이디어가 명확하고 강력한 실행성을 가지고 있다. 그것은 시장의 변화를 자동으로 추적할 수 있고, 트렌드가 형성될 때 거래 신호를 생성한다. 동시에 두 개의 사이클의 채널과 스톱 스톱 메커니즘을 설정한다.

전략 소스 코드
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Turtle Trade Channels Strategy", shorttitle="TTCS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

length = input(20,"Entry Length", minval=1)
len2=input(10, "Exit Length", minval=1)

lower = lowest(length)
upper = highest(length)

up=highest(high,length)
down=lowest(low,length)
sup=highest(high,len2)
sdown=lowest(low,len2)
K1=barssince(high>=up[1])<=barssince(low<=down[1]) ? down : up
K2=iff(barssince(high>=up[1])<=barssince(low<=down[1]),sdown,sup)
K3=iff(close>K1,down,na)
K4=iff(close<K1,up,na)

buySignal=high==upper[1] or crossover(high,upper[1])
sellSignal = low==lower[1] or crossover(lower[1],low)
buyExit=low==sdown[1] or crossover(sdown[1],low)
sellExit = high==sup[1] or crossover(high,sup[1])

strategy.entry("Buy", strategy.long, when = buySignal and barssince(buySignal) < barssince(sellSignal[1]))
strategy.entry("Sell", strategy.short, when = sellSignal and barssince(sellSignal) < barssince(buySignal[1]))
strategy.exit("Buy Exit", from_entry = "Buy", when = buyExit and barssince(buyExit) < barssince(sellExit[1]))
strategy.exit("Sell Exit", from_entry = "Sell", when = sellExit and barssince(sellExit) < barssince(buyExit[1]))

plot(K1, title="Trend Line", color=color.red, linewidth=2)
e=plot(K2, title="Exit Line", color=color.blue, linewidth=1, style=6)