슈퍼트렌드와 CCI 전략을 기반으로 한 단기 트레이딩


생성 날짜: 2024-02-26 10:44:43 마지막으로 수정됨: 2024-02-26 10:44:43
복사: 1 클릭수: 1067
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

슈퍼트렌드와 CCI 전략을 기반으로 한 단기 트레이딩

개요

이 전략은 두 가지 다른 파라미터 세트의 초 트렌드 지표와 CCI 지표를 기반으로 하고, 목표는 단선 가격 변동을 포착하여 고 주파수 거래를 실현하는 것이다. 초 트렌드 지표는 ATR을 동적으로 계산하여 가격의 트렌드 방향을 판단하고, CCI 지표는 시장이 초 매매를 판단하는 데 사용된다. 전략은 둘을 결합하여 거래 신호를 형성한다.

전략 원칙

  • 14주기 ATR을 사용하여 빠른 오버트렌드를 계산하고 세팅 인자는 3입니다. 14주기 ATR을 사용하여 느린 오버트렌드를 계산하고 세팅 인자는 6입니다. 빠른 오버트렌드는 더 민감하며 단기 변동을 포착 할 수 있습니다. 느린 오버트렌드는 주요 트렌드 방향을 판단합니다.

  • 급속한 오버트렌드가 가격을 통과하고, 느린 오버트렌드가 여전히 가격 위에 있을 때, 가능한 반전 신호로 판단하여, 더 많은 것을하십시오. 급속한 오버트렌드가 가격을 통과하고, 느린 오버트렌드가 여전히 가격 아래에 있을 때, 가능한 반전 신호로 판단하여, 공백을하십시오.

  • 또한, CCI를 이용하여 시장의 과매매 상황을 판단한다. CCI가 100보다 높으면 시장은 과매매하고, 100보다 낮은 때는 시장은 과매매한다. CCI 신호 필터링과 함께 가짜 돌파구를 한다.

  • 과잉 구매와 과잉 판매의 경우, 과잉 트렌드 지표는 역전 신호를 발산할 가능성이 높습니다. 이것은 전략의 핵심 논리입니다.

우위 분석

  • 트렌드 전환점과 CCI 판단을 통해 오버 바이와 오버 세일 상황을 결합하여 가짜 돌파구를 효과적으로 필터링하여 신호 품질을 향상시킬 수 있습니다.

  • 빠른 속도로 초트렌드 교차로 거래 신호를 형성하고, 고주파 출입을 실현한다.

  • CCI 파라미터와 초 트렌드의 파라미터들은 다양한 시장 상황에 따라 유연하게 조정될 수 있다.

  • 전략이 명확하고 이해하기 쉬우며, 매개 변수 조정도 간단하다.

위험과 해결책

  • 슈퍼 트렌드 자체는 지연이 존재하고, 첫 번째 반전 기회를 놓칠 수 있다. ATR 주기를 줄이는 실험이 가능하다.

  • CCI에는 회귀의 위험이 있으며, 과도한 변동이 반복 거래를 유발할 수도 있다. CCI의 변수를 확대하거나 경계를 조정할 수 있다.

  • 높은 주파수 거래는 거래 주파수 및 수수료 부담을 증가시킬 수 있다. 포지션 보유 시간을 조정하고 포지션 개시 주파수를 줄이는 것이 좋습니다.

더 나은 생각

  • 최대 회수 (maximum withdrawal) 또는 수익/손실 비율 (profit/loss ratio) 과 같은 지표에 기반한 파라미터 조합을 오프로토핑 최적화하여 최적의 파라미터를 찾을 수 있다.

  • 임의의 숲에 대한 파라미터에 대한 특징 선택과 같은 기계 학습 방법을 결합하여 파라미터의 자동 최적화를 구현할 수 있다.

  • 특정 기간 동안 최대 포지션 개시 횟수를 제한하는 것을 탐구하여 위험을 통제할 수 있습니다.

요약하다

이 전략은 초 트렌드 지표를 최대한 활용하여 단기 트렌드 역점을 판단하고, CCI 지표 필터링 신호를 보조한다. 매개 변수 설정이 합리적이면 효율적인 단선 거래를 달성할 수 있다. 그러나 너무 자주 거래되는 다양한 위험을 경계해야 하며, 매개 변수 조정과 알고리즘 최적화를 통해 지속적인 개선을 통해 더 나은 전략 성능을 얻을 수 있다.

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

//@version=5
strategy(title="Stochastic RSI Strategy", shorttitle="StochRSI", overlay=true)

rsiLength = input.int(14, title="RSI Length")
stochLength = input.int(14, title="Stochastic Length")
kSmooth = input.int(3, title="K Smooth")
dSmooth = input.int(3, title="D Smooth")
oversoldLevel = input(10, title="Oversold Level")
overboughtLevel = input(90, title="Overbought Level")

rsi = ta.rsi(close, rsiLength)
stochRsi = ta.stoch(rsi, rsi, rsi, stochLength)

longCondition = stochRsi < oversoldLevel
shortCondition = stochRsi > overboughtLevel

if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

if (shortCondition)
    strategy.close("Long")
if (longCondition)
    strategy.close("Short")

plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)