커뮤니티
수식 문의드립니다
2015-03-05 05:45:36
217
글번호 83714
안녕하세요.
종목검색 수식 중에 궁금한게 있어서 한번 더 질문드려요.
그림1에서 가장 최근봉의 시점에 있는 종목들을 찾는 종목검색 수식을 알고 싶습니다.
1)100봉이내에 한번이라도 480일선(빨간색)이 60볼린져밴드 하단(갈색선) 아래에 위치 했던적이 있는 종목
2)주가 < 480일선
3)두번째 동그라미에서처럼 스토케스틱 바닥(저점)이 높아지면서 골드크로스 나오는 종목
1)추가설명
당일의 조건만족만이 아니라 일정기간안에 한번이라도 조건이 만족하는 종목들을 찾는 수식을 알고싶습니다.
그림1의 가장 최근 봉에서처럼 현재는 480일선(빨간색)이 60볼린져밴드 하단보다 아래에 있지 않더라도 최근 100봉이내에 한번이라도 480일선이 볼린져밴드 하단보다 아래에 있었던 적이 있는 종목들 중에서 다른조건들을 추가해서 조건검색 수식을 만들고 싶습니다.
3)추가설명
그림 1에서 화살표들처럼 스토케스틱 저점이 높아지면서 골드크로스가 나오는 수식을 알고 싶습니다.
즉, 그림1에서
스토케스틱 첫번째 동그라미에서처럼 k가 20이하에서 d랑 골드크로스가 한번 나오고
두번째 동그라미에서처럼 k가 20이상에서 전 저점(첫번째동그라미의 최저저점)보다 높은 곳에서 d랑 골드크로스가 나오는 종목을 찾는 수식도 가능한가요. 가능하다면 알려주시면 감사하겠습니다.
(종목검색에 기존에 있는 수식인 Stochastics_이중바닥이 그림1에서 화살표들 것처럼
저점이 높아지는 쌍바닥을 찾는 식이 맞나요
신호검색으로 나오는 종목들을 보니까 그림1과 같은 모양이 아닌 종목들이 검색되는 것 같아서요.
Stochastics_이중바닥 수식이 이렇게 되있는데 정확히 해석이 안되네요..)
Input : Period(12), Period1(5), Period2(5);
value1 = StochasticsK(Period, Period1);
value2 = StochasticsD(Period, Period1, Period2);
If value2 > value2[1] Then
value3 = 1;
Else
value3 = 0 ;
If value1[1] < 20 Then
value4 = 1;
Else
value4 = 0 ;
If value1 > value1[1] && value1[1] <= value1[2] && value1 > value1[2] &&
value1[1] <= 50 && value1[1] >= value2[1] &&
accumN(value3,3)==3 && accumN(value4,20) >= 1 Then
{AccumN(Num, Num)
If C == C[1] Then
value5 = 0.001 ;
Else
value5 = (C-C[1])/C[1]*100 ;
}
Else value5 = 0;
Find(value5);
- 1. 84216_1.png (0.06 MB)
답변 1
예스스탁 예스스탁 답변
2015-03-05 10:49:43
안녕하세요
예스스탁입니다.
종목검색에 제공되는 최대 봉수는 500봉입니다.
480이평을 사용하고 특정조건이 100봉이내에 만족한적이 있고
또 종목검색조건이 최근 N개봉에 한번이상 나온적이 있는 내용을
결합하면 수식에서 사용하는 봉수가 500봉이 넘게 됩니다.
수식은 올려주신 내용으로 올려드립니다.
위 내용 감안하셔서 이평의 기간이나 조건만족봉 갯수등 500봉 넘지 않게 조절하셔야 합니다.
종목검색을 하실때도 속성에서 검색에 필요한 최소기간에 500으로 지정하고 검색하시기 바랍니다.
1. 검색조건이 현재봉 만족
input : maP(380),BBP(60),dv(2),sto1(12),sto2(5),sto3(5),N1(100);
var : mav(0),bbdn(0),stok(0),stod(0);
var : t(0),L1(0),L2(0);
mav = ma(c,maP);
BBdn = BollBandDown(BBP,dv);
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
if crossup(stok,stod) Then{
T = 1;
}
if CrossDown(stok,stod) Then{
T = -1;
L1 = stok;
L2 = L1[1];
}
if stok < L1 Then
L1 = stok;
if countif(var1<var2,N1) >= 1 And
C < 480 and
t == 1 and T[1] != 1 And L1 > L2 then
find(1);
2, 검색조건이 최근 N개봉이내에 한번이상 만족
input : maP(380),BBP(60),dv(2),sto1(12),sto2(5),sto3(5),N1(100),N2(20);
var : mav(0),bbdn(0),stok(0),stod(0);
var : t(0),L1(0),L2(0);
mav = ma(c,maP);
BBdn = BollBandDown(BBP,dv);
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
if crossup(stok,stod) Then{
T = 1;
}
if CrossDown(stok,stod) Then{
T = -1;
L1 = stok;
L2 = L1[1];
}
if stok < L1 Then
L1 = stok;
if countif(var1<var2,N1) >= 1 And
C < 480 and
t == 1 and T[1] != 1 And L1 > L2 then
Condition1 = true;
Else
Condition1 = false;
if countif(Condition1,N2) >= 1 Then
find(1);
3. 스토케스틱 쌍다닥 종목검색식
input : sto1(12),sto2(5),sto3(5);
var : stok(0),stod(0);
var : t(0),L1(0),L2(0);
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
if crossup(stok,stod) Then{
T = 1;
}
if CrossDown(stok,stod) Then{
T = -1;
L1 = stok;
L2 = L1[1];
}
if stok < L1 Then
L1 = stok;
if t == 1 and T[1] != 1 And L1 > L2 then
find(1);
즐거운 하루되세요
> 니나노니 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다
> 안녕하세요.
종목검색 수식 중에 궁금한게 있어서 한번 더 질문드려요.
그림1에서 가장 최근봉의 시점에 있는 종목들을 찾는 종목검색 수식을 알고 싶습니다.
1)100봉이내에 한번이라도 480일선(빨간색)이 60볼린져밴드 하단(갈색선) 아래에 위치 했던적이 있는 종목
2)주가 < 480일선
3)두번째 동그라미에서처럼 스토케스틱 바닥(저점)이 높아지면서 골드크로스 나오는 종목
1)추가설명
당일의 조건만족만이 아니라 일정기간안에 한번이라도 조건이 만족하는 종목들을 찾는 수식을 알고싶습니다.
그림1의 가장 최근 봉에서처럼 현재는 480일선(빨간색)이 60볼린져밴드 하단보다 아래에 있지 않더라도 최근 100봉이내에 한번이라도 480일선이 볼린져밴드 하단보다 아래에 있었던 적이 있는 종목들 중에서 다른조건들을 추가해서 조건검색 수식을 만들고 싶습니다.
3)추가설명
그림 1에서 화살표들처럼 스토케스틱 저점이 높아지면서 골드크로스가 나오는 수식을 알고 싶습니다.
즉, 그림1에서
스토케스틱 첫번째 동그라미에서처럼 k가 20이하에서 d랑 골드크로스가 한번 나오고
두번째 동그라미에서처럼 k가 20이상에서 전 저점(첫번째동그라미의 최저저점)보다 높은 곳에서 d랑 골드크로스가 나오는 종목을 찾는 수식도 가능한가요. 가능하다면 알려주시면 감사하겠습니다.
(종목검색에 기존에 있는 수식인 Stochastics_이중바닥이 그림1에서 화살표들 것처럼
저점이 높아지는 쌍바닥을 찾는 식이 맞나요
신호검색으로 나오는 종목들을 보니까 그림1과 같은 모양이 아닌 종목들이 검색되는 것 같아서요.
Stochastics_이중바닥 수식이 이렇게 되있는데 정확히 해석이 안되네요..)
Input : Period(12), Period1(5), Period2(5);
value1 = StochasticsK(Period, Period1);
value2 = StochasticsD(Period, Period1, Period2);
If value2 > value2[1] Then
value3 = 1;
Else
value3 = 0 ;
If value1[1] < 20 Then
value4 = 1;
Else
value4 = 0 ;
If value1 > value1[1] && value1[1] <= value1[2] && value1 > value1[2] &&
value1[1] <= 50 && value1[1] >= value2[1] &&
accumN(value3,3)==3 && accumN(value4,20) >= 1 Then
{AccumN(Num, Num)
If C == C[1] Then
value5 = 0.001 ;
Else
value5 = (C-C[1])/C[1]*100 ;
}
Else value5 = 0;
Find(value5);