커뮤니티
지표식 부탁드립니다.
2012-04-21 01:21:14
442
글번호 50302
수고 많으세요...^^
또 부탁드립니다.
100틱 차트에서 300틱차트의
스토캐스틱과 OBV를 보고 싶습니다.
지표식 부탁드립니다.
매번 감사합니다.
답변 1
예스스탁 예스스탁 답변
2012-04-23 10:43:10
안녕하세요
예스스탁입니다.
1. 스토케스틱
봉갯수에 영향을 받는 내용이므로
차트에 최대한 많은 봉을 조회한 후 보셔야 합니다.
input : StoPeriod(5), StoPeriod1(3), StoPeriod2(3);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0);
Array : HH[50](0),LL[50](0);
var1 = dayindex%3;
if dayindex == 0 or var1 < var1[1] Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
#### 특정 구간의 고가 [highest(H,StoPeriod)] ####
highVal = HH[0];
for count = 0 to StoPeriod-1 {
if HH[count] > highVal then
highVal = HH[count];
}
#### 특정 구간의 저가 [lowest(L,StoPeriod)] ####
lowVal = LL[0];
for count = 0 to StoPeriod-1 {
if LL[count] < lowVal then
lowVal = LL[count];
}
#### Fast StochasticsK ####
StoFastK = (C-lowVal)/(highVal-lowVal)*100; //Fast StochasticsK ==> (C-lowest(L,StoPeriod))/(highest(H,StoPeriod)-lowest(L,StoPeriod))*100
#### Slow StochasticsK ####
Ep = 2/(StoPeriod1+1);
if DINDEX >= StoPeriod and (date != date[1] or var1 < var1[1]) then {
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
}
if DINDEX <= 1 then
StoK = StoFastK ;
else
StoK = StoFastK * EP + PreStoK * (1-EP); //Slow StochasticsK ==> ema(Fast StochasticsK, StoPeriod1)
#### Slow StochasticsD ####
Ep1 = 2/(StoPeriod2+1);
if date != date[1] or var1 < var1[1] then {
DINDEX = DINDEX + 1;
PreStoD = StoD[1];
}
if DINDEX <= 1 then
StoD = StoK ;
else
StoD = StoK * EP1 + PreStoD * (1-EP1); //Slow StochasticsD ==> ema(Slow StochasticsK, StoPeriod2)
plot1(StoK);
plot2(StoD);
2,
OBV의 경우에는 차트전체상 첫봉부터
종가가 상승하면 해당 거래량을 +하고
종가가 작아지면 해당 거래량을 -하는
내용으로 100틱 차트에서 300틱의 거래량을
모아서 보는 값이 실제 300틱차트에서 많은 차이가 발생할 수 있습니다.
var : count(0),sumv(0),VV(0),Obvv(0),Ob(0),CC1(0);
var1 = dayindex%3;
if dayindex == 0 or var1 < var1[1] Then{
count = count+1;
CC1 = C[1];
sumv = 0;
if count > 1 Then
Ob = Ob+VV[1];
}
sumv = sumV+V;
if count > 0 Then{
If C > CC1 Then
VV = sumV;
else If C < CC1 Then
VV= -sumV;
Else
VV = 0;
}
Obvv = ob+vv;
plot1(Obvv);
즐거운 하루되세요
> 파파 님이 쓴 글입니다.
> 제목 : 지표식 부탁드립니다.
> 수고 많으세요...^^
또 부탁드립니다.
100틱 차트에서 300틱차트의
스토캐스틱과 OBV를 보고 싶습니다.
지표식 부탁드립니다.
매번 감사합니다.