이 전략은 여러 가지 기술적 지표를 결합한 복합 거래 시스템으로, 주로 Ultimate Trailing Stop Bot (UT Bot), Hull Moving Average (HMA), Open Range Breakout (ORB) 를 사용하여 거래 신호를 생성합니다. 핵심 아이디어는 HMA를 사용하여 트렌드 방향을 확인하는 동안 동적 스톱 로스 메커니즘을 통해 시장 트렌드를 캡처하는 것입니다. 궁극적으로 더 정확한 거래 입출입과 출입을 달성합니다.
UT 보트: 이 지표는 시장 변동성에 적응하여 평균 진정한 범위 (ATR) 를 기반으로 동적 스톱 로스 라인을 계산합니다. 가격이 스톱 로스 라인을 통과하면 거래 신호를 생성 할 수 있습니다.
HMA: 헐 이동 평균은 전통적인 이동 평균의 지연을 줄이기 위해 사용되며, 더 명확한 트렌드 방향 지표를 제공합니다. HMA의 색상 (상향을위한 녹색, 하향을위한 빨간색) 은 거래 신호를 검증하는 데 사용됩니다.
신호 확인: 전략은 다음 조건이 충족될 때만 거래를 실행합니다.
ORB: 오픈 레인지 브레이크아웃 인디케이터는 각 거래 세션의 시작에서 잠재적인 브레이크아웃 기회를 식별하는 데 사용되며 거래에 신속성을 추가합니다.
다중 지표 시너지: 여러 지표를 결합함으로써 전략은 더 포괄적인 시장 분석을 제공하며 잘못된 신호를 줄입니다.
동적 리스크 관리: UT Bot
트렌드 확인: 트렌드 방향을 확인하기 위해 HMA 색상 변경을 사용하면 거래 신호의 신뢰성을 향상시킵니다.
높은 적응력: 전략은 다양한 시장 조건과 변동성에 적응할 수 있으며 유연성을 보여줍니다.
정확한 입력 및 출입: 엄격한 신호 확인 메커니즘을 통해 거래의 더 정확한 타이밍을 달성합니다.
오버 트레이딩: 범위에 묶인 시장에서 거래 신호가 자주 생성되어 거래 비용을 증가시킬 수 있습니다.
지연: HMA가 지연을 줄이기는 하지만, 신호는 여전히 빠르게 역전되는 시장에서 지연할 수 있습니다.
가짜 브레이크업: 낮은 변동성 시장에서 잘못된 브레이크업 신호가 발생하여 불필요한 거래로 이어질 수 있습니다.
매개 변수 민감도: 전략 성능은 입력 매개 변수 (UT Bot 민감도와 같이) 에 매우 민감할 수 있으며, 신중한 최적화가 필요합니다.
필터 도입: 변동성이 낮은 시장에서 거래 빈도를 줄이기 위해 변동성 필터를 추가하는 것을 고려하십시오.
매개 변수를 최적화: UT Bot 및 HMA를 위한 매개 변수를 최적화하기 위해 백테스팅을 수행하여 최상의 매개 변수 조합을 찾습니다.
부피 분석을 추가하십시오. 가격 파업의 타당성을 확인하는 데 도움이되는 부피 지표를 도입하십시오.
시간 필터: 불리한 거래 세션 중 거래를 실행하지 않도록 시간 필터를 추가하는 것을 고려하십시오.
리스크 관리 최적화: 시장 변동성에 따라 거래 크기를 조정하는 동적 위치 크기를 구현합니다.
이 다중 지표 동적 스톱 로스 트렌드 추적 전략은 UT Bot, HMA 및 ORB를 통합하여 포괄적이고 유연한 거래 시스템을 만듭니다. 주요 장점은 시장 변동성에 적응하고 신뢰할 수있는 트렌드 확인을 제공하며 정확한 거래 타이밍을 달성하는 능력에 있습니다. 그러나 전략은 과잉 거래 및 매개 변수 민감성과 같은 위험에도 직면합니다. 추가 필터링 메커니즘을 도입하고 매개 변수 설정을 최적화하고 위험 관리 방법을 개선함으로써이 전략은 다양한 시장 조건에서 더 강력한 성능을 달성 할 가능성이 있습니다. 전반적으로 적절한 최적화와 위험 관리로 효과적인 거래 도구가 될 수있는 유망한 프레임워크 전략입니다.
/*backtest start: 2024-08-26 00:00:00 end: 2024-09-24 08:00:00 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('SVMKR_UT_HMA_ORB_Strategy', overlay=true) // Inputs a = input(2, title='UT Key Value. \'This changes the sensitivity\'') c = input(1, title='UT ATR Period') h = input(false, title='Signals from Heikin Ashi Candles') // UT Bot Logic xATR = ta.atr(c) nLoss = a * xATR src = h ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, lookahead=barmerge.lookahead_off) : close xATRTrailingStop = 0.0 iff_1 = src > nz(xATRTrailingStop[1], 0) ? src - nLoss : src + nLoss iff_2 = src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), src + nLoss) : iff_1 xATRTrailingStop := src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), src - nLoss) : iff_2 pos = 0 iff_3 = src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0) ? -1 : nz(pos[1], 0) pos := src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0) ? 1 : iff_3 ema = ta.ema(src, 1) above = ta.crossover(ema, xATRTrailingStop) below = ta.crossover(xATRTrailingStop, ema) // Hull Moving Average Calculation n = input(31, title='Hull MA Period') n2ma = 2 * ta.wma(close, math.round(n / 2)) nma = ta.wma(close, n) diff = n2ma - nma sqn = math.round(math.sqrt(n)) n1 = ta.wma(diff, sqn) c1 = n1 > n1[1] ? color.green : color.red plot(n1, color=c1, linewidth=2, title='HullMA') // Strategy Buy and Sell Conditions buyCondition = src > xATRTrailingStop and above and close > n1 and c1 == color.green sellCondition = src < xATRTrailingStop and below and close < n1 and c1 == color.red // Execute Strategy Orders if buyCondition strategy.entry('Buy', strategy.long) if sellCondition strategy.entry('Sell', strategy.short)