커뮤니티

해외선물 정규장 초기 15분 또는 30분간의 최고, 최저 구하고, 다음날 청산 방법

프로필 이미지
알이랑
2025-08-11 22:33:42
129
글번호 193163
답변완료
CME 해외선물의 정규장 초기 구간(10분 또는 30분)을 채널 기준으로 삼고자 합니다. 한국시간으로 대략 22:30 (서머타임시) 또는 23:30 부터 시작입니다. 1분봉, 5분봉, 30분봉 등의 차트에서 22:30 부터 15분간의 최고, 최저 가격을 각각 HH, LL 변수에 할당하는 방법이 궁금합니다. 또한 그 다음날 아침 8:00 에 SetStopEndofday() 하는 방법도 궁금합니다. 아래 시스템식은 수식작성 예제의 "30MBO 전략"을 참조한 것입니다. [시스템식] var : HH(0),LL(0); if stime >= 223000 and stime < 2245000 Then{ HH ?? LL ?? } if stime >= 224500 and stime < 74500 and crossup(c,HH) then buy(); if stime >= 224500 and stime < 74500 and CrossDown(c,LL) then sell(); SetStopEndofday(80000); 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-08-12 09:16:45

안녕하세요 예스스탁입니다. 당일청산함수는 지정한 시간이후에 밤 0시까지 진입을 막게 됩니다. 08시 청산이면 그날 밤 0시까지 진입이 없게 되므로 적절한 시점에 당일청산 해제를 해주셔야 합니다. input : N(15),Endtime(80000); var : ST(0),S1(0),D1(0),T(0),TM(0),TM1(0); var : HH(0),LL(0); if sdate != sDate[1] Then SetStopEndofday(Endtime); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; if sTime < 80000 Then ST = 223000; Else ST = 233000; T = 0; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; if ST > 0 and ((sDate != sDate[1] and sTime >= Endtime) or (sDate == sDate[1] and sTime >= Endtime and sTime[1] < Endtime)) Then { T = 2; } if ST > 0 and ((sDate != sDate[1] and sTime >= ST) or (sDate == sDate[1] and sTime >= ST and sTime[1] < ST)) Then { T = 1; TM1 = TM; SetStopEndofday(0); #해제 HH = H; LL = L; } if T == 1 Then { if TM < TM1+N Then { if H > HH Then HH = H; if L < LL Then LL = L; } if TM >= TM1+N Then { if crossup(c,HH) Then Buy("b"); if CrossDown(c,LL) Then Sell("s"); } } } 즐거운 하루되세요 > 알이랑 님이 쓴 글입니다. > 제목 : 해외선물 정규장 초기 15분 또는 30분간의 최고, 최저 구하고, 다음날 청산 방법 > CME 해외선물의 정규장 초기 구간(10분 또는 30분)을 채널 기준으로 삼고자 합니다. 한국시간으로 대략 22:30 (서머타임시) 또는 23:30 부터 시작입니다. 1분봉, 5분봉, 30분봉 등의 차트에서 22:30 부터 15분간의 최고, 최저 가격을 각각 HH, LL 변수에 할당하는 방법이 궁금합니다. 또한 그 다음날 아침 8:00 에 SetStopEndofday() 하는 방법도 궁금합니다. 아래 시스템식은 수식작성 예제의 "30MBO 전략"을 참조한 것입니다. [시스템식] var : HH(0),LL(0); if stime >= 223000 and stime < 2245000 Then{ HH ?? LL ?? } if stime >= 224500 and stime < 74500 and crossup(c,HH) then buy(); if stime >= 224500 and stime < 74500 and CrossDown(c,LL) then sell(); SetStopEndofday(80000); 감사합니다.