슈퍼트렌드 및 CCI 스칼핑 전략

저자:차오장, 날짜: 2024-02-26 10:44:43
태그:

img

전반적인 설명

이 전략은 다른 매개 변수 설정과 CCI 지표와 함께 두 개의 슈퍼 트렌드 지표에 기반하여 고주파 거래의 단기 가격 변동을 파악하는 것을 목표로합니다. 슈퍼 트렌드 지표는 ATR을 계산하여 동적으로 트렌드 방향을 판단하고 CCI 지표는 시장이 과소매 또는 과소매인지 결정하는 데 사용됩니다. 전략은 둘을 결합하여 거래 신호를 형성합니다.

전략 논리

  • 빠른 슈퍼 트렌드를 계산하기 위해 14 기간 ATR을 사용하여 인수 3로 설정; 느린 슈퍼 트렌드를 계산하기 위해 14 기간 ATR을 사용하여 인수 6로 설정합니다. 빠른 슈퍼 트렌드는 더 민감하며 단기 변화를 포착 할 수 있습니다. 느린 슈퍼 트렌드는 주요 트렌드 방향을 결정합니다.

  • 빠른 슈퍼 트렌드가 가격 아래로 넘어가고 느린 슈퍼 트렌드가 여전히 가격 위에 있을 때, 그것은 긴 거리의 가능한 역전 신호로 판단됩니다. 빠른 슈퍼 트렌드가 가격 위에 넘어가고 느린 슈퍼 트렌드가 여전히 가격 아래로 넘어가면, 그것은 짧은 거리의 가능한 역전 신호로 판단됩니다.

  • 동시에 CCI를 사용하여 시장이 과잉 구매 또는 과잉 판매인지 판단하십시오. CCI 100 이상은 과잉 구매 시장을 나타냅니다. -100 이하는 과잉 판매 시장을 의미합니다. CCI 신호는 가짜 브레이크를 필터링하기 위해 결합됩니다.

  • 슈퍼 트렌드 지표가 반전 신호를 발산 할 확률은 시장이 과소매 또는 과소매가 될 때 더 높습니다. 이것이 전략의 핵심 논리입니다.

이점 분석

  • 트렌드 반전점을 결정하기 위한 슈퍼 트렌드와 과잉 구매/ 과잉 판매 상황을 판단하기 위한 CCI를 결합하면 잘못된 파장을 효과적으로 필터링하고 신호 품질을 향상시킬 수 있습니다.

  • 빠르고 느린 슈퍼 트렌드 크로스오버는 높은 주파수 진입과 출구를 달성하기 위해 거래 신호를 형성합니다.

  • CCI 매개 변수와 슈퍼 트렌드 매개 변수는 다양한 시장 조건에 따라 유연하게 조정할 수 있습니다.

  • 전략 아이디어는 명확하고 이해하기 쉽고 매개 변수 조정도 비교적 간단합니다.

위험 과 해결책

  • 슈퍼 트렌드 자체는 지연 효과를 가지고 있습니다. 아마도 첫 번째 역행 기회를 놓칠 수 있습니다. ATR 기간을 단축하려고 할 수 있습니다.

  • CCI는 콜백 리스크가 있으며 과도한 변동은 반복적인 거래를 유발할 수 있습니다. CCI 매개 변수를 증가시키거나 경계를 조정하는 것을 시도 할 수 있습니다.

  • 높은 주파수 거래는 거래 주파수와 거래 비용을 증가시키는 경향이 있습니다. 보유 시간을 조정하고 오픈 / 클로즈 주파수를 줄이는 것이 좋습니다.

최적화 방향

  • 매개 변수 조합은 최적의 매개 변수를 찾기 위해 최대 마이너다운 또는 이익/손실 비율을 기반으로 통과 및 최적화 될 수 있습니다.

  • 무작위 숲과 같은 기계 학습 방법은 자동 매개 변수 최적화를 달성하기 위해 매개 변수에서 특징 선택에 사용할 수 있습니다.

  • 특정 주기에 최대 개설 포지션을 제한하여 위험을 통제하는 방법을 탐구합니다.

결론

이 전략은 단기 트렌드 반전 지점을 결정하기 위해 슈퍼 트렌드 지표를 완전히 활용하고, 신호를 필터링하기 위해 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)


더 많은