아래 수식은 타주기 분봉의 이평을 작은 분봉에 적용하는 수식인데요
수식을 적용할 경우 꾸불꾸불 지렁이 처럼 움직이는 선입니다.
이 선을 일목의 전환선과 기준선처럼 수평이동으로 수정하고 싶습니다.
예를 들어 60분으로 설정했을 경우 매 60분마다 해당 이평선의 시작가에서
60분동안 가격의 변화 없이 수평유지 되고 그다음 60분이 되면 해당 이평의 시작가로
가격이 이동되어 또 60분동안 수평유지 되는 형식입니다.
도움 부탁드립니다.
input : ntime(60),P1(5),P2(20);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
Array : C1[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 TF < TF[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P2] > 0 then
{
sum1 = 0;
sum2 = 0;
for cnt = 0 to P2-1{
if cnt < P1 then
sum1 = sum1+C1[cnt];
if cnt < P2 then
sum2 = sum2+C1[cnt];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
plot1(mav1);
plot2(mav2);
}
}
답변 1
예스스탁
예스스탁 답변
2020-05-06 17:23:18
안녕하세요
예스스탁입니다.
시가기준으로는 작성이 어렵습니다.
타주기 직전완성봉 기준으로 그려지게 수정해 드립니다.
input : ntime(60),P1(5),P2(20);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),mav11(0),mav21(0);
Array : C1[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 TF < TF[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
mav11 = mav1[1];
mav21 = mav2[1];
}
C1[0] = C;
if C1[P2] > 0 then
{
sum1 = 0;
sum2 = 0;
for cnt = 0 to P2-1{
if cnt < P1 then
sum1 = sum1+C1[cnt];
if cnt < P2 then
sum2 = sum2+C1[cnt];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
plot1(mav11);
plot2(mav21);
}
}
즐거운 하루되세요
> 플로스트 님이 쓴 글입니다.
> 제목 : 수정 좀 부탁드립니다.
> 아래 수식은 타주기 분봉의 이평을 작은 분봉에 적용하는 수식인데요
수식을 적용할 경우 꾸불꾸불 지렁이 처럼 움직이는 선입니다.
이 선을 일목의 전환선과 기준선처럼 수평이동으로 수정하고 싶습니다.
예를 들어 60분으로 설정했을 경우 매 60분마다 해당 이평선의 시작가에서
60분동안 가격의 변화 없이 수평유지 되고 그다음 60분이 되면 해당 이평의 시작가로
가격이 이동되어 또 60분동안 수평유지 되는 형식입니다.
도움 부탁드립니다.
input : ntime(60),P1(5),P2(20);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
Array : C1[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 TF < TF[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P2] > 0 then
{
sum1 = 0;
sum2 = 0;
for cnt = 0 to P2-1{
if cnt < P1 then
sum1 = sum1+C1[cnt];
if cnt < P2 then
sum2 = sum2+C1[cnt];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
plot1(mav1);
plot2(mav2);
}
}