커뮤니티
분봉 스토캐스틱 을 틱차트에서 구현
2019-06-08 09:01:23
334
글번호 129276
좋은 프로그램 이용할 수 있게 해주셔서 감사합니다.
밑에 검색해보니 분봉 MACD를 틱차트에서 구현하는 것에 대해서는
내용이 있던데, 스토캐스틱은 볼 수가 없었습니다.
대략 5분봉 스토캐스틱을 100틱 차트에서 구현하는
식을 알려주시면 감사하겠습니다.
예스트레이더를 새로 접한지 몇 일 안되다 보니
직접하지 못하고, 의뢰합니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2019-06-10 11:45:33
안녕하세요
예스스탁입니다.
틱봉에서 분봉의 지표값은 정확한 수치로 계산할수 없습니다.
랭귀지는 봉의 시고저종가만 이용이 가능한데
분봉의 경계값이 틱봉의 중간에 위치할 경우가 많습니다.
수식에서 타주기의 지표는 분봉이나 초봉차트에서
그 배수에 해당하는 높은 주기만 가능하며
지표의 계산방법에 따라서는 가능하지 않는 지표들도 있습니다.
근사값으로 보고자 하시면 아래수식 이용하시면 됩니다.
스토케스틱이 지수이평 기반이라 차트의 과거봉수에 따라
현재봉의 값의 영향이 있습니다.
차트에 최대한 많은 봉을 조회하고 적용하셔야 합니다.
input : 분(5),Sto1(10),Sto2(5),Sto3(5);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0), Hv(0), LV(0), FK(0), SK(0), SD(0);
var : Ep1(0), EP2(0), JISU(0), DINDEX(0), PreSK(0), PreSD(0);
Array : HH[50](0),LL[50](0);
Ep1 = 2/(sto2+1);
Ep2 = 2/(sto3+1);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TimeToMinutes(stime)%분;
if bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) or stime == 154500 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;
if HH[sto1-1] > 0 and LL[sto1-1] > 0 then
{
if bdate != bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) or stime == 154500 Then{
DINDEX = DINDEX+1;
PreSK = SK[1];
PreSD = SD[1];
}
Hv = HH[0];
LV = LL[0];
for cnt = 0 to sto1-1 {
if HH[cnt] > Hv then
Hv = HH[cnt];
if LL[cnt] < LV then
LV = LL[cnt];
}
FK = (C-LV)/(HV-LV)*100;
if DINDEX <= 1 then
{
SK = FK;
SD = SK;
}
else
{
SK = FK * EP1 + PreSK * (1-EP1);
SD = SK * EP2 + PreSD * (1-EP2);
}
plot1(SK);
plot2(SD);
PlotBaseLine1(20);
PlotBaseLine2(80);
}
}
즐거운 하루되세요
> specator 님이 쓴 글입니다.
> 제목 : 분봉 스토캐스틱 을 틱차트에서 구현
> 좋은 프로그램 이용할 수 있게 해주셔서 감사합니다.
밑에 검색해보니 분봉 MACD를 틱차트에서 구현하는 것에 대해서는
내용이 있던데, 스토캐스틱은 볼 수가 없었습니다.
대략 5분봉 스토캐스틱을 100틱 차트에서 구현하는
식을 알려주시면 감사하겠습니다.
예스트레이더를 새로 접한지 몇 일 안되다 보니
직접하지 못하고, 의뢰합니다.
감사합니다.