
이 전략은 두 가지 다른 파라미터 세트의 초 트렌드 지표와 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)