이 전략은
이 전략의 핵심은 현재 가격 트렌드를 결정하기 위해 슈퍼트렌드 지표를 사용하는 것입니다. 슈퍼트렌드는 이동 평균과 ATR을 결합하여 가격 트렌드의 방향을 판단하는 데 효과적입니다. 슈퍼트렌드의 방향이 반전되면 가격 트렌드가 변화하고 있음을 신호합니다.
특히,이 전략은 먼저 슈퍼 트렌드 방향, RSI 및 ADX를 계산합니다. 슈퍼 트렌드가 하락하고 RSI가 상승 추세가 사라지고 있음을 보여주면, 짧은 입력을합니다. 슈퍼 트렌드가 다시 나타나면, 짧은 위치를 닫습니다.
이 전략의 가장 큰 장점은 자동으로 가격 트렌드를 식별하고 수동 판단없이 트렌드를 기반으로 입출을 할 수 있다는 것입니다. 또한 RSI와 ADX를 필터로 사용하면 잘못된 브레이크를 효과적으로 방지하고 수익성을 향상시킬 수 있습니다.
가장 큰 위험은 슈퍼트렌드 자체가 가격 추세를 판단하는 데 매우 정확하지 않기 때문에 잘못된 신호를 생성 할 수 있다는 것입니다. 또한 스톱 로스가 설정되어 있지 않으므로 거래당 손실은 상당한 수 있습니다.
최적화는 슈퍼 트렌드 매개 변수를 조정하고 위험을 줄이기 위해 후속 스톱 손실을 추가하여 수행 할 수 있습니다.
이 전략의 몇 가지 측면은 최적화 될 수 있습니다.
정확도를 높이기 위해 Supertrend 매개 변수를 최적화
트레이딩 스톱 손실을 거래 손실 당 제어에 추가합니다.
수익성을 높이기 위해 볼링거 밴드, KDJ 같은 필터를 추가합니다.
전략의 완성도를 높이기 위해 비슷한 장기 입출입 규칙을 개발
결론적으로, 이것은 슈퍼트렌드를 기반으로 트렌드를 판단하는 자동화 된 거래 전략입니다. 장점은 높은 수준의 자동화 및 자동 트렌드 탐지입니다. 단점은 슈퍼트렌드의 저 정확성과 스톱 손실이 없습니다. 매개 변수 조정, 필터 추가 및 스톱 손실은 수익성 및 위험 통제를 향상시킬 수 있습니다.
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy", overlay=true) atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) [_, direction] = ta.supertrend(factor, atrPeriod) adxlen = input(7, title="ADX Smoothing") dilen = input(7, title="DI Length") dirmov(len) => up = ta.change(high) down = -ta.change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = ta.rma(ta.tr, len) plus = fixnan(100 * ta.rma(plusDM, len) / truerange) minus = fixnan(100 * ta.rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) adx sig = adx(dilen, adxlen) if ta.change(direction) < 0 and ta.rsi(close, 21) < 66 and ta.rsi(close, 3) > 80 and ta.rsi(close, 28) > 49 and sig > 20 strategy.entry("My Long Entry Id", strategy.long) if ta.change(direction) > 0 strategy.close("My Long Entry Id") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)