관성 지표 거래 전략

저자:차오장, 날짜: 2023-12-26 15:42:33
태그:

img

전반적인 설명

관성 지표 거래 전략 ( inertia indicator trading strategy) 은 상대 변동성 지수 (RVI) 를 기반으로 트렌드를 따르는 알고리즘 거래 전략이다. 증권의 RVI를 계산하여 시장, 주식 또는 통화 쌍의 동력과 트렌드를 측정한다. 장기 트렌드의 방향을 결정하고 거래 신호를 생성할 수 있다.

전략 논리

이 전략의 핵심 지표는관성 지표이 값은 0에서 100까지 다양합니다. 50 이상의 판독은 긍정적 인너시를 나타냅니다. 50 이하의 판독은 부정적 인너시를 나타냅니다. 인너시 값이 50 이상으로 유지되는 한 상승 추세를 나타냅니다. 그리고 그 반대의 경우.

계산 과정은 다음과 같습니다.

  1. 정해진 기간에 대한 종료 가격의 표준편차 StdDev를 계산합니다.
  2. 오늘과 어제의 종료 가격의 비교를 바탕으로 상승 변동성 u와 하락 변동성을 d를 계산합니다.
  3. 표시 nU와 nD를 얻기 위해 부드러운 u와 d
  4. 상대 변동성 지수를 계산합니다. nRVI = 100 * nU / (nU + nD)
  5. 기하급수적으로 부드러운 nRVI 최종 관성값 nRes를 얻기 위해

nRes가 50보다 크면 구매 신호가 나오고 50보다 작으면 판매 신호가 나오죠

이점 분석

이 전략의 가장 큰 장점은 트렌드를 따라가며 시장 연대 과정에서 빈번한 오픈을 피할 수 있다는 것입니다. 또한 간단한 지표 계산에는 컴퓨팅 리소스가 덜 필요하므로 알고리즘 거래에 적합합니다.

위험 분석

가장 큰 위험은 지표 자체가 지연을 가지고 있으며 전환점을 100% 포착 할 수 없다는 것입니다. 이것은 더 나은 개척 기회를 놓칠 수 있습니다. 또한 지표의 매개 변수 설정은 전략 성능에도 영향을 미치며 최적의 매개 변수를 찾기 위해 많은 백테스팅이 필요합니다.

위험을 줄이기 위해 다른 기술적 또는 근본적 지표와 결합하여 더 많은 요소를 사용하여 오픈을 결정하는 것을 고려하십시오. 동시에 각 거래의 위치 크기를 제어하십시오.

최적화 방향

이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 매개 변수 최적화. 최적의 매개 변수 조합을 찾기 위해 사이클 매개 변수와 매개 변수의 설정을 변경합니다.

  2. 다른 지표와 결합합니다. 더 정보화된 결정을 위해 이동 평균, RSI 및 다른 지표와 사용하십시오.

  3. 동적 위치 사이즈: 시장 조건과 지표 값에 따라 각 거래의 위치 크기를 동적으로 조정합니다.

  4. 자동 스톱 로스: 트레이드당 최대 손실을 효과적으로 제어하기 위해 스톱 로스 포지션을 설정합니다.

결론

관성 지표 거래 전략은 상대적으로 간단하고 신뢰할 수있는 트렌드 다음 전략입니다. 관성 지표에 기반하여 가격 트렌드 방향을 결정하고 거래 위치를 설정하는 트렌드를 따르고 있습니다. 매개 변수 최적화, 지표 조합을 통해 전략 성능을 더욱 향상시킴으로써 양적 거래에 적합한 알고리즘 전략입니다.


/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/05/2017
// The inertia indicator measures the market, stock or currency pair momentum and 
// trend by measuring the security smoothed RVI (Relative Volatility Index). 
// The RVI is a technical indicator that estimates the general direction of the 
// volatility of an asset.
// The inertia indicator returns a value that is comprised between 0 and 100. 
// Positive inertia occurs when the indicator value is higher than 50. As long as 
// the inertia value is above 50, the long-term trend of the security is up. The inertia 
// is negative when its value is lower than 50, in this case the long-term trend is 
// down and should stay down if the inertia stays below 50.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Inertia Indicator", shorttitle="Inertia")
Period = input(10, minval=1)
Smooth = input(14, minval=1)
reverse = input(false, title="Trade reverse")
hline(50, color=green, linestyle=line)
xPrice = close
StdDev = stdev(xPrice, Period)
d = iff(close > close[1], 0, StdDev)
u = iff(close > close[1], StdDev, 0)
nU = (13 * nz(nU[1],0) + u) / 14
nD = (13 * nz(nD[1],0) + d) / 14
nRVI = 100 * nU / (nU + nD)
nRes = ema(nRVI, Smooth)
pos = iff(nRes > 50, 1,
	     iff(nRes < 50, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=red, title="Inertia")


더 많은