커뮤니티
문의 드립니다.
2014-02-26 12:48:50
160
글번호 72946
오늘도 수고가 많으십니다.
1) 틱차트에서 분봉의 보조지표 출력.
2) A 틱차트에서 타 B 틱 수의 보조지표 출력.
3) 보정 틱차트에서 미보정 틱차트의 보조지표 출력.
단순이평과 macd로 예를 들어서 설명 좀 해주시면 너무 감사하겠습니다.
데이터를 이용해 식을 만들어야 한다해서 해봤지만 정상적으로 출력을 못하겠습니다.
적용을 하면 화면에서 캔들 따로 보조지표 따로(위아래 극과 극)으로 보여지거나
다른 경우는 '수식에서 참조할 첫 번째 종목 데이터가 없습니다'라고 나옵니다.
데이터는 작성해본적이 전혀 없어서 답답하네요.
쉽게 설정 좀 해주시면 감사하겠습니다.
답변 1
예스스탁 예스스탁 답변
2014-02-27 15:56:33
안녕하세용
예스스탁입니다.
1.
틱차트에서 분단위의 지표값은 정확한 계산식 도출이 되지 않습니다.
틱봉 하나에 분단위의 경계시간이 중간에 포함되는 경우가 많은데
수식에서 하나의 봉의 중간의 값을 알수가 없습니다.
근사값이라고 보시면 됩니다.
1-1 분봉 단순이평
input : Atime(5),P1(5);
var : TF(0),cnt(0),count(0),sum1(0),mav1(0);
Array : CC[100](0);
TF = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum1 = 0;
for count = 0 to P1-1{
if count < P1 Then
sum1 = sum1+CC[count];
}
mav1 = sum1/P1;
plot1(mav1);
1-2 분봉 MACD
Input : Atime(5),Period1(12),Period2(26),Period3(9);
Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0);
Var : Ep2(0), JISU2(0), PreJISU2(0);
Var : Ep3(0), JISU3(0), PreMACDSIG(0),TF(0);
var : MACDVal(0),MACDSig(0),MACDOsc(0),PreMACDOsc(0);
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
TF = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMACDOsc = MACDOsc[1];
if Dindex1 >= 2 Then
PreMACDSIG = MACDSIG[1];
}
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
}
MACDVal = JiSu1-Jisu2;
if DINDEX1 <= 2 then {
MACDSIG = Jisu1-jisu2;
}
else{
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
}
MACDOsc = MACDVal-MACDsig;
plot1(MACDVal);
plot2(MACDsig);
plot3(MACDOsc);
2-1 N개봉 이동평균
input : N(3),P1(5);
var : TF(0),cnt(0),count(0),sum1(0),mav1(0);
Array : CC[100](0);
TF = dayindex%N;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum1 = 0;
for count = 0 to P1-1{
if count < P1 Then
sum1 = sum1+CC[count];
}
mav1 = sum1/P1;
plot1(mav1);
2-2.N개봉 MACD
Input : N(3),Period1(12),Period2(26),Period3(9);
Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0);
Var : Ep2(0), JISU2(0), PreJISU2(0);
Var : Ep3(0), JISU3(0), PreMACDSIG(0),TF(0);
var : MACDVal(0),MACDSig(0);
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
TF = dayindex%N;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
if Dindex1 >= 2 Then
PreMACDSIG = MACDSIG[1];
}
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
}
MACDVal = JiSu1-Jisu2;
if DINDEX1 <= 2 then {
MACDSIG = Jisu1-jisu2;
}
else{
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
}
plot1(MACDVal);
plot2(MACDsig);
PlotBaseLine1(0);
3.
해당 부분은 참조데이터를 이용하셔야 합니다.수식에서 계산할 방법이 없습니다.
참조데이터는 차트에 기본종목 외에 다른 데이터를 추가하는 것을 말합니다.
차트 왼쪽상단의 종목선택버튼(돋보기아이콘) 중 왼쪽은 차트 기본종목을 선택하는 버튼이고
오른쪽이 참조데이터를 추가하는 버튼입니다.
차트에 기본종목선택하신 후에 속성에서 갭보정하시고
참조데이터를 기본종목과 같은 종목, 같은 주기로 추가하신 후에 해당 데이터는 속성에서
갭보정을 하지 않고 차트에 추가하신 아래식 적용하시면 됩니다.
plot1(data1(ma(c,5)));#data1 이평
plot1(data2(ma(c,5)));#data2 이평
즐거운 하루되세요
> zmffjqtl 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 오늘도 수고가 많으십니다.
1) 틱차트에서 분봉의 보조지표 출력.
2) A 틱차트에서 타 B 틱 수의 보조지표 출력.
3) 보정 틱차트에서 미보정 틱차트의 보조지표 출력.
단순이평과 macd로 예를 들어서 설명 좀 해주시면 너무 감사하겠습니다.
데이터를 이용해 식을 만들어야 한다해서 해봤지만 정상적으로 출력을 못하겠습니다.
적용을 하면 화면에서 캔들 따로 보조지표 따로(위아래 극과 극)으로 보여지거나
다른 경우는 '수식에서 참조할 첫 번째 종목 데이터가 없습니다'라고 나옵니다.
데이터는 작성해본적이 전혀 없어서 답답하네요.
쉽게 설정 좀 해주시면 감사하겠습니다.
다음글
이전글