예스스탁
예스스탁 답변
2025-08-11 10:21:05
안녕하세요
예스스탁입니다.
종목검색 속성에서 검색에 필요한 최소기간에
500봉 지정하고 검색하시기 바랍니다.
주봉 계산을 위해 과거봉이 많이 필요합니다.
종목검색은 최대 제공봉수가 500봉입니다.
1
input : 기간1(12),기간2(26),기간3(9);
input : ShortPeriod(13.5),midperiod(39),longperiod(78);
var : mv(0),me(0),cnt(0),W10(0),조건1(0),조건2(0);
var : 기준선(0), 전환선(0),선행스팬1(0), 선행스팬2(0);
Array : 이전주종가[50](0);
전환선 = (Highest(High, 9) + Lowest(Low, 9)) / 2;
기준선 = (Highest(High, 26) + Lowest(Low, 26)) / 2;
선행스팬1 = (전환선[25] + 기준선[25]) / 2 ;
선행스팬2 = (Highest(High, 52)[25] + Lowest(Low, 52)[25]) / 2;
if sDate != sDate[1] and DayOfWeek(sDate) <= DayOfWeek(sDate[1]) Then
{
For cnt = 49 DownTo 1
{
이전주종가[cnt] = 이전주종가[cnt-1];
}
}
이전주종가[0] = C;
Mv = Macd(기간1,기간2);
Me = ema(Mv,기간3);
if 이전주종가[9] > 0 Then
{
W10=(C+이전주종가[1]+이전주종가[2]+이전주종가[3]+이전주종가[4]+
이전주종가[5]+이전주종가[6]+이전주종가[7]+이전주종가[8]+
이전주종가[9])/10;
}
if CrossUp(mv,0) Then
조건1 = C;
if CrossUp(mv,me) Then
조건2 = C;
if W10 > 0 &&
CrossUp(C,조건1) &&
CrossUp(C,조건2) &&
(CrossUp(C,W10) or C>W10) &&
((C>선행스팬1) or (C>선행스팬2)) Then
Find(1);
2
input : 기간1(12),기간2(26),기간3(9);
input : ShortPeriod(13.5),midperiod(39),longperiod(78);
var : mv(0),me(0),cnt(0),W10(0),조건1(0),조건2(0);
Array : 이전주종가[50](0);
if sDate != sDate[1] and DayOfWeek(sDate) <= DayOfWeek(sDate[1]) Then
{
For cnt = 49 DownTo 1
{
이전주종가[cnt] = 이전주종가[cnt-1];
}
}
이전주종가[0] = C;
Mv = Macd(기간1,기간2);
Me = ema(Mv,기간3);
if 이전주종가[9] > 0 Then
{
W10=(C+이전주종가[1]+이전주종가[2]+이전주종가[3]+이전주종가[4]+
이전주종가[5]+이전주종가[6]+이전주종가[7]+이전주종가[8]+
이전주종가[9])/10;
}
if CrossUp(mv,0) Then
조건1 = C;
if CrossUp(mv,me) Then
조건2 = C;
if W10 > 0 and
CrossUp(C,조건1) &&
CrossUp(C,조건2) &&
(CrossUp(C,W10) or C>W10) Then
Find(1);
즐거운 하루되세요
> charlesj 님이 쓴 글입니다.
> 제목 : 종목검색식 문의드립니다
> 아래 수식을 종목 검색식으로 변환 부탁 드립니다.
참고로 W10은 주10이평을 일봉값으로 바꾼 함수식 입니다.
이전주 종가=
A=요일(DATE);
Valuewhen(n, A(1)>A, C(1))
기간1(12),기간2(26), 기간3(9)
일목균형표 기간: ShortPeriod(13.5) midperiod(39) longperiod(78)
수식1
M=Macd(기간1,기간2);
Me=eavg(M,기간3);
W10=(C+이전주종가(1)+이전주종가(2)+이전주종가(3)+이전주종가(4)+
이전주종가(5)+이전주종가(6)+이전주종가(7)+이전주종가(8)+
이전주종가(9))/10;
조건1=ValueWhen(1, CrossUp(M,0),C);
조건2=ValueWhen(1, CrossUp(M,Me), C);
CrossUp(C,조건1) &&
CrossUp(C,조건2) &&
(CrossUp(C,W10) or C>W10) &&
((C>선행스팬1) or (C>선행스팬2))
수식2
M=Macd(기간1,기간2);
Me=eavg(M,기간3);
W10=(C+이전주종가(1)+이전주종가(2)+이전주종가(3)+이전주종가(4)+
이전주종가(5)+이전주종가(6)+이전주종가(7)+이전주종가(8)+
이전주종가(9))/10;
조건1=ValueWhen(1, CrossUp(M,0),C);
조건2=ValueWhen(1, CrossUp(M,Me), C);
CrossUp(C,조건1) &&
CrossUp(C,조건2) &&
(CrossUp(C,W10) or C>W10)