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);
감사합니다.