커뮤니티

질문 올립니다.

프로필 이미지
즐겁게
2020-03-31 19:55:06
594
글번호 137405
답변완료
안녕하세요. 늘 감사드립니다. 전에 알려 주신, 시장 개장 시점을 중심으로 시고저종을 표시하는 방법을 감사히 잘 쓰고 있습니다. 그런데, 항셍은 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으로 자동으로 처리되게 만들어서, 일일히 손으로 장 개시 시간을 입력하지 않고, 한 번 만든 소스로 이 시장 저 시장, 여름 겨울 구분 없이 사용하게 할 방법이 있을지요? 감사합니다!