커뮤니티
문의드립니다.
2017-10-31 19:07:06
179
글번호 113806
선물차트 기준으로 문의드립니다.
1. 틱차트에 1분봉차트의 지수이평 160선,
2분봉차트의 지수이평 160선,
3분봉차트의 지수이평 160선,
10분봉차트의 지수이평 160선을 나타내고자 합니다.
2. 틱차트에 2분봉차트의 가중이동평균 200선을 나타내고자 합니다.
=== 각 수식의 기간값은 수정 가능하게 부탁드립니다. 항상 감사드립니다.
수식을 부탁드립니다. 수고하세요. !!!
답변 1
예스스탁 예스스탁 답변
2017-11-01 11:37:09
안녕하세요
예스스탁입니다.
틱봉에서 분봉차트의 값은 정확히 계산할수 없습니다.
또한 지수이평의 경우 과거 데이터의 갯수에 영향을 받기에
조더 차이가 클수 있습니다.
이용에 참고하시기 바랍니다.
1
Input : Atime1(1),Atime2(2),Atime3(3),Atime4(10),Period(160);
var : S1(0),D1(0),TM(0),EP(0);
Var : TF1(0),idx1(0),emav1(0),Pre1(0);
Var : TF2(0),idx2(0),emav2(0),Pre2(0);
Var : TF3(0),idx3(0),emav3(0),Pre3(0);
Var : TF4(0),idx4(0),emav4(0),Pre4(0);
Ep = 2/(Period+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;
TF1 = TM%Atime1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and Atime1 <= 1 and TF1 > TF1[1]) or
(Bdate == Bdate[1] and Atime1 > 1 and TF1 < TF1[1]) Then{
idx1 = idx1+1;
Pre1 = emav1[1];
}
if idx1 <= 1 then
emav1 = C;
else
emav1 = C * EP + Pre1 * (1-EP);
plot1(emav1);
TF2 = TM%Atime2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and Atime2 <= 1 and TF2 > TF2[1]) or
(Bdate == Bdate[1] and Atime2 > 1 and TF2 < TF2[1]) Then{
idx2 = idx2+1;
Pre2 = emav2[1];
}
if idx2 <= 1 then
emav2 = C;
else
emav2 = C * EP + Pre2 * (1-EP);
plot2(emav2);
TF3 = TM%Atime3;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and Atime3 <= 1 and TF3 > TF3[1]) or
(Bdate == Bdate[1] and Atime3 > 1 and TF3 < TF3[1]) Then{
idx3 = idx3+1;
Pre3 = emav3[1];
}
if idx3 <= 1 then
emav3 = C;
else
emav3 = C * EP + Pre3 * (1-EP);
plot3(emav3);
TF4 = TM%Atime4;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and Atime4 <= 1 and TF4 > TF4[1]) or
(Bdate == Bdate[1] and Atime4 > 1 and TF4 < TF4[1]) Then{
idx4 = idx4+1;
Pre4 = emav4[1];
}
if idx4 <= 1 then
emav4 = C;
else
emav4 = C * EP + Pre4 * (1-EP);
plot4(emav4);
}
2
Input : Atime(2),Length(200);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
Var : Sum1(0), Counter1(0), CSum1(0),WMA1(0);
Array : CC[300](0);
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 = TM%Atime;
if bdate != bdate[1] or
(bdate == bdate[1] and Atime <= 1 and TF > TF[1]) or
(bdate == bdate[1] and Atime > 1 and TF < TF[1]) Then{
for cnt = 1 to 299{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[Length] > 0 Then{
Sum1 = 0;
CSum1 = 0;
For counter1 = 0 To Length - 1 Begin
Sum1 = Sum1 + CC[counter1] * (Length - counter1);
CSum1 = CSum1 + Length - counter1;
End;
If CSum1 > 0 Then
WMA1 = Sum1/CSum1;
Else
WMA1 = 0;
}
plot1(wma1);
}
즐거운 하루되세요
> 해암 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 선물차트 기준으로 문의드립니다.
1. 틱차트에 1분봉차트의 지수이평 160선,
2분봉차트의 지수이평 160선,
3분봉차트의 지수이평 160선,
10분봉차트의 지수이평 160선을 나타내고자 합니다.
2. 틱차트에 2분봉차트의 가중이동평균 200선을 나타내고자 합니다.
=== 각 수식의 기간값은 수정 가능하게 부탁드립니다. 항상 감사드립니다.
수식을 부탁드립니다. 수고하세요. !!!
다음글
이전글