커뮤니티
주식종목검색 문의드립니다.
2018-07-30 16:45:43
154
글번호 121006
안녕하세요. 매번 지표만 부탁드리다가 주식종목검색식은 초보라서요...'
유치하고 무지하더라도 이해해주세요~
예전에 짜주신 아래의 지표에서요,,,
PlotBaseLine1 > PlotBaseLine3 이런 경우에 해당하는 주식종목을 찾으려고 합니다.
죄송하지만 종목검색은 초보라서 그러는데요,,,
자세한 설명 좀 부탁드립니다.
##################################################
input : P11(2),p21(20);
var : sumVh11(0), maVh11(0), counth11(0),sumVl11(0), maVl11(0), countl11(0),sumVh21(0), maVh21(0), counth21(0),sumVl21(0), maVl21(0), countl21(0);
sumVh11 = 0;
for counth11 = 0 to P11-1 {
sumVh11 = sumVh11+DayHigh(counth11);
}
maVh11 = sumVh11 / P11;
sumVl11 = 0;
for countl11 = 0 to P11-1 {
sumVl11 = sumVl11+DayLow(countl11);
}
maVl11 = sumVl11/ P11;
###########################################################
sumVh21 = 0;
for counth21 = 0 to P21-1 {
sumVh21 = sumVh21+DayHigh(counth21);
}
maVh21 = sumVh21 / P21;
sumVl21 = 0;
for countl21 = 0 to P21-1 {
sumVl21 = sumVl21+DayLow(countl21);
}
maVl21 = sumVl21/ P21;
Value11=max(maVh11,maVl11,maVh21,maVl21);
Value21=min(maVh11,maVl11,maVh21,maVl21);
PlotBaseLine1(C-Value21, "line1");
###################
input : Nweek(1),weekPeriod(20),weekDv(2);
var : weeksum(0),cnt(0),weekma(0),weekSumSqrt(0),weekStdv(0);
var : weekBBup(0),weekBBdn(0),weekCounter(0);
Array : WeekClose[100](0);
if dayofweek(bdate) < dayofweek(bdate[1]) Then{
for cnt = 1 to 99{
WeekClose[cnt] = WeekClose[cnt-1][1];
}
}
WeekClose[0] = C;
If weekClose[weekPeriod] != 0 Then {
#일봉 이동평균 계산
weeksum = 0;
for cnt = 0 to Nweek*weekPeriod-Nweek step Nweek{
weeksum = weeksum + weekClose[cnt];
}
weekma = weeksum/weekPeriod;
#표준편차 계산
weekSumSqrt = 0;
For cnt = 0 To Nweek*weekPeriod-Nweek step Nweek {
weekSumSqrt = weekSumSqrt + (weekClose[cnt] - weekma)^2;
}
weekStdv = SquareRoot(weekSumSqrt / weekPeriod);
# 일봉 볼린져밴드 계산
weekBBup = weekma + (weekDv * weekStdv);
weekBBdn = weekma - (weekDv * weekStdv);
PlotBaseLine2(c-weekBBup ,"상단");
PlotBaseLine3(c-weekma,"중단");
PlotBaseLine4(c-weekBBdn,"하단");
}
답변 1
예스스탁 예스스탁 답변
2018-07-31 15:51:04
안녕하세요
예스스탁입니다.
종목검색식으로 작성하신후에
종목검색화면에서 실행하시면 됩니다.
종목검색은 최대 500봉 까지만 제공됩니다.
수식에 주봉의 값을 계산하는 내용이 있으므로
속성에서 검색에 필요한 최소기간을 500으로 지정하고 검색하시면 됩니다.
500봉이상 요구되는 수식은 검색될수 없습니다.
주봉계산식이 일봉에서 500봉 이상 요구되면 검색되지 않습니다.
input : P11(2),p21(20);
var : sumVh11(0), maVh11(0), counth11(0),sumVl11(0), maVl11(0), countl11(0);
var : sumVh21(0), maVh21(0), counth21(0),sumVl21(0), maVl21(0), countl21(0);
var : Line1(0),Line3(0);
sumVh11 = 0;
for counth11 = 0 to P11-1 {
sumVh11 = sumVh11+DayHigh(counth11);
}
maVh11 = sumVh11 / P11;
sumVl11 = 0;
for countl11 = 0 to P11-1 {
sumVl11 = sumVl11+DayLow(countl11);
}
maVl11 = sumVl11/ P11;
sumVh21 = 0;
for counth21 = 0 to P21-1 {
sumVh21 = sumVh21+DayHigh(counth21);
}
maVh21 = sumVh21 / P21;
sumVl21 = 0;
for countl21 = 0 to P21-1 {
sumVl21 = sumVl21+DayLow(countl21);
}
maVl21 = sumVl21/ P21;
Value11=max(maVh11,maVl11,maVh21,maVl21);
Value21=min(maVh11,maVl11,maVh21,maVl21);
Line1 = C-Value21;
###################
input : Nweek(1),weekPeriod(20),weekDv(2);
var : weeksum(0),cnt(0),weekma(0),weekSumSqrt(0),weekStdv(0);
var : weekBBup(0),weekBBdn(0),weekCounter(0);
Array : WeekClose[100](0);
if dayofweek(bdate) < dayofweek(bdate[1]) Then
{
for cnt = 1 to 99{
WeekClose[cnt] = WeekClose[cnt-1][1];
}
}
WeekClose[0] = C;
If weekClose[weekPeriod] != 0 Then {
#일봉 이동평균 계산
weeksum = 0;
for cnt = 0 to Nweek*weekPeriod-Nweek step Nweek{
weeksum = weeksum + weekClose[cnt];
}
weekma = weeksum/weekPeriod;
#표준편차 계산
weekSumSqrt = 0;
For cnt = 0 To Nweek*weekPeriod-Nweek step Nweek
{
weekSumSqrt = weekSumSqrt + (weekClose[cnt] - weekma)^2;
}
weekStdv = SquareRoot(weekSumSqrt / weekPeriod);
# 일봉 볼린져밴드 계산
weekBBup = weekma + (weekDv * weekStdv);
weekBBdn = weekma - (weekDv * weekStdv);
Line3 = c-weekma;
}
if Line1 > Line3 Then
find(1);
}
즐거운 하루되세요
> 예스매니아 님이 쓴 글입니다.
> 제목 : 주식종목검색 문의드립니다.
> 안녕하세요. 매번 지표만 부탁드리다가 주식종목검색식은 초보라서요...'
유치하고 무지하더라도 이해해주세요~
예전에 짜주신 아래의 지표에서요,,,
PlotBaseLine1 > PlotBaseLine3 이런 경우에 해당하는 주식종목을 찾으려고 합니다.
죄송하지만 종목검색은 초보라서 그러는데요,,,
자세한 설명 좀 부탁드립니다.
##################################################
input : P11(2),p21(20);
var : sumVh11(0), maVh11(0), counth11(0),sumVl11(0), maVl11(0), countl11(0),sumVh21(0), maVh21(0), counth21(0),sumVl21(0), maVl21(0), countl21(0);
sumVh11 = 0;
for counth11 = 0 to P11-1 {
sumVh11 = sumVh11+DayHigh(counth11);
}
maVh11 = sumVh11 / P11;
sumVl11 = 0;
for countl11 = 0 to P11-1 {
sumVl11 = sumVl11+DayLow(countl11);
}
maVl11 = sumVl11/ P11;
###########################################################
sumVh21 = 0;
for counth21 = 0 to P21-1 {
sumVh21 = sumVh21+DayHigh(counth21);
}
maVh21 = sumVh21 / P21;
sumVl21 = 0;
for countl21 = 0 to P21-1 {
sumVl21 = sumVl21+DayLow(countl21);
}
maVl21 = sumVl21/ P21;
Value11=max(maVh11,maVl11,maVh21,maVl21);
Value21=min(maVh11,maVl11,maVh21,maVl21);
PlotBaseLine1(C-Value21, "line1");
###################
input : Nweek(1),weekPeriod(20),weekDv(2);
var : weeksum(0),cnt(0),weekma(0),weekSumSqrt(0),weekStdv(0);
var : weekBBup(0),weekBBdn(0),weekCounter(0);
Array : WeekClose[100](0);
if dayofweek(bdate) < dayofweek(bdate[1]) Then{
for cnt = 1 to 99{
WeekClose[cnt] = WeekClose[cnt-1][1];
}
}
WeekClose[0] = C;
If weekClose[weekPeriod] != 0 Then {
#일봉 이동평균 계산
weeksum = 0;
for cnt = 0 to Nweek*weekPeriod-Nweek step Nweek{
weeksum = weeksum + weekClose[cnt];
}
weekma = weeksum/weekPeriod;
#표준편차 계산
weekSumSqrt = 0;
For cnt = 0 To Nweek*weekPeriod-Nweek step Nweek {
weekSumSqrt = weekSumSqrt + (weekClose[cnt] - weekma)^2;
}
weekStdv = SquareRoot(weekSumSqrt / weekPeriod);
# 일봉 볼린져밴드 계산
weekBBup = weekma + (weekDv * weekStdv);
weekBBdn = weekma - (weekDv * weekStdv);
PlotBaseLine2(c-weekBBup ,"상단");
PlotBaseLine3(c-weekma,"중단");
PlotBaseLine4(c-weekBBdn,"하단");
}
다음글
이전글