예스스탁
예스스탁 답변
2025-03-11 13:50:16
안녕하세요
예스스탁입니다.
1
Else if pivotVWAP2 = pivotVWAP2[1] Then
statu = statu[1];
예스랭귀지에서 같다는 ==입니다. 위 문장에 보시면 같다라는 표현을 =로 처리되었는데
예스랭귀지에서 =은 오른쪽의 값을 왼쪽변수에 저장한다는 내용입니다.
if문에서 변수에 저장하라고 처리된 내용입니다.
pivotVWAP2변수는 차트 첫봉에서는 1봉전이 없어 값이 nan(게산불가값)입니다.
현재봉에서 계산해서 pivotVWAP2에 저장해도 위 내용으로 인해
이전값인 nan이 반복적으로 저정되므로 지표가 출력되지 못했습니다.
즉 수식은 위에서 아래로 내려가는데
pivotVWAP2에 정상값 저장 후 바로 최종적으로는 nan이 저장되게 되었습니다.
2
input : periodVol(20), periodLookback2(20), sigmaMultiplier(2);
var : i1(0), i2(0),avgVol(0), stdVol(0), pivotSum2(0), volumeSum2(0),pivotVWAP2(0),slectedDays2(0),statu(0);
avgVol = ma(V, periodVol);
stdVol= std(V, periodVol);
pivotSum2 = 0;
volumeSum2 = 0;
slectedDays2 = 0;
for i2 = 0 to periodLookback2 - 1
{
if V[i2] > avgVol[i2] + stdVol[i2]*2 Then
{
pivotSum2 = pivotSum2 + ((H[i2] + L[i2] + C[i2]) / 3) * V[i2];
volumeSum2 = volumeSum2+ V[i2];
slectedDays2 = slectedDays2 + 1;
}
}
if volumeSum2 > 0 Then
{
pivotVWAP2 = pivotSum2 / volumeSum2;
}
if pivotVWAP2 > pivotVWAP2[1] Then
statu = 1;
Else if pivotVWAP2 == pivotVWAP2[1] Then
statu = statu[1];
Else if pivotVWAP2 < pivotVWAP2[1] Then
statu = 0;
plot1(statu, "거래량 가중 피벗 평균20", LightBlue, Def, 1);
plot2(pivotVWAP2, "거래량 가중 피벗 평균20", DarkRed, Def, 1);
즐거운 하루되세요
> 아침식사됩니다 님이 쓴 글입니다.
> 제목 : 수식 검토 부탁드립니다아!
> 안녕하세요 매번 친절한 답변 감사드립니다.오늘은 작성한 지표식 작동이 이상하여 문의 드립니다. 아래 수식을 차트에 출력하면, plot2가 제대로 출력됩니다.그런데 pivotVWAP2의 상태를 나타내는 statu부분의 주석을 해제하면,
plot1은 물론이거니와 기존의 plot2 부분까지 아예 값이 출력되지 않습니다.
코드의 어떤 부분이 문제인지 시간 되실 때, 답변 좀 부탁드립니다!
(셀렉트가 쓰기 금지단어라서 띄어쓰기합니다..)
input : periodVol(20), periodLookback2(20), sigmaMultiplier(2);
var : i1(0), i2(0),avgVol(0), stdVol(0), pivotSum2(0), volumeSum2(0),pivotVWAP2(0),sel ectedDays2(0),statu(0);
avgVol = ma(V, periodVol);
stdVol= std(V, periodVol);
pivotSum2 = 0;
volumeSum2 = 0;
sel ectedDays2 = 0;
for i2 = 0 to periodLookback2 - 1
{
if V[i2] > avgVol[i2] + stdVol[i2]*2 Then
{
pivotSum2 = pivotSum2 + ((H[i2] + L[i2] + C[i2]) / 3) * V[i2];
volumeSum2 = volumeSum2+ V[i2];
sel ectedDays2 = sel ectedDays2 + 1;
}
}
if volumeSum2 > 0 Then
{
pivotVWAP2 = pivotSum2 / volumeSum2;
}
/*if pivotVWAP2 > pivotVWAP2[1] Then
statu = 1;
Else if pivotVWAP2 = pivotVWAP2[1] Then
statu = statu[1];
Else if pivotVWAP2 < pivotVWAP2[1] Then
statu = 0;
plot1(statu, "거래량 가중 피벗 평균20", LightBlue, Def, 1);*/
plot2(pivotVWAP2, "거래량 가중 피벗 평균20", DarkRed, Def, 1);