커뮤니티
지표수식 다시 확인좀 부탁드립니다.
2014-01-31 16:39:45
162
글번호 72034
안녕하십니까..
Value50 = SlowDayK( 5, 3);
저번에 분봉에서 스토캐스틱 일봉을 만들어주신 결과값을 보면
30분봉 9시를 기준으로 Value50[1] 값이 전일 일봉 종가의 스토캐스틱 값하고
일치하더군요.
Value33 = MacdDay(12, 26);
Value37 = DIPlusDay(10);
그런데 MACD Value33[1]값, DIPlus Value37[1]값은 30분봉 9시를 기준으로 전혀
맞지가 않는데 30분봉에서 전일 일봉의 MACD, DIPLUS 종가와 비교 할려면
어떻게 해야 좋을지 방법을 알려 주시기 바랍니다.
추가적으로 TSI도 분봉에서 일봉 TSI을 사용할수 있도록 함수좀 부탁드립니다.
예스스탁 여러분의 건승을 기원합니다.
- 1. 72492_SlowDayK.yfu (0.00 MB)
- 2. DiplusDay.yfu (0.00 MB)
- 3. MacdDay.yfu (0.00 MB)
- 4. TSI.yfu (0.00 MB)
답변 1
예스스탁 예스스탁 답변
2014-02-03 15:55:00
안녕하세요
예스스탁입니다.
1.
이전일의 값을 사용하실 때
수식에서 아래와 같이 당일 첫봉에서
전일마지막봉 값을 저장해 사용하셔야 합니다.
if date != date[1] Then{
var50 = value50[1];
var33 = value33[1];
var37 = value37[1];
}
Value50 = SlowDayK(5, 3);
Value33 = MacdDay(12, 26);
Value37 = DIPlusDay(10);
분봉에서 일간의 지표값을 구현하는 식 중에는
차트의 봉수에 영향을 받는 식이 있습니다.
실제 일봉차트에서 지표를 적용해 볼때와
분봉에서 일봉값을 계산할때 이전일의 데이터의 양의 차이로 값이 다를수 있습니다.
해당 부분은 따로 수식적으로 차트의 데이터가 없는 부분이라 처리가 가능하지 않습니다.
아래는 일봉TSI 함수입니다.
사용자함수명: TSIday
Input : R(Numeric),S(Numeric),U(Numeric);
var : DINDEX1(0),TSIv(0),TSIs(0),Ep44(0),PreJISU44(0);
Var : Ep1(0), JISU1(0), PreJISU1(0), Ep11(0), JISU11(0), PreJISU11(0);
Var : Ep2(0), JISU2(0), PreJISU2(0), Ep22(0), JISU22(0), PreJISU22(0);
Var : Ep3(0), JISU3(0), PreJISU3(0), Ep33(0), JISU33(0), PreJISU33(0);
Ep1 = 2/(R+1);
Ep2 = 2/(S+1);
Ep3 = 2/(U+1);
Ep11 = 2/(R+1);
Ep22 = 2/(S+1);
Ep33 = 2/(U+1);
if date != date[1] then {
DINDEX1= DINDEX1 + 1;
if DINDEX1 >= 2 Then
PreJISU1 = JISU1[1];
if DINDEX1 >= 3 Then
PreJISU2 = JISU2[1];
if DINDEX1 >= 4 Then
PreJISU3 = JISU3[1];
if DINDEX1 >= 2 Then
PreJISU11 = JISU11[1];
if DINDEX1 >= 3 Then
PreJISU22 = JISU22[1];
if DINDEX1 >= 4 Then
PreJISU33 = JISU33[1];
if DINDEX1 >= 5 Then
PreJISU44 = TSIs[1];
}
if DINDEX1 <= 2 then{
JISU1 = C-DayClose(1);
JISU11 = abs(c-DayClose(1));
}
else{
JISU1 = (C-DayClose(1)) * EP1 + PreJISU1 * (1-EP1);
JISU11 = (abs(c-DayClose(1))) * EP1 + PreJISU11 * (1-EP1);
}
if DINDEX1 <= 3 then{
JISU2 = JISU1;
JISU22 = JISU11;
}
else {
JISU2 = JISU1 * EP2 + PreJISU2 * (1-EP2);
JISU22 = JISU11 * EP2 + PreJISU22 * (1-EP2);
}
if DINDEX1 <= 4 then{
JISU3 = JISU2 ;
JISU33 = JISU22 ;
}
else{
JISU3 = JISU2 * EP3 + PreJISU3 * (1-EP3);
JISU33 = JISU22 * EP3 + PreJISU33 * (1-EP3);
}
Value1 = 100 * JISU3;
Value2 = JISU33;
If Value2 <> 0 then
TSIv = Value1 / Value2;
Else
TSIv = 0;
TSIday = TSIv;
2.
수식에서 다른주기의 값을 계산시에 값이 조금 다를수 있음을 인지하고
사용하셔야 합니다.
아니시면 참조데이터를 이용해 사용하실 수 밖에 없습니다.
일봉주기데이터를 data2로 추가하신 후에
수식에서 data2(MACD(12,26))과 같이 표현해서 사용하시면 됩니다.
다만 참조데이터로 일봉을 추가하고 사용하시면 미완성봉인 오늘자 값은 사용할수 없습니다.
즐거운 하루되세요
> 이조만 님이 쓴 글입니다.
> 제목 : 지표수식 다시 확인좀 부탁드립니다.
> 안녕하십니까..
Value50 = SlowDayK( 5, 3);
저번에 분봉에서 스토캐스틱 일봉을 만들어주신 결과값을 보면
30분봉 9시를 기준으로 Value50[1] 값이 전일 일봉 종가의 스토캐스틱 값하고
일치하더군요.
Value33 = MacdDay(12, 26);
Value37 = DIPlusDay(10);
그런데 MACD Value33[1]값, DIPlus Value37[1]값은 30분봉 9시를 기준으로 전혀
맞지가 않는데 30분봉에서 전일 일봉의 MACD, DIPLUS 종가와 비교 할려면
어떻게 해야 좋을지 방법을 알려 주시기 바랍니다.
추가적으로 TSI도 분봉에서 일봉 TSI을 사용할수 있도록 함수좀 부탁드립니다.
예스스탁 여러분의 건승을 기원합니다.
이전글