커뮤니티
식 문의 드립니다
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. 위 수식을 썸머타임 여부에 따라 자동조절하는 기능은 없겠지요?