안녕하세요. 늘 감사드립니다.
전에 알려 주신, 시장 개장 시점을 중심으로 시고저종을 표시하는 방법을 감사히 잘 쓰고 있습니다.
그런데, 항셍은 1015, 나닥은 2230으로 개장시간이 서로 다르다 보니,
항셍에 적용할 때는 손으로 1015를 쳐 주고
나닥에 적용할 때는 손으로 2230을 쳐 주다 보니 조금 불편한 면이 있습니다.
그래서, 그냥 자동으로 알아서 항셍 시장이면 시작 개시시간을 1015로,
나닥이면 DST에서는 2230, ST에서는 2330으로 자동으로 처리되게 만들어서,
일일히 손으로 장 개시 시간을 입력하지 않고, 한 번 만든 소스로 이 시장 저 시장, 여름 겨울 구분 없이 사용하게 할 방법이 있을지요?
감사합니다!
답변 1
예스스탁
예스스탁 답변
2020-04-01 18:20:42
안녕하세요
예스스탁입니다.
아래식 참고하시기 바랍니다.
종목코드로 항셍과 아닌종목을 구분하게 작성된 식입니다.
종목코드가 첫 두글자가 HS이면 10시15분
아닌 종목은 모두 썸머타임에 22시30분이나 23시30분으로 셋팅됩니다.
var : Summer(False);
var : S1(0),S2(0),E1(0),E2(0),cnt(0),OpenTime(0);
Array : DO[10](0),DH[10](0),DL[10](0),DC[10](0);
if LeftStr(SymbolCode,2) == "HS" Then
{
OpenTime = 101500;
}
else
{
if sdate != sdate[1] Then
{
S1 = Floor(sdate/10000)*10000+0300;
E1 = Floor(sdate/10000)*10000+1100;
var1 = 0;
var2 = 0;
for cnt = 1 to 31
{
if DayOfWeek(S1+cnt) == 0 Then
{
var1 = var1+1;
if var1 == 2 then
{
S2 = S1+cnt;
}
}
if DayOfWeek(E1+cnt) == 0 and cnt <= 31 Then
{
var2 = var2+1;
if var2 == 1 then
{
E2 = E1+cnt;
}
}
}
Summer = sdate > S2 And sdate < E2;
if Summer == true then
OpenTime = 223000;
Else
OpenTime = 233000;
}
}
if (sdate != sdate[1] and stime >= OpenTime) or
(sdate == sdate[1] and stime >= OpenTime and stime[1] < OpenTime) then
{
DO[0] = O;
DH[0] = H;
DL[0] = L;
for cnt = 1 to 9
{
DO[cnt] = DO[cnt-1][1];
DH[cnt] = DH[cnt-1][1];
DL[cnt] = DL[cnt-1][1];
DC[cnt] = DC[cnt-1][1];
}
}
if DH[0] > 0 and H > DH[0] Then
DH[0] = H;
if DL[0] > 0 and L < DL[0] Then
DL[0] = H;
DC[0] = C;
plot1(DO[0]);
plot2(DH[0]);
plot3(DL[0]);
즐거운 하루되세요
> 즐겁게 님이 쓴 글입니다.
> 제목 : 질문 올립니다.
> 안녕하세요. 늘 감사드립니다.
전에 알려 주신, 시장 개장 시점을 중심으로 시고저종을 표시하는 방법을 감사히 잘 쓰고 있습니다.
그런데, 항셍은 1015, 나닥은 2230으로 개장시간이 서로 다르다 보니,
항셍에 적용할 때는 손으로 1015를 쳐 주고
나닥에 적용할 때는 손으로 2230을 쳐 주다 보니 조금 불편한 면이 있습니다.
그래서, 그냥 자동으로 알아서 항셍 시장이면 시작 개시시간을 1015로,
나닥이면 DST에서는 2230, ST에서는 2330으로 자동으로 처리되게 만들어서,
일일히 손으로 장 개시 시간을 입력하지 않고, 한 번 만든 소스로 이 시장 저 시장, 여름 겨울 구분 없이 사용하게 할 방법이 있을지요?
감사합니다!