예스스탁
예스스탁 답변
2025-03-10 15:56:10
안녕하세요
예스스탁입니다.
1
주간 시고저종가를 최대 100개만 저장하게 되어 있는데
120주 내용이 계산됩니다.
배열을 200개로 늘려드립니다.
2
차트에 지정한 n주의 데이터를 계산할 만큼 데이터가 충분하지 않으면
해당 기간은 계산되지 못합니다.
3
input : P(5);
var : cnt(0);
var : sumV1(0),sumV2(0), mav1(0),mav2(0),diff(0),value(0);
Array : WC[200](0),WH[200](0),WO[200](0),wl[200](0);
if bdate != Bdate[1] and DayOfWeek(Bdate) <= DayOfWeek(Bdate[1]) Then
{
For cnt = 199 DownTo 1
{
WC[cnt] = WC[cnt-1];
WH[cnt] = WH[cnt-1];
WO[cnt] = WO[cnt-1];
WL[cnt] = WL[cnt-1];
}
WH[0] = H;
WL[0] = L;
WO[0] = O;
}
WC[0] = C;
if WH[0] > 0 and H > WH[0] Then
WH[0] = H;
if WL[0] > 0 and L < WL[0] Then
WL[0] = L;
if WC[P] > 0 Then
{
sumV1 = WO[0];
sumV2 = WO[0];
for cnt = 1 to P-1
{
sumV1 = sumV1+WC[cnt];
sumV2 = sumV2+WC[cnt+1];
}
maV1 = sumV1 / P;
maV2 = sumV2 / P;
diff = mav2-mav1;
}
input : P1(10);
var : sumV3(0),sumV4(0), mav3(0),mav4(0),diff1(0),value1(0);
if WC[P1] > 0 Then
{
sumV3 = WO[0];
sumV4 = WO[0];
for cnt = 1 to P1-1
{
sumV3 = sumV3+WC[cnt];
sumV4 = sumV4+WC[cnt+1];
}
maV3 = sumV3 / P1;
maV4 = sumV4 / P1;
diff1 = mav4-mav3;
}
input : P2(20);
var : sumV5(0),sumV6(0), mav5(0),mav6(0),diff2(0),value2(0);
if WC[P2] > 0 Then
{
sumV5 = WO[0];
sumV6 = WO[0];
for cnt = 1 to P2-1
{
sumV5 = sumV5+WC[cnt];
sumV6 = sumV6+WC[cnt+1];
}
maV5 = sumV5 / P2;
maV6 = sumV6 / P2;
diff2 = mav6-mav5;
}
input : P3(40);
var : sumV7(0),sumV8(0), mav7(0),mav8(0),diff3(0),value3(0);
if WC[p3] > 0 Then
{
sumV7 = WO[0];
sumV8 = WO[0];
for cnt = 1 to P3-1
{
sumV7 = sumV7+WC[cnt];
sumV8 = sumV8+WC[cnt+1];
}
maV7 = sumV7 / P3;
maV8 = sumV8/ P3;
diff3 = mav8-mav7;
}
input : P4(60);
var : sumV9(0),sumV10(0), mav9(0),mav10(0),diff4(0),value4(0);
if WC[P4] > 0 Then
{
sumV9 = WO[0];
sumV10 = WO[0];
for cnt = 1 to P4-1
{
sumV9 = sumV9+WC[cnt];
sumV10 = sumV10+WC[cnt+1];
}
maV9 = sumV9 / P4;
maV10 = sumV10/ P4;
diff4 = mav10-mav9;
}
input : P5(120);
var : sumV11(0),sumV12(0), mav11(0),mav12(0),diff5(0),value5(0);
if WC[P5] > 0 Then
{
sumV11 = WO[0];
sumV12 = WO[0];
for cnt = 1 to P5-1
{
sumV11 = sumV11+WC[cnt];
sumV12 = sumV12+WC[cnt+1];
}
maV11 = sumV11 / P5;
maV12 = sumV12/ P5;
diff5 = mav12-mav11;
}
plot1(DayHigh(1)-(diff+diff1),"전일고 5,10크로스");
plot2(DayHigh(1)-(diff1+diff2),"전일고 10,20크로스");
plot3(DayHigh(1)+(diff2+diff3),"전일고 20,40크로스");
plot4(DayHigh(1)+(diff3+diff4),"전일고 40,60크로스");
plot5(DayHigh(1)+(diff4+diff5),"전일고 60,120크로스");
plot6(DayHigh(1)-(diff1+diff2+diff3+diff4+diff5),"전일고10~120크로스");
plot7(DayHigh(1)+(diff2+diff3+diff4+diff5),"전일고 20~120크로스");
plot8(DayHigh(1)+(diff3+diff4+diff5),"전일고 40~120크로스");
plot9(DayHigh(1)+(diff4+diff5),"전일고 60~120크로스");
plot10(DayHigh(1)+(diff2+diff3+diff4),"전일고20~60크로스");
plot11(DayLow(1)+(diff+diff1),"전저5,10크로스");
plot12(DayLow(1)+(diff1+diff2),"전저10,20크로스");
plot13(DayLow(1)-(diff2+diff3),"전저20,40크로스");
plot14(DayLow(1)-(diff3+diff4),"전저40,60크로스");
plot15(DayLow(1)-(diff4+diff5),"전저60,120크로스");
plot16(DayLow(1)+(diff1+diff2+diff3+diff4+diff5),"전저10~120크로스");
plot17(DayLow(1)-(diff2+diff3+diff4+diff5),"전저20~120크로스");
plot18(DayLow(1)-(diff3+diff4+diff5),"전저40~120크로스");
plot19(DayLow(1)-(diff4+diff5),"전저60~120크로스");
plot20(DayLow(1)-(diff2+diff3+diff4),"전저20~60크로스");
plot21(DayOpen(),"당일시가");
plot22(DayClose(1),"전일종가");
plot23((DayHigh+daylow)/2,"당일중앙선");
즐거운 하루되세요
> 부활 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> 첨부 파일은 문의 후 제가 수정하여 작성한 것인데
주봉 60이평선 이상 부터는 차트에 표시되지 않습니다.
확인 후 수정해 주세요