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.그럼 수고하세요
답변 1
예스스탁
예스스탁 답변
2025-09-15 13:54:26.0
안녕하세요
예스스탁입니다.
1
IF CURRENTBAR = 0 THEN
예스랭귀지에서 2개의 값이 같다는 ==을 사용합니다.
IF CURRENTBAR == 0 THEN 와 같이 수정하시면 됩니다.
2
올리신 수식에 plot은 어떤 내용으로 수정해 드려야 할지 파악이 되지 않습니다.
해당 내용 변환해 드릴수 없습니다.
즐거운 하루되세요
> 성공예견 님이 쓴 글입니다.
> 제목 : 지표문의
> 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.그럼 수고하세요