커뮤니티
글번호 45376번 재질문
2015-12-08 15:47:06
114
글번호 93185
안녕하세요?
글번호 45376번 재질문입니다.
질문의 취지는
수식에 사용된 Bdate != Bdate[1]라는 표현이
해외선물 새로운 거래시간, 즉
Bdate != Bdate[1]가 한국시간 기준으로8시, 썸머타임이면 7시인지라
이걸 hour 단위로 풀어서
변수를 구하는데 있어서 하루의 개념을 미국시장 시간 중으로 평균을 내는 등 특정시간대로 셈을 하여 시뮬을 하고 싶어서 입니다.
Bdate를 hour단위로 풀어서 수식을 풀 수 있다면 풀어 주시면 감사하겠습니다.
아울러 답변해주신 내용에
"수식에 따로 변경해 드릴부분은 없고
당일청산만 8시에 시작하면 7시
7시에 시작하면 6시에 청산하게 변경해 드립니다."
라고 하셨는데 변경을 어떻게 하면 될까요?
답변 1
예스스탁 예스스탁 답변
2015-12-08 16:24:04
안녕하세요
예스스탁입니다.
죄송합니다. 이전 답변에 수식이 첨부가 되지 않았습니다.
시간을 직접 지정하게 변경해 드립니다.
썸머타임여부를 시간으로는 알수가 없습니다. 해당 부분은 포함하지 못합니다.
시작시간과 당일청산시간을 모두 지정하게 변경해서 올려드립니다.
input : starttime(70000),xtime(060000);
var : TF(0);
var : Etime(false),cnt(0),mav1(0),mav2(0);
var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0);
Array : HH[50](0),LL[50](0),CC[50](0);
mav1 = ma(c,5);
mav2 = ma(C,20);
TF = TimeToMinutes(stime)%30;
if stime == starttime or (stime > starttime and stime[1] < starttime) Then{
Etime = false;
}
if stime == xtime or (stime > xtime and stime[1] < xtime) Then{
Etime = true;
}
if (stime == starttime or (stime > starttime and stime[1] < starttime)) or (TF < TF[1] and stime > stime[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
if HH[25+2] > 0 Then{
HV = HH[0];
LV = LL[0];
HV1 = HH[1];
LV1 = LL[1];
HV2 = HH[2];
LV2 = LL[2];
for cnt = 0 to 25{
if HH[cnt] > HV Then
HV = HH[cnt];
if LL[cnt] < LV Then
LV = LL[cnt];
if HH[cnt+1] > HV Then
HV = HH[cnt+1];
if LL[cnt+1] < LV Then
LV = LL[cnt+1];
if HH[cnt+2] > HV Then
HV = HH[cnt+2];
if LL[cnt+2] < LV Then
LV = LL[cnt+2];
}
var1 = (HV+LV)/2;
var2 = (HV1+LV1)/2;
var3 = (HV2+LV2)/2;
if Etime == true then{
if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then
buy("b",AtMarket);
if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then
ExitLong("bx",AtMarket);
}
}
if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{
Etime = false;
ExitLong();
}
var : entry1(0);
var : ho1(0),OL1(0),HL1(0);
var : maho1(0),maOL1(0),maHL1(0);
var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0);
var : EntryCnt1(0);
var : V1(0),V2(0),V3(0),V4(0),V5(0);
var : V6(0),V7(0),V8(0),V9(0),V10(0);
if bdate != bdate[1] Then
entry1 = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry1 = entry1+1;
ho1 = Dayhigh-Dayopen;
OL1 = DayOpen-DayLow;
HL1 = DayHigh-DayLow;
sumho1 = 0;
sumOL1 = 0;
sumHL1 = 0;
for cnt1 = 1 to 10{
sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1));
sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1));
sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1));
}
maho1 = sumho1/10;
maOL1 = sumOL1/10;
maHL1 = sumHL1/10;
V1 = dayopen(0)+maho1;
V2 = DayOpen(0)-maOL1;
V3 = DayOpen(0)+maHL1;
V4 = DayOpen(0)-maHL1;
V5 = NthMaxList(1,V1,V2,V3,V4);
V6 = NthMaxList(2,V1,V2,V3,V4);
V9 = NthMaxList(3,V1,V2,V3,V4);
V10 = NthMaxList(4,V1,V2,V3,V4);
V7 = (V5+V10)/2;
V8 = (V6+V9)/2;
if MarketPosition == 0 and entry1 == 0 Then{
if V7 > V8 Then
sell("s1",AtStop,V7);
if V7 < V8 Then
sell("s2",Atlimit,V8);
}
if MarketPosition == -1 and IsEntryName("s1") == true Then{
ExitShort("sp1",atlimit,V9);
ExitShort("sl1",AtStop,V6);
}
if MarketPosition == -1 and IsEntryName("s2") == true Then{
ExitShort("sp2",atlimit,V9-0.03);
ExitShort("sl2",AtStop,V6);
}
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 글번호 45376번 재질문
> 안녕하세요?
글번호 45376번 재질문입니다.
질문의 취지는
수식에 사용된 Bdate != Bdate[1]라는 표현이
해외선물 새로운 거래시간, 즉
Bdate != Bdate[1]가 한국시간 기준으로8시, 썸머타임이면 7시인지라
이걸 hour 단위로 풀어서
변수를 구하는데 있어서 하루의 개념을 미국시장 시간 중으로 평균을 내는 등 특정시간대로 셈을 하여 시뮬을 하고 싶어서 입니다.
Bdate를 hour단위로 풀어서 수식을 풀 수 있다면 풀어 주시면 감사하겠습니다.
아울러 답변해주신 내용에
"수식에 따로 변경해 드릴부분은 없고
당일청산만 8시에 시작하면 7시
7시에 시작하면 6시에 청산하게 변경해 드립니다."
라고 하셨는데 변경을 어떻게 하면 될까요?
다음글