
UT Bot의 동적 트렌드 추적과 RSI 복합 전략은 상대적으로 강한 지수 (RSI) 와 적응적 트렌드 추적 시스템을 결합한 양적 거래 전략이다. 이 전략의 핵심은 평균 실제 파도 (ATR) 를 사용하여 동적 지원과 저항 대역을 구축하는 것이며, RSI 오버 바이 오버 셀 신호를 캡처하는 시장 전환점과 함께 200 주기의 지수 이동 평균 (EMA200) 을 통합하여 트렌드 확인한다. 이 전략은 또한 ATR 배수를 기반으로 한 동적 중지 손실 메커니즘을 설계하여 시장의 변동성에 따라 자동으로 위험 관리 파라미터를 조정할 수 있습니다.
이 전략의 핵심 원칙은 두 가지 주요 기술 지표 시스템: UT Bot 트렌드 추적 시스템과 RSI 흔들림 지표에 기반합니다.
UT Bot의 트렌드 추적 시스템은 ATR 지표를 통해 가격의 변동 범위를 계산하고 동적인 위아래 궤도를 구축합니다.
시스템은 현재 트렌드 방향을 확인하기 위해 추적선을 유지합니다.
이 전략은 RSI 지표와 함께 신호를 필터링합니다.
또한, 전략은 EMA200을 장기적인 트렌드 레퍼런스 라인으로 통합하고, 백분율 기반의 스톱 스톱 손실 메커니즘을 설정합니다:
역동적이고 적응력이 강합니다.: ATR 지표를 통해 거래 대역폭을 자동으로 조정하여 전략이 다양한 시장 변동 환경에 적응할 수 있도록 하며, 높은 변동과 낮은 변동 시장에서 효과적으로 작동할 수 있습니다.
추세와 흔들림이 전략은 트렌드 추적과 충격 거래의 두 가지 사고방식을 결합합니다. 트렌드가 명확할 때 트렌드를 따르고 시장이 과매매 할 때 역전 기회를 찾아 전략의 포괄성을 향상시킵니다.
정확한 입구 지점: RSI ((60⁄40)) 과잉구매와 과잉매매 레벨 확장 설정을 통해 거래 신호의 주파수를 증가시키면서 신호의 질을 보장하고 입시 시기를 최적화한다.
개선된 위험 관리: 동적 스톱 스톱 손실 메커니즘이 통합되어 있으며, 스톱 스톱 비율은 ((3%) 스톱 스톱 손실 비율보다 크다 ((1.5%)), 긍정적인 기대 가치 거래 원칙에 부합하며, 장기적으로 안정적인 수익을 유도한다.
신호는 즉시 경고합니다.이 전략은 거래자가 시장 기회를 잡을 수 있도록 구매 및 판매 신호를 상기시키는 기능을 갖추고 있습니다.
구조가 명확하고 모듈화: 코드 구조가 명확하고, 각 기능 모듈이 구분되어, 후속 유지 및 최적화를 용이하게 한다.
시장의 위조 신호: 명확한 트렌드가 없는 흔들리는 시장에서, 전략은 빈번한 교차 신호를 생성하여 연속적인 손실을 초래할 수 있다. 해결책은 ADX 지표 또는 트렌드 지속 시간 요구 사항과 같은 트렌드 강도 필터링 조건을 추가하는 것이다.
너무 작은 위험: 현재 설정된 1.5%의 정지는 일부 높은 변동 시장에서 너무 작아 시장 소음으로 촉발될 수 있다. 거래 품종 특성과 시간 주기 역학에 따라 정지 비율을 조정하는 것이 좋습니다.
매개변수 민감도: 전략 성능은 RSI 길이, 과매매 수준 및 ATR 요소와 같은 매개 변수에 민감하며, 다른 매개 변수 조합은 다른 시장 환경에서 큰 차이를 나타냅니다.
시장 상태 인식 부족이 전략은 다른 시장 상태를 명확하게 구분하지 않으며, 특정 시장 환경에서는 좋지 않을 수 있습니다.
EMA200 기준이 부족하다EMA200 라인이 그려졌지만, 전략은 거래 조건으로 사용하지 않았고, 장기적인 트렌드 정보를 충분히 활용하지 않았습니다.
趋势强度 = ta.adx(14) > 25
买入条件 = 趋势强度 and trendUp and rsi < rsiUnder
stopLoss = atr * slFactor
strategy.exit("TP/SL", from_entry="Buy", profit=tpPercent, loss=stopLoss/close*100)
volumeConfirmation = volume > ta.sma(volume, 20) * 1.5
buy = trendUp and rsi < rsiUnder and volumeConfirmation
isVolatile = atr/close*100 > 历史平均水平
isTrending = ta.adx(14) > 25
validTradingHour = (hour >= 9 and hour <= 16)
buy = validTradingHour and trendUp and rsi < rsiUnder
UT Bot의 동적 트렌드 추적과 RSI 복합 전략은 동적 변동율 채널과 충격 지표를 결합한 통합 거래 시스템이다. 그것은 UT Bot의 적응 채널을 통해 트렌드 변화를 포착하고 RSI의 과매매 과매매 수준을 활용하여 진입 신호를 확인하며, 퍼센트 기반의 위험 관리 메커니즘을 통합한다. 이 전략의 가장 큰 장점은 동적 적응력과 다양한 기술 지표를 통합적으로 사용할 수있는 능력으로 다양한 시장 환경에서 거래 기회를 찾을 수 있습니다.
그러나, 이 전략은 흔들리는 시장에서 잘못된 신호를 생성할 수 있으며, 파라미터 설정에 민감하다. 미래 최적화 방향은 추세 강도 필터링을 증가시키고, 동적 위험 관리를 개선하고, 거래량 확인과 시장 상태 분류 거래를 도입하는 데 중점을 두어야 한다. 이러한 최적화를 통해, 전략은 기존의 우위를 유지한 기초에 안정성과 적응성을 더 높여서 더 포괄적이고 안정적인 양적 거래 시스템으로 될 전망이다.
전체적으로, 이것은 합리적이고 논리적으로 명확하게 설계된 수치화 전략이며, 기술적 분석 기반을 가진 거래자가 사용할 수 있습니다. 매개 변수의 적절한 조정과 최적화 방향을 실행하면 실제 거래에서 안정적인 수익을 얻을 수 있습니다.
/*backtest
start: 2024-08-04 00:00:00
end: 2025-08-02 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("✅ BACKTEST: UT Bot + RSI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
rsiLen = input.int(14, "RSI Length")
rsiOver = input.int(60, "RSI Overbought Level")
rsiUnder = input.int(40, "RSI Oversold Level")
atrLen = input.int(10, "ATR Length")
factor = input.float(1.0, "UT Bot Factor", step=0.1)
tpPercent = input.float(3.0, "Take Profit %")
slPercent = input.float(1.5, "Stop Loss %")
rsi = ta.rsi(close, rsiLen)
atr = ta.atr(atrLen)
ema200 = ta.ema(close, 200)
upperBand = close + factor * atr
lowerBand = close - factor * atr
var float trail = na
var int dir = 0
if na(trail)
trail := lowerBand
dir := 0
if close > trail
trail := math.max(trail, lowerBand)
dir := 1
else if close < trail
trail := math.min(trail, upperBand)
dir := -1
else
trail := trail[1]
dir := dir[1]
trendUp = dir == 1 and dir[1] == -1
trendDown = dir == -1 and dir[1] == 1
buy = trendUp and rsi < rsiUnder
sell = trendDown and rsi > rsiOver
if (buy)
strategy.entry("Buy", strategy.long)
strategy.close("Sell")
if (sell)
strategy.entry("Sell", strategy.short)
strategy.close("Buy")
strategy.exit("TP/SL", from_entry="Buy", profit=tpPercent, loss=slPercent)
strategy.exit("TP/SL", from_entry="Sell", profit=tpPercent, loss=slPercent)
// plotting
plot (ema200, "EMA 200, color=color.orange")
// === ALERT SIGNALS ===
alertcondition(buy, title="Buy Signal", message="BUY")
alertcondition(sell, title="Sell Signal", message="SELL")