예스스탁
예스스탁 답변
2020-07-10 13:57:16
안녕하세요
예스스탁입니다.
input : P1(5);
var1 = ma(C,P1);
var2 = accumN(var1,P1)/P1;
plot1(var2,"누적이평");
누적이동평균은 위 계산식으로 작성해 드립니다.
1, 타주기 일봉
input : P1(20);
var : cnt(0),ii(0),sum1(0),sum2(0),mav(0),sumMA(0);
sum2 = 0;
for cnt = 0 to P1-1
{
sum1 = 0;
for ii = 0+cnt to P1+cnt-1
{
sum1 = sum1+DayClose(ii);
}
mav = sum1/P1;
sum2 = sum2 + mav;
}
sumMA = sum2 / P1;
plot1(sumMA);
2 타주기 분봉
틱봉에서 타주기 분봉은 정확한 계산이 불가능합니다.
근사값으로 보셔야 합니다.
input : ntime(60),P1(20);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : sum1(0),sum2(0),sumMA(0);
Array : C1[100](0),mav[100](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%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
mav[cnt] = mav[cnt-1][1];
}
}
C1[0] = C;
if C1[P1-1] > 0 then
{
sum1 = 0;
for cnt = 0 to P1-1
{
sum1 = sum1+C1[cnt];
}
mav[0] = sum1/P1;
}
if mav[P1-1] > 0 then
{
sum2 = 0;
for cnt = 0 to P1-1
{
sum2 = sum2+mav[cnt];
}
sumMA = sum2/P1;
plot1(sumMA);
}
}
3 타주기 틱봉
input : n(3);//기본차트 3배주기
input : P1(20);
var : D1(0),idx(0),TF(0),cnt(0);
var : sum1(0),sum2(0),sumMA(0);
Array : C1[100](0),mav[100](0);
if Bdate != Bdate[1] Then
{
D1 = sdate;
idx = 0;
}
Else
idx = idx+1;
if D1 > 0 then
{
TF = idx%N;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
mav[cnt] = mav[cnt-1][1];
}
}
C1[0] = C;
if C1[P1-1] > 0 then
{
sum1 = 0;
for cnt = 0 to P1-1
{
sum1 = sum1+C1[cnt];
}
mav[0] = sum1/P1;
}
if mav[P1-1] > 0 then
{
sum2 = 0;
for cnt = 0 to P1-1
{
sum2 = sum2+mav[cnt];
}
sumMA = sum2/P1;
plot1(sumMA);
}
}
즐거운 하루되세요
> 처음처럼22 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 타주기 누적 이동평균선을 틱차트에나타내고 싶습니다
일간 누적이동평균선,60분 누적이동평균선, 900틱누적이동평균선을 300틱챠트에서 보고싶습니다, 가능할까요?