예스스탁
예스스탁 답변
2020-11-11 10:58:55
안녕하세요
예스스탁입니다.
1
항셍이나 H-shares등과 같은 경우에는 해당 거래소에서는
영업일 변경을 한국시간 18시15분(거래소시간 17시 15분)을 기준으로 합니다.
저희 프로그램이 제공되는 선물/증권사에서는 모두 거래소의 영업일 기준으로 일간시고저종가를 제공하고 있습니다.
거래소의 영업일 변경시간과 다른 시간을 하루기준으로 삼으시면
아래와 같이 별도로 시간을 지정해 일간시고저종가를 계산해 사용하셔야 합니다.
각 배열변수의 0은 당일, 1은 전일, 2는 전전일 순서입니다.
input : 기준시간(101500);
var : cnt(0);
Array : DO[20](0),DH[20](0),DL[20](0),DC[20](0);
if (sdate != sdate[1] and stime >= 기준시간) or
(sdate == sdate[1] and stime >= 기준시간 and stime[1] < 기준시간) Then
{
DO[0] = O;
DH[0] = H;
DL[0] = L;
for cnt = 1 to 19
{
DO[cnt] = DO[cnt-1][1];
DH[cnt] = DH[cnt-1][1];
DL[cnt] = DL[cnt-1][1];
DC[cnt] = DC[cnt-1][1];
}
}
DC[0] = C;
if H > DH[0] Then
DH[0] = H;
if L < DL[0] Then
DL[0] = L;
plot1((DH[0]+DL[0])/2,"중앙선");
plot2(DH[1],"전일고가");
plot3(DC[1],"전일종가");
plot4(DL[1],"전일저가");
plot5(DO[1],"전일시가");
plot6(DO[0],"당일시가");
2
위 계산식을 이용한 demark 지표입니다.
input : 기준시간(101500);
var : cnt(0);
Array : DO[20](0),DH[20](0),DL[20](0),DC[20](0);
if (sdate != sdate[1] and stime >= 기준시간) or
(sdate == sdate[1] and stime >= 기준시간 and stime[1] < 기준시간) Then
{
DO[0] = O;
DH[0] = H;
DL[0] = L;
for cnt = 1 to 19
{
DO[cnt] = DO[cnt-1][1];
DH[cnt] = DH[cnt-1][1];
DL[cnt] = DL[cnt-1][1];
DC[cnt] = DC[cnt-1][1];
}
}
DC[0] = C;
if H > DH[0] Then
DH[0] = H;
if L < DL[0] Then
DL[0] = L;
if DO[1] > 0 Then
{
If DC[1] > DO[1] Then
{
value1 = (DH[1]+DL[1]+DC[1]+DH[1])/2-DL[1];
value2 = (DH[1]+DL[1]+DC[1]+DH[1])/2-DH[1];
}
Else If DC[1] < DO[1] Then
{
value1 = (DH[1]+DL[1]+DC[1]+DL[1])/2-DL[1];
value2 = (DH[1]+DL[1]+DC[1]+DL[1])/2-DH[1];
}
Else
{
value1 = (DH[1]+DL[1]+DC[1]+DC[1])/2-DL[1];
value2 = (DH[1]+DL[1]+DC[1]+DC[1])/2-DH[1];
}
Plot1(value1, "Demark분봉상한");
Plot2(value2, "Demark분봉하한");
}
3
장 분리한 demark지표입니다.
input : 기준시간1(101500),기준시간2(181500);
var : cnt(0);
Array : DO[20](0),DH[20](0),DL[20](0),DC[20](0);
if (sdate != sdate[1] and stime >= 기준시간1) or
(sdate == sdate[1] and stime >= 기준시간1 and stime[1] < 기준시간1) Then
{
DO[0] = O;
DH[0] = H;
DL[0] = L;
for cnt = 1 to 19
{
DO[cnt] = DO[cnt-1][1];
DH[cnt] = DH[cnt-1][1];
DL[cnt] = DL[cnt-1][1];
DC[cnt] = DC[cnt-1][1];
}
}
if (sdate != sdate[1] and stime >= 기준시간2) or
(sdate == sdate[1] and stime >= 기준시간2 and stime[1] < 기준시간2) Then
{
DO[0] = O;
DH[0] = H;
DL[0] = L;
for cnt = 1 to 19
{
DO[cnt] = DO[cnt-1][1];
DH[cnt] = DH[cnt-1][1];
DL[cnt] = DL[cnt-1][1];
DC[cnt] = DC[cnt-1][1];
}
}
DC[0] = C;
if H > DH[0] Then
DH[0] = H;
if L < DL[0] Then
DL[0] = L;
if DO[1] > 0 Then
{
If DC[1] > DO[1] Then
{
value1 = (DH[1]+DL[1]+DC[1]+DH[1])/2-DL[1];
value2 = (DH[1]+DL[1]+DC[1]+DH[1])/2-DH[1];
}
Else If DC[1] < DO[1] Then
{
value1 = (DH[1]+DL[1]+DC[1]+DL[1])/2-DL[1];
value2 = (DH[1]+DL[1]+DC[1]+DL[1])/2-DH[1];
}
Else
{
value1 = (DH[1]+DL[1]+DC[1]+DC[1])/2-DL[1];
value2 = (DH[1]+DL[1]+DC[1]+DC[1])/2-DH[1];
}
Plot1(value1, "Demark분봉상한");
Plot2(value2, "Demark분봉하한");
}
즐거운 하루되세요
> 기사단장 님이 쓴 글입니다.
> 제목 : Demark 기준 시간 변경
> 안녕하세요. 담당자님.
예스트레이더로 시작한 시스템매매로 그동안 나름 의미있는 성과를 낼 수 있게되어 먼저 감사말씀 드립니다.
이러한 훌륭한 툴과 담당자님 도움 덕분에 믿을 수 있는 투자를 하게되어 투자인생에 큰 변화를 맞이할 수 있었습니다.
욕심이 생겨 국내를 넘어 해외선물도 투자를 하고자 분석중, 국내와 다른 시간대에 전략 수립에 어려움이 있습니다.
홍콩선물거래소 기준으로 말씀드리면 거래시간은 아래와 같으며
T session 10:15~13:00 / 14:00 ~ 17:30 / T+1 session 18:15~02:00
홍콩시간 기준 DayOpen 10:15 DayClose 02:00이라고 볼수 있습니다.
그러나 예스트레이더 Demark지표 사용 시, 17:30 를 Dayclose로 기준을 잡아 Demark 지표가 의도와 다르게 생성되고 있습니다.
1) DayOpen을 10:15분, DayClose 02:00기준으로 Demark를 생성할 수 있는 방법이 있을까요?
2) 더 나아가 정규장과 야간장을 분리하여 Demark를 만드는 방법이 있을까요?
(DayOpen 10:15, DayClose 17:30 / Dayopen 18:15, DayClose 02:00 두개의 Demark를 생성)
항상 도와주셔서 감사드리며, 전략분석에 중요한 지표로 도움이 될 수 있는 어떠한 설명이라도 알려주시면 매우 감사할것 같습니다.
(차트는 H-Share Index, 증권사는 브이아이금융투자 이용하고있습니다)
항상 감사드립니다.