적응형 채널 브레이크업 전략

저자:차오장, 날짜: 2024-02-29 14:49:05
태그:

img

전반적인 설명

적응 채널 브레이크아웃 전략 (Adaptive Channel Breakout Strategy) 은 시장의 가격 채널을 추적하는 트렌드를 따르는 전략이다. 특정 기간 동안 가장 높고 가장 낮은 가격을 계산하여 가격 채널을 추적하고 가격이 채널을 벗어날 때 거래 신호를 생성합니다.

이 전략의 장점은 시장의 변화에 자동으로 적응하여 채널을 확장하여 잡음을 필터링하고 트렌드가 명확할 때 거래 신호를 생성 할 수 있다는 것입니다. 그러나 높은 가격을 쫓고 낮은 가격을 죽이는 위험도 있습니다. 매개 변수를 최적화하면 불필요한 거래를 줄이고 수익성을 향상시킬 수 있습니다.

전략 논리

이 전략은 채널 브레이크아웃 이론에 기초한다. 채널을 형성하기 위해 서로 다른 기간 동안 (입구 길이와 출구 길이) 두 개의 최고 및 최저 가격 세트를 계산한다. 가격이 채널을 초과하면 신호가 생성된다.

특히, 전략은 먼저 가격 채널을 형성하기 위해 20 기간 최고 가격 (상위) 및 최저 가격 (하위) 을 계산합니다. 그 다음 10 기간 최고 가격 (sup) 및 최저 가격을 (하락) 계산합니다. 구매 신호가 활성화 된 후 (상위 레일 이상의 가격 파업), 10 기간 최저 가격 (하락) 은 스톱 손실 라인으로 사용됩니다. 판매 신호가 활성화 된 후 (하위 레일 이하의 가격 파업), 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)



더 많은