커뮤니티
종목검색 관련 문의드립니다
2015-06-18 13:04:10
140
글번호 87362
아래와 같이 코딩 하면 종목검색 결과가 하나도 안 뜨는 이유가 궁금합니다
input:N(5),K(200);
value1=SwingHigh(1,H,N,N,K);
value2=SwingLow(1,L,N,N,K);
If C > value1 Then
{
If C==C[1] Then
value3 = 0.001;
Else
value3 = (C-C[1])/C[1]*100;
}
Else
value3 = 0;
Find(value3);
컴퓨터가 value1 과 value2 를 인식하지 못하는 거 같은데 어떻게 개선해야 할까요
참고로 지표로 만들면 잘 그려집니다
어제 말씀 주신대로 Period 를 LEFt+Right+1 를 사용하여
input:LEFT(5),Right(5);
If SwingHigh(1,H,LEFT,RIGHT,LEFT+RIGHT+1)!=-1 Then
value1=SwingHigh(1,H,LEFT,RIGHT,LEFT+RIGHT+1);
If C>value1 And C[1]<value1 Then
value4=1;
Else
value4 = 0;
Find(value4);
이렇게 코딩해도 결과가 안 나오기는 마찬가지 입니다
뭐가 문제일까요 ^^;;;;; 잘 부탁드려요
답변 2
psh1
2015-06-18 14:01:49
시험삼아
input:LEFT(5),Right(5);
If SwingLow(1,L,LEFT,RIGHT,LEFT+RIGHT+1)!=-1 Then
value1=L[5];
If C>value1 Then
value4=1;
Else
value4 = 0;
Find(value4);
이렇게 코딩하니 value1 이 SwingLow 값를 저장하는 것이 아니고 L[5] 즉 5일간의 최저가 값을 계속 저장하네요 최근 5일 저가 위의 종목은 죄다 검색 됩니다
지표를 그리면 잘 그려지는데 종목검색에서 SwingHigh SwingLow 값을 변수로 저장하는 방법이 없을가요 제가 워낙 코딩 실력이 모자라 착각하는 건지 ^^;;
date 가 바뀌면 전일 값과 계속 비교하는 수식을 넣어야 하는지 좌우간 잘 부탁드립니다
예스스탁 예스스탁 답변
2015-06-18 15:10:28
안녕하세요
예스스탁입니다.
1.
종목검색시에 속성에서
검색에 필요한 최소기간에 넉넉히 250봉 이상 지정하고 검색하시기 바랍니다.
해당 내용 지정을 하지 않으면 자체적으로 해당식에서 필요한 봉갯수를 산정하는데
해당 부분에서 필요한 봉갯수보다 작게 산정이 되면 검색이 안되므로
종목검색시에는 필수적으로 속성에 검색에 필요한 최소기간을 지정한다고 보시면 됩니다.
2.
input:LEFT(5),Right(5);
If SwingLow(1,L,LEFT,RIGHT,LEFT+RIGHT+1)!=-1 Then
value1=L[5];
If C > value1 Then
value4=1;
Else
value4 = 0;
Find(value4);
위 내용은 가장 최근 스윙로우지점보다 종가가 위에 있는 종목을 찾는식입니다
value1에 스윙로우값이 저장된 표현이 맞고 L[5]나 혹은 L[Right]가 저장되게 하시면 됩니다.
위식은 종목이 많이 나올수 밖에 없습니다.
스윙로우는 가격이 하락하다가 상승한것을 나타내는데
가격이 하락 하락하다가 상승한후에 다시 하락해서 이전 스윙로우값보다 낮게 종가가 위치해 있는
종목을 제외하고는 모두 검색이 됩니다.
또한 마찬가기로 속성에서 검색에 필요한 최소기간을 지정하셔야 합니다.
스윙로우가 현재봉에서 몇봉전에 발생했을지 모르는 내요이므로 넉넉히 지정하셔야 합니다.
만약 구현하고자 하는 내용이
현재 스윙로우가 발생한 종목을 찾는 내용이시면
아래와 같이 작성하셔야 합니다.
input:LEFT(5),Right(5);
If SwingLow(1,L,LEFT,RIGHT,LEFT+RIGHT+1)!=-1 Then
Find(1);
즐거운 하루되세요
> psh1 님이 쓴 글입니다.
> 제목 : Re : 종목검색 관련 문의드립니다
> 시험삼아
input:LEFT(5),Right(5);
If SwingLow(1,L,LEFT,RIGHT,LEFT+RIGHT+1)!=-1 Then
value1=L[5];
If C>value1 Then
value4=1;
Else
value4 = 0;
Find(value4);
이렇게 코딩하니 value1 이 SwingLow 값를 저장하는 것이 아니고 L[5] 즉 5일간의 최저가 값을 계속 저장하네요 최근 5일 저가 위의 종목은 죄다 검색 됩니다
지표를 그리면 잘 그려지는데 종목검색에서 SwingHigh SwingLow 값을 변수로 저장하는 방법이 없을가요 제가 워낙 코딩 실력이 모자라 착각하는 건지 ^^;;
date 가 바뀌면 전일 값과 계속 비교하는 수식을 넣어야 하는지 좌우간 잘 부탁드립니다
이전글