우리나라시간으로 해외선물을 16:50시간부터 진입하고 청산은 익일 오전 10:15시간에 마감이 되도록 아래와 같이 설정을하고 시뮬레이션을 돌려 봤더니 청부부된거와 같이 10:15이후에 청산되는 시뮬레이션을 발견하였습니다.
지난번에 올려주신 자료를 복사하여 사용하였는데 청산되는 시점이 EndTime(101500) 이후에 나타나오니 한번더 점검하여 바로잡아주시면 고맙겠습니다.
input : StartTime(165000), EndTime(101500);
var : Tcond(False);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if Bdate != Bdate[1] Then
{
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
Tcond = true;
if Tcond == true Then
{
if buySignal == true Then
Buy("Buy");
if buyExit == true Then
ExitLong("BExit");
if sellSignal == true Then
Sell("Sell");
if sellExit == true Then
ExitShort("SExit");
}
답변 1
예스스탁
예스스탁 답변
2024-08-21 14:01:58
안녕하세요
예스스탁입니다.
초기화시점을 수정했습니다.
input : StartTime(165000), EndTime(101500);
var : Tcond(False);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if Tcond == true Then
{
if buySignal == true Then
Buy("Buy");
if buyExit == true Then
ExitLong("BExit");
if sellSignal == true Then
Sell("Sell");
if sellExit == true Then
ExitShort("SExit");
}
즐거운 하루되세요
> 하날랑 님이 쓴 글입니다.
> 제목 : 진입청산시간 재검토
> 우리나라시간으로 해외선물을 16:50시간부터 진입하고 청산은 익일 오전 10:15시간에 마감이 되도록 아래와 같이 설정을하고 시뮬레이션을 돌려 봤더니 청부부된거와 같이 10:15이후에 청산되는 시뮬레이션을 발견하였습니다.
지난번에 올려주신 자료를 복사하여 사용하였는데 청산되는 시점이 EndTime(101500) 이후에 나타나오니 한번더 점검하여 바로잡아주시면 고맙겠습니다.
input : StartTime(165000), EndTime(101500);
var : Tcond(False);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if Bdate != Bdate[1] Then
{
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
Tcond = true;
if Tcond == true Then
{
if buySignal == true Then
Buy("Buy");
if buyExit == true Then
ExitLong("BExit");
if sellSignal == true Then
Sell("Sell");
if sellExit == true Then
ExitShort("SExit");
}