
이 전략은 초과 트렌드 추적 전략이라고 불린다. 이 전략은 초과 트렌드 지표에 기반한 다공간 자동 거래 시스템을 개발하여 트렌드 방향을 자동으로 식별하고 RSI 지표와 ADX 지표와 결합하여 입출력을 수행한다.
이 전략은 주로 초상향 지표에 기초하여 현재의 가격 흐름을 판단한다. 초상향 지표는 이동 평균과 ATR을 결합하여 가격 경향 방향을 효과적으로 판단할 수 있다. 초상향 지표 방향이 변하면 가격 경향이 변하는 것을 나타낸다.
구체적으로, 이 전략은 먼저 초상향 지표 방향, 그리고 RSI 지표와 ADX 지표를 계산한다. 초상향 지표 방향이 하향으로 전환되고, RSI 지표가 다면 강도가 퇴보하는 조건에서 상하 입장을 취한다. 초상향 지표가 다시 상향으로 전환할 때, 상하 입장을 취한다.
이 전략의 가장 큰 장점은 가격 트렌드를 자동으로 식별하고 트렌드에 따라 입문과 출구를 할 수 있다는 것입니다. 또한, RSI 지표와 ADX 지표와 결합하여 필터링을 수행하면 가짜 돌파구를 효과적으로 필터링하여 수익률을 높일 수 있습니다.
이 전략의 가장 큰 위험은 초트렌드 지표 자체가 가격 흐름을 판단하는 정확도가 높지 않아 잘못된 신호가 발생할 수 있다는 것입니다. 또한, 중지 장치가 설정되지 않은 경우, 단독 손실이 더 클 수 있습니다.
오버 트렌드 지표 파라미터를 조정하고 이동 스톱을 추가함으로써 위험을 줄일 수 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
오버 트렌드 지표 매개 변수를 최적화하여 판단의 정확성을 향상시킵니다.
이동적 손해배상 장치에 가입하여 단편적 손실을 제어합니다.
브린 띠, 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)