커뮤니티
타주기 가중이평
2018-08-29 00:01:41
213
글번호 121694
안녕하세요
120틱차트에 표시할 60분봉 가중이동평균선(5,20,60,120일선) 수식을 부탁드립니다.
참조데이터를 사용하지 않는 방법으로 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2018-08-29 15:37:30
안녕하세요
예스스탁입니다.
틱봉에서 타분봉은 정확히 계산되지 않습니다.
최대한 근가값으로 계산되도록 작성한 식입니다.
input : 타주기분(60),P1(5),P2(20),P3(60),P4(120);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : sum1(0),Csum1(0),wma1(0);
var : sum2(0),Csum2(0),wma2(0);
var : sum3(0),Csum3(0),wma3(0);
var : sum4(0),Csum4(0),wma4(0);
Array : CC[200](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%타주기분;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
for cnt = 1 to 199{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P1] > 0 Then
{
Sum1 = 0;
CSum1 = 0;
For cnt = 0 To P1 - 1 Begin
Sum1 = Sum1 + CC[cnt] * (P1 - cnt);
CSum1 = CSum1 + P1 - cnt;
End;
If CSum1 > 0 Then
WMA1 = Sum1/CSum1;
Else
WMA1 = 0;
plot1(wma1);
}
if CC[P2] > 0 Then
{
Sum2 = 0;
CSum2 = 0;
For cnt = 0 To P2 - 1 Begin
Sum2 = Sum2 + CC[cnt] * (P2 - cnt);
CSum2 = CSum2 + P2 - cnt;
End;
If CSum2 > 0 Then
WMA2 = Sum2/CSum2;
Else
WMA2 = 0;
plot2(wma2);
}
if CC[P3] > 0 Then
{
Sum3 = 0;
CSum3 = 0;
For cnt = 0 To P3 - 1 Begin
Sum3 = Sum3 + CC[cnt] * (P3 - cnt);
CSum3 = CSum3 + P3 - cnt;
End;
If CSum3 > 0 Then
WMA3 = Sum3/CSum3;
Else
WMA3 = 0;
plot3(wma3);
}
if CC[P4] > 0 Then
{
Sum4 = 0;
CSum4 = 0;
For cnt = 0 To P4 - 1 Begin
Sum4 = Sum4 + CC[cnt] * (P4 - cnt);
CSum4 = CSum4 + P4 - cnt;
End;
If CSum4 > 0 Then
WMA4 = Sum4/CSum4;
Else
WMA4 = 0;
plot4(wma4);
}
}
즐거운 하루되세요
> 부엉이 님이 쓴 글입니다.
> 제목 : 타주기 가중이평
> 안녕하세요
120틱차트에 표시할 60분봉 가중이동평균선(5,20,60,120일선) 수식을 부탁드립니다.
참조데이터를 사용하지 않는 방법으로 부탁드립니다.