커뮤니티

이동평균 지표 문의

프로필 이미지
뽄때
2026-03-05 06:27:06
116
글번호 230905
답변완료

항상 많은 도움을 주셔서 감사를 드립니다

거래량을 감안한 이동평균선 지표를 만들고 싶습니다.


VWAP라는 지표인데, 개념은 아래의 같습니다

**세션(보통 ‘하루’) 시작부터 현재까지 “누적”**으로 계산되는 거래량가중 평균가

장이 새로 시작되면(새 거래일/새 세션) 리셋됨

즉, VWAP은 본질적으로 “오늘 사람들이 거래한 평균 단가(거래량 가중)”

이라서 시간이 갈수록 누적 데이터가 계속 쌓입니다.


여기서 장시작 시간은  제가 정할 수 있도록 부탁드립니다. 즉 미국장이 시작되는 11:30분으로 일단은 셋팅해주시고,

내가 이 시간을 조정할 수 있도록 해주세요.

구하는 공식은 아래의 같습니다.

VWAP  =     ∑(가격×거래량) /  ∑거래량

“오늘 장 시작 1번째 봉 ~ 지금 봉”까지 전부 합(누적)

하루가 지나면 다시 레셋되고, 다시  11:30부터 다시  VWAP를 계산하면서, 봉(현재 차트에세 띄워놓은 타임프레임)이 마감되면

계속해서 누적해서  VWAP를 계산합니다.


우선 VWAP를 만들고,   VWAP가격을 이용한 볼린져밴드 지표도 부탁드립니다

즉 VWAP을 기준선(중심선)으로 하고, VWAP 주변에 “표준편차(σ)”를 얹은 밴드를 만들고 싶습니다


단기 매매를 위해서, 5분봉이나, 15분봉 차트를 사용할 것인데,

여기서 "VWAP"과 "VWAP값을  활용한 볼린져밴드"를 띄우고 사용하고 싶습니다


감사합니다.



지표
답변 5
프로필 이미지

예스스탁 예스스탁 답변

2026-03-05 13:24:06

안녕하세요
예스스탁입니다.

input: 시작시간(233000); var : Price(0),vwapsum(0),volumesum(0),vwap(0); var : v2sum(0),dev(0); Price = (High + Low + Close)/3; if (sDate != sDate[1] and sTime >= 시작시간) or (sDate == sDate[1] and sTime >= 시작시간 and sTime[1] < 시작시간) Then { vwapsum = 0; volumesum = 0; v2sum = 0; } vwapsum = vwapsum + Price*V; volumesum = volumesum + V; v2sum = v2sum + (volume*Price*Price); VWAP = vwapsum/volumesum; dev = sqrt(max(v2sum/volumesum - VWAP*VWAP, 0)); Plot1(VWAP,"VWAP"); Plot2(VWAP+dev,"VWAP Upper"); Plot3(VWAP-dev,"VWAP Lower");

즐거운 하루되세요
프로필 이미지

뽄때

2026-03-05 13:54:02

Price = (High + Low + Close)/3; 이 부분에서 가격을 종가로 할려면 Price = C로 하면 되나요?
프로필 이미지

예스스탁 예스스탁 답변

2026-03-05 14:09:38

예 맞습니다.
마지막에 ; 붙이시면 됩니다.

Price = C;
프로필 이미지

뽄때

2026-03-05 15:02:33

볼린져밴드의 표준편차는 "2"로 되어 있는 건가요? 이 부분을 수정할 수 있도록 input으로 넣을 수 없을까요?
프로필 이미지

예스스탁 예스스탁 답변

2026-03-05 16:01:52

안녕하세요 예스스탁입니다. 배수값 수정가능하게 input 변수로 처리해 드립니다. input: 시작시간(233000),dv(2); var : Price(0),vwapsum(0),volumesum(0),vwap(0); var : v2sum(0),dev(0); Price = Close; if (sDate != sDate[1] and sTime >= 시작시간) or (sDate == sDate[1] and sTime >= 시작시간 and sTime[1] < 시작시간) Then { vwapsum = 0; volumesum = 0; v2sum = 0; } vwapsum = vwapsum + Price*V; volumesum = volumesum + V; v2sum = v2sum + (volume*Price*Price); VWAP = vwapsum/volumesum; dev = sqrt(max(v2sum/volumesum - VWAP*VWAP, 0)); Plot1(VWAP,"VWAP"); Plot2(VWAP+dev*dv,"VWAP Upper"); Plot3(VWAP-dev*dv,"VWAP Lower"); 즐거운 하루되세요