커뮤니티
재질문~
2013-01-02 16:05:32
233
글번호 57726
전에 물었던건데...4버전에서는 잘 안나오는듯합니다 다시 봐주세요`
--------------------
input : Atime1(15),Atime2(30),StoPeriod(5), StoPeriod1(3), StoPeriod2(3);
var : StoK1(0),StoD1(0);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK2(0), StoD2(0);
var : Ep1(0), EP2(0), JISU(0), DINDEX(0), PreStoK2(0), PreStoD2(0),cnt(0);
var : Dcount(0), DhighVal(0), DlowVal(0), DStoFastK(0), StoK3(0), StoD3(0);
var : DEp1(0), DEP2(0), DDINDEX(0), PreStoK3(0), PreStoD3(0),Dcnt(0);
Array : HH[50](0),LL[50](0),HHH[50](0),LLL[50](0);
StoK1 = StochasticsK(StoPeriod,StoPeriod1);
StoD1 = StochasticsD(StoPeriod,StoPeriod1,StoPeriod2);
var1 = TimeToMinutes(stime)%Atime1;
if dayindex == 0 or (stime > stime[1] and var1 <= var1[1]) Then{
DINDEX = DINDEX + 1;
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
PreStoK2 = StoK2[1];
PreStoD2 = StoD2[1];
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
highVal = HH[0];
for count = 0 to StoPeriod-1 {
if HH[count] > highVal then
highVal = HH[count];
}
lowVal = LL[0];
for count = 0 to StoPeriod-1 {
if LL[count] < lowVal then
lowVal = LL[count];
}
StoFastK = (C-lowVal)/(highVal-lowVal)*100;
Ep1 = 2/(StoPeriod1+1);
Ep2 = 2/(StoPeriod2+1);
if DINDEX <= StoPeriod then
StoK2 = StoFastK;
else
StoK2 = StoFastK * EP1 + PreStoK2 * (1-EP1);
if DINDEX <= StoPeriod then
StoD2 = StoK2 ;
else
StoD2 = StoK2 * EP2 + PreStoD2 * (1-EP2);
var2 = TimeToMinutes(stime)%Atime2;
if dayindex == 0 or (stime > stime[1] and var2 <= var2[1]) Then{
DDINDEX = DDINDEX + 1;
HHH[0] = H;
LLL[0] = L;
for Dcnt = 1 to 49{
HHH[Dcnt] = HHH[Dcnt-1][1];
LLL[Dcnt] = LLL[Dcnt-1][1];
}
PreStoK3 = StoK3[1];
PreStoD3 = StoD3[1];
}
if H > HHH[0] Then
HHH[0] = H;
if L < LLL[0] Then
LLL[0] = L;
DhighVal = HHH[0];
for Dcount = 0 to StoPeriod-1 {
if HHH[Dcount] > DhighVal then
DhighVal = HHH[Dcount];
}
DlowVal = LLL[0];
for Dcount = 0 to StoPeriod-1 {
if LLL[Dcount] < DlowVal then
DlowVal = LLL[Dcount];
}
DStoFastK = (C-DlowVal)/(DhighVal-DlowVal)*100;
DEp1 = 2/(StoPeriod1+1);
DEp2 = 2/(StoPeriod2+1);
if DDINDEX <= 1 then
StoK3 = DStoFastK;
else
StoK3 = DStoFastK * DEP1 + PreStoK3 * (1-DEP1);
if DDINDEX <= 1 then
StoD3 = StoK3;
else
StoD3 = StoK3 * DEP2 + PreStoD3 * (1-DEP2);
plot1(StoK1);
plot2(StoD1);
plot3(StoK2);
plot4(StoD2);
plot5(StoK3);
plot6(StoD3);
PlotBaseLine1(20);
PlotBaseLine2(80);
즐거운 하루되세요
> 요한 님이 쓴 글입니다.
> 제목 : 지표 부탁드립니다
> 스토캐스틱 533을
5분봉차트에서
5분 15분 30분것을 한번에 볼수있도록 수식을만들어주세요
(타주기참조 안하고 오분봉차트만띄우고 볼수있게 만들어주세요)
답변 1
예스스탁 예스스탁 답변
2013-01-02 18:12:25
안녕하세요
예스스탁입니다.
해당 식 타주기 값과 비교해 보았지만
값 정확히 나오고 있습니다.
예스랭귀지는 4.0에서 변경된 부분이 없습니다.
5분봉 차트에 해당식 적용하고
15분봉과 30분봉 차트에 스토 적용하신 후 값 비교해 보시기 바랍니다.
비교하실때 기간값은 동일하게 하시고 보셔야 합니다.
즐거운 하루되세요
> 요한 님이 쓴 글입니다.
> 제목 : 재질문~
> 전에 물었던건데...4버전에서는 잘 안나오는듯합니다 다시 봐주세요`
--------------------
input : Atime1(15),Atime2(30),StoPeriod(5), StoPeriod1(3), StoPeriod2(3);
var : StoK1(0),StoD1(0);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK2(0), StoD2(0);
var : Ep1(0), EP2(0), JISU(0), DINDEX(0), PreStoK2(0), PreStoD2(0),cnt(0);
var : Dcount(0), DhighVal(0), DlowVal(0), DStoFastK(0), StoK3(0), StoD3(0);
var : DEp1(0), DEP2(0), DDINDEX(0), PreStoK3(0), PreStoD3(0),Dcnt(0);
Array : HH[50](0),LL[50](0),HHH[50](0),LLL[50](0);
StoK1 = StochasticsK(StoPeriod,StoPeriod1);
StoD1 = StochasticsD(StoPeriod,StoPeriod1,StoPeriod2);
var1 = TimeToMinutes(stime)%Atime1;
if dayindex == 0 or (stime > stime[1] and var1 <= var1[1]) Then{
DINDEX = DINDEX + 1;
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
PreStoK2 = StoK2[1];
PreStoD2 = StoD2[1];
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
highVal = HH[0];
for count = 0 to StoPeriod-1 {
if HH[count] > highVal then
highVal = HH[count];
}
lowVal = LL[0];
for count = 0 to StoPeriod-1 {
if LL[count] < lowVal then
lowVal = LL[count];
}
StoFastK = (C-lowVal)/(highVal-lowVal)*100;
Ep1 = 2/(StoPeriod1+1);
Ep2 = 2/(StoPeriod2+1);
if DINDEX <= StoPeriod then
StoK2 = StoFastK;
else
StoK2 = StoFastK * EP1 + PreStoK2 * (1-EP1);
if DINDEX <= StoPeriod then
StoD2 = StoK2 ;
else
StoD2 = StoK2 * EP2 + PreStoD2 * (1-EP2);
var2 = TimeToMinutes(stime)%Atime2;
if dayindex == 0 or (stime > stime[1] and var2 <= var2[1]) Then{
DDINDEX = DDINDEX + 1;
HHH[0] = H;
LLL[0] = L;
for Dcnt = 1 to 49{
HHH[Dcnt] = HHH[Dcnt-1][1];
LLL[Dcnt] = LLL[Dcnt-1][1];
}
PreStoK3 = StoK3[1];
PreStoD3 = StoD3[1];
}
if H > HHH[0] Then
HHH[0] = H;
if L < LLL[0] Then
LLL[0] = L;
DhighVal = HHH[0];
for Dcount = 0 to StoPeriod-1 {
if HHH[Dcount] > DhighVal then
DhighVal = HHH[Dcount];
}
DlowVal = LLL[0];
for Dcount = 0 to StoPeriod-1 {
if LLL[Dcount] < DlowVal then
DlowVal = LLL[Dcount];
}
DStoFastK = (C-DlowVal)/(DhighVal-DlowVal)*100;
DEp1 = 2/(StoPeriod1+1);
DEp2 = 2/(StoPeriod2+1);
if DDINDEX <= 1 then
StoK3 = DStoFastK;
else
StoK3 = DStoFastK * DEP1 + PreStoK3 * (1-DEP1);
if DDINDEX <= 1 then
StoD3 = StoK3;
else
StoD3 = StoK3 * DEP2 + PreStoD3 * (1-DEP2);
plot1(StoK1);
plot2(StoD1);
plot3(StoK2);
plot4(StoD2);
plot5(StoK3);
plot6(StoD3);
PlotBaseLine1(20);
PlotBaseLine2(80);
즐거운 하루되세요
> 요한 님이 쓴 글입니다.
> 제목 : 지표 부탁드립니다
> 스토캐스틱 533을
5분봉차트에서
5분 15분 30분것을 한번에 볼수있도록 수식을만들어주세요
(타주기참조 안하고 오분봉차트만띄우고 볼수있게 만들어주세요)
다음글
이전글