답변완료
지표문의
1.지표문의
INPUT: Lookback(500), // 최근 분석할 봉 수
RowSize(200), // 가격 구간 개수 (최대 500)
BarWidth(2);
VAR: priceMin(9999999),
priceMax(0),
priceStep(0),
i(0), j(0),
lower(0), upper(0),
level(0),
maxVol(0),
rowCount(0);
ARRAY: volArr[500](0) ; // 최대 500 구간 거래량 저장
// 1) 입력값 제한
rowCount = RowSize;
IF rowCount > 500 THEN rowCount = 500;
// 2) 최소/최대 가격 찾기
priceMin = 9999999;
priceMax = 0;
FOR i = 0 TO Lookback-1 BEGIN
IF HIGH[i] > priceMax THEN priceMax = HIGH[i];
IF LOW[i] < priceMin THEN priceMin = LOW[i];
END;
// 3) 구간 폭 계산
priceStep = (priceMax - priceMin) / rowCount;
IF priceStep <= 0 THEN priceStep = 1;
// 4) 구간별 거래량 초기화
FOR j = 0 TO rowCount-1 BEGIN
volArr[j] = 0;
END;
// 5) 각 봉의 거래량을 해당 가격구간에 누적
FOR i = 0 TO Lookback-1 BEGIN
FOR j = 0 TO rowCount-1 BEGIN
lower = priceMin + priceStep * j;
upper = priceMin + priceStep * (j + 1);
IF (HIGH[i] >= lower) AND (LOW[i] <= upper) THEN
volArr[j] = volArr[j] + VOLUME[i];
END;
END;
// 6) POC(최대 거래량) 찾기
maxVol = 0;
FOR j = 0 TO rowCount-1 BEGIN
IF volArr[j] > maxVol THEN maxVol = volArr[j];
END;
// 7) 히스토그램 출력 (현재봉만)
FOR j = 0 TO rowCount-1 BEGIN
level = priceMin + priceStep * j + priceStep / 2;
IF CURRENTBAR = 0 THEN
PLOT(j, volArr[j], "V"+NUMTOSTR(j,0));
END;
// 8) POC 출력
FOR j = 0 TO rowCount-1 BEGIN
IF volArr[j] = maxVol THEN BEGIN
level = priceMin + priceStep * j + priceStep / 2;
IF CURRENTBAR = 0 THEN
PLOT(rowCount+1, level, "POC");
END;
END;
CURRENTBAR 를 값을 대입할수있는 변수로 수정 좀해주세요
검증이 안됨
2.그럼 수고하세요
2025-09-15
190
글번호 194014
지표