신호로 Z 점수

저자:차오장, 날짜: 2022-05-08 16:25:46
태그:SMA

이것은 내 오픈 소스 지표입니다. z 점수와 구매 및 판매 지표입니다. 다른 z 점수 지표가 있다는 것을 알고 있습니다. z 점수가 어떻게 계산되는지 잘 알고 있습니다. 그래서 저는 제 자신의 z 점수를 만들고, 저를 안내할 수 있도록 구매 및 판매 신호를 추가하기로 결정했습니다.

Z-스코어란 무엇인가요?

z 점수는 주어진 평균으로부터의 거리의 통계적 측정법이며, 표준편차에서 값은 표준편차 (또는 SD) 로 표현된다. 값 (이 경우 주식) 이 평균에서 멀어질수록 평균에 대한 회귀가 가능해진다. 따라서 주식이 평균에서 3개의 표준편차에서 벗어나 거래되고 있다면, 우리는 그 값이 평균에서 1~0개의 표준편차로 회귀하기를 원할 것을 예상할 수 있다. 이보다 낮은 거래가 가능하다면 역행이 가능합니다.

Z 점수 및 주식 주식, 자연의 모든 것 처럼, 그것의 평균에서 -1과 +1 SD 사이에 거래하는 것을 좋아합니다. 이보다 높은 것은 주식에서 '스트레스'가 있다는 것을 해석 할 수 있습니다. 2.50 이상의 것은 주식에서 엄청난 스트레스입니다. 우리는 가까운 미래에 그 평균으로 돌아가고 그 값을 최소 1으로 낮추고, 이상적으로 -0.5과 0.5 범위 사이로 가져오고 싶다고 예상 할 수 있습니다. 참고로, 나는 구매 및 판매 신호를 발행하는 지표에 대한 표준을 매우 높게 설정했습니다 (/=2.50). 최근 변동성으로 주식은 이러한 범위로 자주 들어오고 있으므로 신호가 많았지만 전통적으로 안정적인 환경에서 이러한 신호를 얻지 못할 수 있습니다. 나는 잘못된 구매 및 판매 신호를 피하기 위해 바를 매우 높게 설정했습니다.

지표 작동 방식 이 지표는 주식 높은 점과 낮은 점 사이의 평균 Z 점수를 계산하여 작동합니다. 이 지표는 주식이 높은 점과 낮은 평균에서 평균 편차를 제시합니다. Z 점수가 높을수록 주가가 더 oversold 됩니다. z 점수가 낮을수록 주가가 더 oversold 됩니다. 이전 500 촛불 가치의 데이터를 사용하여 SMA와 표준 편차를 계산하여 z 점수를 계산합니다.

주가가 평균보다 2.50 SD 이상이나 더 많이 거래할 때마다 구매 또는 판매 신호가 표시됩니다. 일반적으로 통계적으로 말하면, 평균보다 2.50 SD를 이동한 후, 반전이 일어날 확률이 높아집니다.

이 지표를 사용하여 주가가 정상적인 매개 변수 내에서 거래되는지 아닌지를 판단하고 주가가 단축되거나 길게 거래 될 수 있는지 분석하는 데 도움이 될 수 있습니다.

개인적으로는 1시간 차트에서 스윙 트레이딩을 좋아합니다. 그러나 이것은 1분에서 1시간까지 언제든지 사용할 수 있습니다. 또한 평균으로 회귀하는 주식 진행을 추적 할 수 있습니다.

백테스트

img


/*backtest
start: 2022-02-07 00:00:00
end: 2022-05-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Steversteves

//@version=5

indicator("Z Score with Signals", max_labels_count = 500)

// Calculating High Z Score

a = ta.sma(high, 500)
b = ta.stdev(high, 500)
c = (high - a) / b 

// Calculating Low Z Score

d = ta.sma(low, 500)
e = ta.stdev(low, 500)
f = (low - d) / e 

// Calculating High and Low Average

z = (c + f) / 2 
 
plot (z)

// Condition Alerts

if (z < -2.50)
    strategy.entry("Enter Long", strategy.long)
else if (z > 2.50)
    strategy.entry("Enter Short", strategy.short)

관련

더 많은