커뮤니티
종목검색이 안됩니다. 어떻게 해야되죠?
2015-07-21 09:43:37
109
글번호 88701
종목검색에서 MessageLog()를 사용할 수 없으므로 지표식으로 만들어서 정상작동함을 확인했습니다.
----------------------------------------------------------------------------------------
Input: 날짜(20150601),N(50), TurnLen(9), StdLen(26), PrdLen(52);
Var: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),
Value1(0), 선행스팬2이하일수(0);
전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2;
기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선 + 기준선) / 2 ;
선행스팬2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2;
MessageLog("날짜 = [%.f], date = [%.f]", 날짜, date);
If date < 20150601 Then {
Value1 = IFF(C > 전환선, 1, 0);
If Value1 Then
Plot1(1);
}
20150601을 기준날짜로 그전에 Value1이 참이면 지표출력합니다. 정상작동합니다.
이 지표식을 검색식으로 바꾸어 사용자설정에서 봉개수를 500으로 해놓고 검색하면
----------------------------------------------------------------------------------------
Input: 날짜(20150601),N(50), TurnLen(9), StdLen(26), PrdLen(52);
Var: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),
Value1(0), 선행스팬2이하일수(0);
전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2;
기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선 + 기준선) / 2 ;
선행스팬2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2;
MessageLog("날짜 = [%.f], date = [%.f]", 날짜, date);
If date < 20150601 Then {
Value1 = IFF(C > 전환선, 1, 0);
If Value1 Then
Find(1);
}
"데이터가 존재하지 않습니다.(10005)" 라고 나옵니다.
하이투자증권 예스트레이더로 테스트했습니다.
문제점을 알려주시면 감사하겠습니다.
답변 1
예스스탁 예스스탁 답변
2015-07-21 13:29:44
안녕하세요
예스스탁입니다.
작성하신 지표는 차트에서
지정일 이전에 조건만족하면 1을 출력하는 식입니다.
지정일 이후에는 출력하지 않습니다.
종목검색식은 현재봉에서 과거 조건을 만족하는 것을 찾으시므로
날짜안에 find함수를 같이 사용하시면 안됩니다
지정한 날짜 이전에 조건을 만족한적이 있는 종목을
현재 찾는 식이므로 아래와 같이 작성하셔야 합니다.
Input: 날짜(20150601),N(50), TurnLen(9), StdLen(26), PrdLen(52);
Var: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),
Value1(0), 선행스팬2이하일수(0);
전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2;
기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선 + 기준선) / 2 ;
선행스팬2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2;
If date < 20150601 and C > 전환선 Then
Condition1 = true;
If Condition1 == true Then
Find(1);
즐거운 하루되세요
> 술고수 님이 쓴 글입니다.
> 제목 : 종목검색이 안됩니다. 어떻게 해야되죠?
> 종목검색에서 MessageLog()를 사용할 수 없으므로 지표식으로 만들어서 정상작동함을 확인했습니다.
----------------------------------------------------------------------------------------
Input: 날짜(20150601),N(50), TurnLen(9), StdLen(26), PrdLen(52);
Var: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),
Value1(0), 선행스팬2이하일수(0);
전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2;
기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선 + 기준선) / 2 ;
선행스팬2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2;
MessageLog("날짜 = [%.f], date = [%.f]", 날짜, date);
If date < 20150601 Then {
Value1 = IFF(C > 전환선, 1, 0);
If Value1 Then
Plot1(1);
}
20150601을 기준날짜로 그전에 Value1이 참이면 지표출력합니다. 정상작동합니다.
이 지표식을 검색식으로 바꾸어 사용자설정에서 봉개수를 500으로 해놓고 검색하면
----------------------------------------------------------------------------------------
Input: 날짜(20150601),N(50), TurnLen(9), StdLen(26), PrdLen(52);
Var: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),
Value1(0), 선행스팬2이하일수(0);
전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2;
기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선 + 기준선) / 2 ;
선행스팬2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2;
MessageLog("날짜 = [%.f], date = [%.f]", 날짜, date);
If date < 20150601 Then {
Value1 = IFF(C > 전환선, 1, 0);
If Value1 Then
Find(1);
}
"데이터가 존재하지 않습니다.(10005)" 라고 나옵니다.
하이투자증권 예스트레이더로 테스트했습니다.
문제점을 알려주시면 감사하겠습니다.
다음글
이전글