안녕하세요.
해외선물에서 당일 종가 기준으로 써머타임에 따라 아래 수식은 종가 청산인데
익일 시가 청산으로 수식을 바꾸려면 어떻게 해야 할까요?
=============================당일 종가 청산================================
var : dd(0),year(0),v1(0),v2(0),v3(0),v4(0),SUMMER(FalsE),ET(0);
if NextBarSdate != sDate then
begin
DD = DayOfWeek(NextBarSdate);
Year = Floor(NextBarSdate / 10000);
// 써머타임 시작: 3월 둘째 일요일
V1 = (10000 * Year) + (100 * 3) + 1;
V2 = 15 - DayOfWeek(V1);
// 써머타임 종료: 11월 첫째 일요일
V3 = (10000 * Year) + (100 * 11) + 1;
V4 = 8 - DayOfWeek(V3);
summer = NextBarSdate > ((10000 * Year) + (100 * 3) + V2)
and
NextBarSdate < ((10000 * Year) + (100 * 11) + V4);
if summer then
ET = 055900; // 서머타임 청산: 오전 5:59
else
ET = 065900; // 표준시간 청산: 오전 6:59
end;
if ET > 0 and sDate != sDate[1] Then
SetStopEndofday(ET);
IF BdatE != BdatE[1] TheN
SetStopEndofday(0);
=================================================================================
답변 1
예스스탁
예스스탁 답변
2025-07-16 09:52:32
안녕하세요
예스스탁입니다.
익일시가청산은 별도로 썸머타입등을 체크할 필요가 없습니다.
아래식만 사용하시면 됩니다.
if NextBarBdate != sDate Then
{
if MarketPosition == 1 Then
ExitLong("bx",AtMarket);
if MarketPosition == -1 Then
ExitShort("sx",AtMarket);
}
즐거운 하루되세요
> 강우 님이 쓴 글입니다.
> 제목 : 익일 시가 청산 관련
> 안녕하세요.
해외선물에서 당일 종가 기준으로 써머타임에 따라 아래 수식은 종가 청산인데
익일 시가 청산으로 수식을 바꾸려면 어떻게 해야 할까요?
=============================당일 종가 청산================================
var : dd(0),year(0),v1(0),v2(0),v3(0),v4(0),SUMMER(FalsE),ET(0);
if NextBarSdate != sDate then
begin
DD = DayOfWeek(NextBarSdate);
Year = Floor(NextBarSdate / 10000);
// 써머타임 시작: 3월 둘째 일요일
V1 = (10000 * Year) + (100 * 3) + 1;
V2 = 15 - DayOfWeek(V1);
// 써머타임 종료: 11월 첫째 일요일
V3 = (10000 * Year) + (100 * 11) + 1;
V4 = 8 - DayOfWeek(V3);
summer = NextBarSdate > ((10000 * Year) + (100 * 3) + V2)
and
NextBarSdate < ((10000 * Year) + (100 * 11) + V4);
if summer then
ET = 055900; // 서머타임 청산: 오전 5:59
else
ET = 065900; // 표준시간 청산: 오전 6:59
end;
if ET > 0 and sDate != sDate[1] Then
SetStopEndofday(ET);
IF BdatE != BdatE[1] TheN
SetStopEndofday(0);
=================================================================================