커뮤니티
선물1분챠트에서
2019-08-31 15:17:16
183
글번호 131621
수고하십니다
공부겸 생각나는걸 주말마다 적성해봅니다
2가지 질문을 드립니다
1. 프로그램 작성후 검증을 하고 전략실행챠트에 적용후 전략실행챠트화면에서 재실행하는 방법이 없나요, 물론 종목을 바꾸니 재실행결과가 나오던데,,그종목 상태에서는 어떻게,,
예스랭귀지 편집기에서 수정후 검증하면 디버깅창에 결과가 자꾸 2번씩 나오는데,,
2, 아래 프로그램은 선물 1분봉챠트에서 매일9시~10시 사이의 지수방향이 그날의 지수방향에
어떤 영향이 있을가를 보기위해 작성중인데,,,
10시, 15시35분 종가를 가지고 오는 값이 그래프와 비교해보니 다른값으로 읽어오네요,
따라서 결과(상승/하락)가 다르고,,
해당 시간대 값을 읽어들이는게 잘못되었나요???
var : x0901(0), x1001(0), x1530(0);
var : up_do(" "), up_do1(" ");
if date != date[1] then x0901 = DayOpen(0);
if date != date[1] and (stime >= 100000 or stime < 100100) then x1001 = c;
if date != date[1] and (stime >= 153300 or stime < 153600) then x1530 = c;
if x1001 - x0901 > 0 then {
up_do = "상승";
}
Else {
up_do = "하락";
}
if x1530 - x0901 > 0 then {
up_do1 = "상승마감";
}
Else {
up_do1 = "하락마감";
}
if date != date[1] Then MessageLog("종목명=%s 0901/1001//1530 ==%.2f/%.2f/%.2f 지수방향 = %s/%s", symbolname, x0901, x1001, x1530, up_do, up_do1);
답변 1
예스스탁 예스스탁 답변
2019-09-02 15:56:38
안녕하세요
예스스탁입니다.
1
적용된 수식의 속성창을 열고 확인버튼을 클릭해 주시거나
예스랭귀지 편집기에서 해당 수식의 검증을 다시 해주시면 재적용됩니다.
2
var : x0901(0), x1001(0), x1530(0);
var : up_do(" "), up_do1(" ");
if date != date[1] then x0901 = DayOpen(0);
if date != date[1] and (stime >= 100000 or stime < 100100) then x1001 = c;
if date != date[1] and (stime >= 153300 or stime < 153600) then x1530 = c;
if x1001 - x0901 > 0 then {
up_do = "상승";
}
Else {
up_do = "하락";
}
if x1530 - x0901 > 0 then {
up_do1 = "상승마감";
}
Else {
up_do1 = "하락마감";
}
if date != date[1] Then MessageLog("종목명=%s 0901/1001//1530 ==%.2f/%.2f/%.2f 지수방향 = %s/%s", symbolname, x0901, x1001, x1530, up_do, up_do1);
plot1(x1001);
plot2(x1530);
x1001,x1530을 지표로 그려보시면 모두 첫봉의 종가입니다.
date != date[1] and (stime >= 100000 or stime < 100100)
작성하신 조건은 날짜가 변경되는 첫봉의 시간이 10시 이후거나 10시1분 이전이면 충족이 됩니다.
첫봉이 9시이므로 조건이 만족하므로 첫봉 종가를 저장합니다.
3
dayopen이 시초가를 가져오는 함수입니다.
date!=date[1]는 달력상 0시이후 첫봉이므로
해외선물이나 국내선물 야간장까지 포함해서 차트를 보시면 0시가
해당종목의 새로운 영업일 시작이 아니므로 날짜 변경을 지정하고자 하시면
아래와 같이 처리하셔야 합니다.
국내선물 주간장만 보시거나 국내주식이나 국내옵션을 보시면 야간장이 없으므로
기존과 같이 date != date[1]를 사용하셔도 됩니다.
if bdate != bdate[1] then
x0901 = DayOpen(0);
4
메세지로그가 날짜가변경도면 찍게 되어 있어
날짜변경시에 전일 마지막값을 찍게 변경했습니다.
var : x0901(0), x1001(0), x1530(0);
var : up_do(" "), up_do1(" ");
#시초가
if bdate != bdate[1] then
x0901 = DayOpen(0);
#10시 이후 첫봉
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and stime >= 100000 and stime[1] < 100000) then
{
x1001 = c;
if x1001 - x0901 > 0 then
up_do = "상승";
Else
up_do = "하락";
}
#15시35분 이후 첫봉
if (sdate != sdate[1] and stime >= 153500) or
(sdate == sdate[1] and stime >= 153500 and stime[1] < 153500) then
{
x1530 = c;
if x1530 - x0901 > 0 then
up_do1 = "상승마감";
Else
up_do1 = "하락마감";
}
if bdate != bdate[1] Then
MessageLog("종목명=%s 0901/1001//1530 ==%.2f/%.2f/%.2f 지수방향 = %s/%s", symbolname, x0901[1], x1001[1], x1530[1], up_do[1], up_do1[1]);
즐거운 하루되세요
> atmskill 님이 쓴 글입니다.
> 제목 : 선물1분챠트에서
> 수고하십니다
공부겸 생각나는걸 주말마다 적성해봅니다
2가지 질문을 드립니다
1. 프로그램 작성후 검증을 하고 전략실행챠트에 적용후 전략실행챠트화면에서 재실행하는 방법이 없나요, 물론 종목을 바꾸니 재실행결과가 나오던데,,그종목 상태에서는 어떻게,,
예스랭귀지 편집기에서 수정후 검증하면 디버깅창에 결과가 자꾸 2번씩 나오는데,,
2, 아래 프로그램은 선물 1분봉챠트에서 매일9시~10시 사이의 지수방향이 그날의 지수방향에
어떤 영향이 있을가를 보기위해 작성중인데,,,
10시, 15시35분 종가를 가지고 오는 값이 그래프와 비교해보니 다른값으로 읽어오네요,
따라서 결과(상승/하락)가 다르고,,
해당 시간대 값을 읽어들이는게 잘못되었나요???
var : x0901(0), x1001(0), x1530(0);
var : up_do(" "), up_do1(" ");
if date != date[1] then x0901 = DayOpen(0);
if date != date[1] and (stime >= 100000 or stime < 100100) then x1001 = c;
if date != date[1] and (stime >= 153300 or stime < 153600) then x1530 = c;
if x1001 - x0901 > 0 then {
up_do = "상승";
}
Else {
up_do = "하락";
}
if x1530 - x0901 > 0 then {
up_do1 = "상승마감";
}
Else {
up_do1 = "하락마감";
}
if date != date[1] Then MessageLog("종목명=%s 0901/1001//1530 ==%.2f/%.2f/%.2f 지수방향 = %s/%s", symbolname, x0901, x1001, x1530, up_do, up_do1);