커뮤니티

수식변환의뢰

프로필 이미지
심홍
2022-06-28 15:27:55
1653
글번호 160253
답변완료
아래의 수식을 예스언어로 변환부탁드립니다. StdevIf(data, compare, value) - data 벡터에서 value와 비교하여 해당되는 값들로만 전체 구간에 대해 표준편차를 구한다. (compare=-1:value보다작음, 0:value와 같음, 1:value보다 큼) StdevIf(C-avg(C, 24), -1, 0) 종가-24일평균값이 0보다 작은 값들에 대해서만, 표준편차를 구한다. 사용법 : AvgIf(data, compare, value) - data 벡터에서 value와 비교하여 해당되는 값들로만 평균을 구한다. (compare=-1:value보다작음, 0:value와 같음, 1:value보다 큼) AvgIf(C-avg(C, 24), -1, 0) 종가-24일평균값이 0보다 작은 값들에 대해서만 평균값을 구한다.
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-06-28 16:48:24

안녕하세요 예스스탁입니다. 해당 함수들은 차트 전체봉을 대상으로 계산을 합니다. 1 input : compare(-1),value(0); var : mav(0),sum(0),bars(0),avgif(0),Data(0),cnt(0); var : SumSqrt(0),Stdvif(0); Array : diff[10000](0); mav = ma(C,24); data = c-mav; if IsNan(mav) == False then { if compare == 1 Then { if data > value Then { bars = bars + 1; diff[bars] = data; sum = sum + data; } } Else if compare == -1 Then { if data < value Then { bars = bars + 1; diff[bars] = data; sum = sum + data; } } Else { if data == value Then { bars = bars + 1; diff[bars] = data; sum = sum + data; } } avgif = sum/bars; SumSqrt = 0; For cnt = 1 To bars { SumSqrt = SumSqrt + (diff[cnt] - avgif)^2; } Stdvif = SquareRoot(SumSqrt / bars); Plot1(Stdvif); } 2 input : compare(-1),value(0); var : mav(0),sum(0),bars(0),avgif(0),Data(0); mav = ma(C,24); data = c-mav; if IsNan(mav) == False then { if compare == 1 Then { if data > value Then { sum = sum + (c-mav); bars = bars + 1; } } Else if compare == -1 Then { if data < value Then { sum = sum + (c-mav); bars = bars + 1; } } Else { if data == value Then { sum = sum + (c-mav); bars = bars + 1; } } avgif = sum/bars; } Plot1(avgif); 즐거운 하루되세요 > 심홍 님이 쓴 글입니다. > 제목 : 수식변환의뢰 > 아래의 수식을 예스언어로 변환부탁드립니다. StdevIf(data, compare, value) - data 벡터에서 value와 비교하여 해당되는 값들로만 전체 구간에 대해 표준편차를 구한다. (compare=-1:value보다작음, 0:value와 같음, 1:value보다 큼) StdevIf(C-avg(C, 24), -1, 0) 종가-24일평균값이 0보다 작은 값들에 대해서만, 표준편차를 구한다. 사용법 : AvgIf(data, compare, value) - data 벡터에서 value와 비교하여 해당되는 값들로만 평균을 구한다. (compare=-1:value보다작음, 0:value와 같음, 1:value보다 큼) AvgIf(C-avg(C, 24), -1, 0) 종가-24일평균값이 0보다 작은 값들에 대해서만 평균값을 구한다.