커뮤니티
수식 해석을 부탁드립니다!!!
2017-02-28 11:37:09
106
글번호 107325
input : Period1(50),Period2(6),Period3(6),base1(90),base2(10);
var : Stok(0),StoD(0),StokHigh(0),StokLow(0),chk(0);
var : MaxOC(0),MinOC(0),stokhighi(0),stoklowi(0);
StoK = StochasticsKS(Period1,Period2);
StoD = StochasticsDS(Period1,Period2,Period3);
If stok > stod and stok >= base1 Then
StokHigh = Max(stoK,StokHigh);
If stok < stod and stok <= base2 Then
StokLow = Min(stoK,StokLow);
If CrossUp(stoK,base1) and chk <= 0 Then {
StokHigh = stoK;
chk = 1;
}
If CrossDown(stoK,base2) and chk >= 0 Then {
StokLow = stoK;
chk = -1;
}
plot1(STOkhigh,"STOkhigh",GRAY);
plot2(STOklow,"STOklow",GRAY);
plot3(STOK,"STOK",RED);
plot4(STOD,"STOD",GRAY);
PlotBaseLine1(base1,"82",MAGENTA);
PlotBaseLine2(base2,"18",CYAN);
답변 1
예스스탁 예스스탁 답변
2017-02-28 13:49:53
안녕하세요
예스스탁입니다.
StochasticsKS와 StochasticsKD는 기본으로 제공되는 함수가 아닙니다.
아마 작성자 분이 별도로 만든 함수인데
스토케스틱 계산에 기본적으로 지수이평이 사용되는데
단순이평으로 사용하는 것으로 대체한 함수 같습니다.
아래식은 단순히
스토케스틱 k값이 90이상일때 최고값
스토케스틱 k값이 10이하일때 최저갑슬
계산하는 식입니다.
input : Period1(50),Period2(6),Period3(6),base1(90),base2(10);
var : Stok(0),StoD(0),StokHigh(0),StokLow(0),chk(0);
var : MaxOC(0),MinOC(0),stokhighi(0),stoklowi(0);
StoK = StochasticsKS(Period1,Period2);
StoD = StochasticsDS(Period1,Period2,Period3);
#k가 d보다 크고 90이상인 상태에서 현재k와 StokHigh중 큰값 저장
If stok > stod and stok >= base1 Then
StokHigh = Max(stoK,StokHigh);
#k가 d보다 작고 90이상인 상태에서 현재k와 StokLow중 작은값 저장
If stok < stod and stok <= base2 Then
StokLow = Min(stoK,StokLow);
#k가 90을 상향돌파하면 그때의 k를 StokHigh에 저장
If CrossUp(stoK,base1) and chk <= 0 Then {
StokHigh = stoK;
chk = 1;
}
#k가 10을 하향이탈하면 그때의 k를 StokLow에 저장
If CrossDown(stoK,base2) and chk >= 0 Then {
StokLow = stoK;
chk = -1;
}
plot1(STOkhigh,"STOkhigh",GRAY);//가장최근 90이상인구간에서 k의 최고값
plot2(STOklow,"STOklow",GRAY);//가장최근 10이하인구간에서 k의 최저값
plot3(STOK,"STOK",RED); #현재 k값
plot4(STOD,"STOD",GRAY);#현재 d값
PlotBaseLine1(base1,"82",MAGENTA);
PlotBaseLine2(base2,"18",CYAN);
즐거운 하루되세요
> 쪽박부활 님이 쓴 글입니다.
> 제목 : 수식 해석을 부탁드립니다!!!
> input : Period1(50),Period2(6),Period3(6),base1(90),base2(10);
var : Stok(0),StoD(0),StokHigh(0),StokLow(0),chk(0);
var : MaxOC(0),MinOC(0),stokhighi(0),stoklowi(0);
StoK = StochasticsKS(Period1,Period2);
StoD = StochasticsDS(Period1,Period2,Period3);
If stok > stod and stok >= base1 Then
StokHigh = Max(stoK,StokHigh);
If stok < stod and stok <= base2 Then
StokLow = Min(stoK,StokLow);
If CrossUp(stoK,base1) and chk <= 0 Then {
StokHigh = stoK;
chk = 1;
}
If CrossDown(stoK,base2) and chk >= 0 Then {
StokLow = stoK;
chk = -1;
}
plot1(STOkhigh,"STOkhigh",GRAY);
plot2(STOklow,"STOklow",GRAY);
plot3(STOK,"STOK",RED);
plot4(STOD,"STOD",GRAY);
PlotBaseLine1(base1,"82",MAGENTA);
PlotBaseLine2(base2,"18",CYAN);