커뮤니티

사용자함수 부탁드립니다.

프로필 이미지
e편한신호
2026-03-13 09:51:17
60
글번호 231067
답변완료

1분봉에서 아래와 같이 일간볼륨이평 사용자 함수를 사용하고있습니다.


1분봉에서 120분볼륨이평을 적용하고 싶습니다.

120분 볼륨이평 사용자함수를 부탁드립니다.

감사합니다.


inputs:Length(numeric);

var : VolumeSum(0);

var : sum(0),cnt(0);


VolumeSum = 0;

sum = 0;

for cnt = 0 to Length-1{

VolumeSum = VolumeSum + DayVolume(cnt);

sum = sum + DayClose(cnt)*DayVolume(cnt);

}

vwma_day = sum / VolumeSum ;

사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-03-16 10:38:57

안녕하세요 예스스탁입니다. 사용자함수명 : vwma_Mn 반환값형 : 숫자형 inputs :nMinutes(Numeric),Length(numeric); var : VolumeSum(0); var : sum(0),cnt(0); var : S1(0),D1(0),TM(0),TF(0); Array : CC[200](0),VV[200](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%nMinutes; if Bdate != Bdate[1] or (Bdate == Bdate[1] and nMinutes > 1 and TF < TF[1]) or (Bdate == Bdate[1] and nMinutes > 1 and TM >= TM[1]+nMinutes) or (Bdate == Bdate[1] and nMinutes == 1 and TM > TM[1]) Then { For cnt = 199 DownTo 1 { VV[cnt] = VV[cnt-1]; CC[cnt] = CC[cnt-1]; } VV[0] = 0; } VV[0] = VV[0] + v; CC[0] = C; } if VV[Length-1] > 0 Then { VolumeSum = 0; sum = 0; for cnt = 0 to Length-1 { VolumeSum = VolumeSum + VV[cnt]; sum = sum + CC[cnt]*VV[cnt]; } vwma_Mn = sum / VolumeSum ; } Else vwma_Mn = Nan; 즐거운 하루되세요