커뮤니티
수식 부탁합니다
2019-05-27 18:43:16
202
글번호 128996
스토캐스틱(25,6,6)
주봉에서 스토케스틱 K값이 80 이상일때 동시에 그때의 일봉스토캐스틱을
기준점으로 하고
일봉에서 두번째 골든크로스가 발생한 경우 검색식 부탁합니다.
즉 기준점 발생시의 일봉 스토캐스틱으로 그값이 하락하여
첫번째 골든크로스가 발생하고 다시 하락후두번째 발생하는 골든크로스 찾는 검색식
부탁합니다
답변 1
예스스탁 예스스탁 답변
2019-05-28 16:42:26
안녕하세요
예스스탁입니다.
종목검색에 제공되는 최대봉수는 500봉입니다.
스토케스틱이 과거 봉수에 따라 값이 변경되므로
속성에서 검색에 필요한 최소기간을 500으로 지정하고
일봉주기로 검색하시기 바랍니다.
input : sto1(25), sto2(6), sto3(6);
var : TF1(0),TF2(0),Ep1(0), EP2(0),cnt(0);
var : hVal1(0), lVal1(0), StoFastK(0), StoK(0), StoD(0);
var : JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),sk(0),sd(0),count(0);
Array : H1[50](0),L1[50](0);
Ep1 = 2/(sto2+1);
Ep2 = 2/(sto3+1);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then{
H1[0] = H;
L1[0] = L;
for cnt = 1 to 49{
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
}
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
PreStoD = StoD[1];
}
if H > H1[0] Then
H1[0] = H;
if L < L1[0] Then
L1[0] = L;
hVal1 = H1[0];
lVal1 = L1[0];
for cnt = 0 to sto1-1 {
if H1[cnt] > hVal1 then
hVal1 = H1[cnt];
if L1[cnt] < lval1 then
LVal1 = L1[cnt];
}
StoFastK = (C-lVal1)/(hVal1-lVal1)*100;
if DINDEX <= 1 then{
StoK = StoFastK ;
StoD = StoK ;
}
else{
StoK = StoFastK * EP1 + PreStoK * (1-EP1);
StoD = StoK * EP2 + PreStoD * (1-EP2);
}
sk = StochasticsK(sto1,sto2);
sd = StochasticsD(sto1,sto2,sto3);
if crossup(stok,80) Then
count = 0;
if stok > 80 and crossup(sk,sd) Then
{
count = count+1;
if count == 2 Then
find(1);
}
즐거운 하루되세요
> 미래테크 님이 쓴 글입니다.
> 제목 : 수식 부탁합니다
> 스토캐스틱(25,6,6)
주봉에서 스토케스틱 K값이 80 이상일때 동시에 그때의 일봉스토캐스틱을
기준점으로 하고
일봉에서 두번째 골든크로스가 발생한 경우 검색식 부탁합니다.
즉 기준점 발생시의 일봉 스토캐스틱으로 그값이 하락하여
첫번째 골든크로스가 발생하고 다시 하락후두번째 발생하는 골든크로스 찾는 검색식
부탁합니다