커뮤니티

식 문의 드립니다

프로필 이미지
부동여산
2019-07-29 13:07:57
279
글번호 130736
답변완료
크루드오일에 적용할때 쓰려고 합니다. 1. 재고발표날이 있는 수요일 23시20분까지 포지션이 들어가 있으면 모두 청산하고 23시35분까지 모든 포지션 진입을 막아놓는 수식을 구하고자 합니다. 2. 위 수식을 썸머타임 여부에 따라 자동조절하는 기능은 없겠지요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-07-29 16:21:54

안녕하세요 예스스탁입니다. 아래 내용 참고하시기 바랍니다. var : Summer(False),Year(0); var : v1(0),v2(0),v3(0),v4(0); #영업일 변경 if bdate != bdate[1] Then { buy(); //썸머타임체크 Year = Floor(bdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); // 3월 두번째 일요일 날짜 v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); // 11월 첫번째 일요일 날짜 Summer = bdate > (10000 * Year) + (100 * 3) + v2 And bdate < (10000 * Year) + (100 * 11) + v4; #수요일이고 썸머타임이면 #당일청산을 23시20분으로 지정 if DayOfWeek(bdate) == 3 and summer == true Then SetStopEndofday(232000); Else #아니면 적용해제 SetStopEndofday(0); } #달력상 날짜변경시(0시)에 썸머타임 아니고 영업일로 수요일이면 #새벽 00시 20분으로 당일청산 셋팅 if sdate != sdate[1] and summer == false and DayOfWeek(bdate) == 3 Then SetStopEndofday(002000); # SetStopEndofday은 지정한 시간이후 0시 까지 진입을 막습니다. # 썸머타임일떄는 수요일 23시35분이 되면, 썸머타입이 아닐때는 0시 35분에 # 당일청산을 해제해서 진입이 가능하게 만드어 주어야 합니다. if DayOfWeek(bdate) == 3 and summer == true and stime >= 233500 and stime[1] < 233500 Then SetStopEndofday(0); if DayOfWeek(bdate) == 3 and summer == false and stime >= 003500 and stime[1] < 003500 Then SetStopEndofday(0); 즐거운 하루되세요 > 부동여산 님이 쓴 글입니다. > 제목 : 식 문의 드립니다 > 크루드오일에 적용할때 쓰려고 합니다. 1. 재고발표날이 있는 수요일 23시20분까지 포지션이 들어가 있으면 모두 청산하고 23시35분까지 모든 포지션 진입을 막아놓는 수식을 구하고자 합니다. 2. 위 수식을 썸머타임 여부에 따라 자동조절하는 기능은 없겠지요?