커뮤니티
날짜 진입 필터 다시한번만 부탁드립니다.
2017-01-16 23:19:20
135
글번호 105974
계속해서 답변해 주셔서 감사합니다.
알려주신 수식을 테스트 중에 있는데, 이상한 상황이 벌어져서 질문을 남깁니다.
1. 기본조건
data1 => 연결선물 1분봉
data2 => 다우산업 일봉
2. 수식
if data1(DayOfWeek(sdate)) == 1 and data2(DayOfWeek(date)) == 6 Then
T = 1;
else if data1(DayOfWeek(sdate)) >= 2 and data1(DayOfWeek(sdate)) == data2(DayOfWeek(date)) Then
T = 1;
Else
T = 0;
if data1(sdate != sdate[1]) Then
d1 = sdate[1];
if data1(DayOfWeek(D1)) == 1 and data2(DayOfWeek(date[1])) == 6 Then
P = 1;
else if data1(DayOfWeek(D1)) >= 2 and data1(DayOfWeek(D1)) == data2(DayOfWeek(date[1])) Then
P = 1;
Else
P = 0;
위와 같이, 당일 기준으로 전일 다우가 열리지 않았으면 T=0, 아니면 T=1을 저장
전일 기준으로 전일 다우가 열리지 않았으면, P=0, 아니면 P=1을 저장하도록 합니다.
그리고 이를 테스트해보기 위해서 아래와 같이 플롯팅을 해보았습니다. (겹쳐서 표현되는걸 방지하지 위해 편의상, P는 -1을 곱했습니다.)
plot1(T, "T", RED);
plot2(P*-1, "P", BLUE);
그런데 이상한 결과가 곳곳에 나타납니다.
예를 들어, 아래의 그림은 9월 6일의 결과입니다. (아래에서 두번째 줄이 위의 수식에 대한 플로팅 결과입니다.)
- 하루 전날 기준으로 산정하는 조건이니, 9월 5일을 보면
- 국내장은 월요일이므로 1로 입력되고, 다우는 토요일날 장이 끝나는 것으로 되어 6으로 입력됩니다.
- 그러면 위에 제시한 수식에 따라서 P=1로 저장이 되어야 합니다.
- 그런데, 아래의 그림에서 보는 바와 같이 p=0으로 나타납니다. (파란색선)
왜 이런 현상이 나타나는지 알수 있을런지요`?
감사합니다.
- 1. 106508_그림1.png (0.20 MB)
답변 1
예스스탁 예스스탁 답변
2017-01-17 11:23:53
안녕하세요
예스스탁입니다.
데이터는 최근 완성봉 순으로 [0],[1]순으로 값을 가져오게 됩니다.
참조데이터가 해외데이터이면 [0]이 가장 최근봉이고 전일봉입니다.
현재식으로는 주종목 전일, 참조데이터 전전일 기준입니다.
수식에는 직전봉을 의미하시는것 같아
[1]로 처리해 드렸는데 단순 전일이면 data2(sdate)가 맞습니다.
plot1(data2(DayOfWeek(date)));
plot2(data2(DayOfWeek(date[1])));
위 지표 적용해서 요일값 확인하시기 하셔서
이전값 처리하시기 바랍니다.
수식은 data1은 전일, data2은 최근봉(전일봉)으로 수정해 드립니다.
var : T(0),P(0),D1(0);
if data1(DayOfWeek(sdate)) == 1 and data2(DayOfWeek(date)) == 6 Then
T = 1;
else if data1(DayOfWeek(sdate)) >= 2 and data1(DayOfWeek(sdate)) == data2(DayOfWeek(date)) Then
T = 1;
Else
T = 0;
if data1(sdate != sdate[1]) Then
d1 = sdate[1];
if data1(DayOfWeek(D1)) == 1 and data2(DayOfWeek(date)) == 6 Then
P = 1;
else if data1(DayOfWeek(D1)) >= 2 and data1(DayOfWeek(D1)) == data2(DayOfWeek(date)) Then
P = 1;
Else
P = 0;
plot1(T);
plot2(P);
즐거운 하루되세요
> 중박주식 님이 쓴 글입니다.
> 제목 : 날짜 진입 필터 다시한번만 부탁드립니다.
> 계속해서 답변해 주셔서 감사합니다.
알려주신 수식을 테스트 중에 있는데, 이상한 상황이 벌어져서 질문을 남깁니다.
1. 기본조건
data1 => 연결선물 1분봉
data2 => 다우산업 일봉
2. 수식
if data1(DayOfWeek(sdate)) == 1 and data2(DayOfWeek(date)) == 6 Then
T = 1;
else if data1(DayOfWeek(sdate)) >= 2 and data1(DayOfWeek(sdate)) == data2(DayOfWeek(date)) Then
T = 1;
Else
T = 0;
if data1(sdate != sdate[1]) Then
d1 = sdate[1];
if data1(DayOfWeek(D1)) == 1 and data2(DayOfWeek(date[1])) == 6 Then
P = 1;
else if data1(DayOfWeek(D1)) >= 2 and data1(DayOfWeek(D1)) == data2(DayOfWeek(date[1])) Then
P = 1;
Else
P = 0;
위와 같이, 당일 기준으로 전일 다우가 열리지 않았으면 T=0, 아니면 T=1을 저장
전일 기준으로 전일 다우가 열리지 않았으면, P=0, 아니면 P=1을 저장하도록 합니다.
그리고 이를 테스트해보기 위해서 아래와 같이 플롯팅을 해보았습니다. (겹쳐서 표현되는걸 방지하지 위해 편의상, P는 -1을 곱했습니다.)
plot1(T, "T", RED);
plot2(P*-1, "P", BLUE);
그런데 이상한 결과가 곳곳에 나타납니다.
예를 들어, 아래의 그림은 9월 6일의 결과입니다. (아래에서 두번째 줄이 위의 수식에 대한 플로팅 결과입니다.)
- 하루 전날 기준으로 산정하는 조건이니, 9월 5일을 보면
- 국내장은 월요일이므로 1로 입력되고, 다우는 토요일날 장이 끝나는 것으로 되어 6으로 입력됩니다.
- 그러면 위에 제시한 수식에 따라서 P=1로 저장이 되어야 합니다.
- 그런데, 아래의 그림에서 보는 바와 같이 p=0으로 나타납니다. (파란색선)
왜 이런 현상이 나타나는지 알수 있을런지요`?
감사합니다.
다음글