항상 도움에 감사 드립니다.
틱봉용 수식으로 작성 해본 것입니다.
어딘가에 오류가 있어 보입니다.
수정 부탁 드립니다.
질문수식)
input:p(10),sig(30);
var1=obv();
var2=ma(var1,p);
var3=var1-var2;
var4=ma(var3,sig);
틱봉용 수식)
input : ntime(6),P(60),sig(5);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),sum1(0),sum2(0);
var : v2(0),v4(0),pre(0),C1(0),idx(0),vv(0);
Array : v1[100](0),v3[100](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
idx = 0;
}
Else
idx = idx+1;
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = idx%ntime;
if Bdate != bdate[1] or (TF < TF[1] and Bdate == Bdate[1]) Then
{
// idx = idx+1;
C1 = C[1];
vv = 0;
pre = v1[0][1];
For cnt = 1 to 99
{
v1[cnt] = v1[cnt-1][1];
v3[cnt] = v3[cnt-1][1];
}
}
vv = vv + v;
if C > C1 Then
v1[0] = pre + vv;
else if C < C1 Then
v1[0] = pre - vv;
else
v1[0] = pre;
if idx >= P then
{
sum1 = 0;
For cnt = 0 to P-1
{
sum1 = sum1+v1[cnt];
}
v2 = sum1/p;
v3[0] = v1[0]-v2;
}
if idx >= P+sig then
{
sum2 = 0;
For cnt = 0 to sig-1
{
sum2 = sum2+v3[cnt];
}
v4 = sum2/sig;
Plot1(v4);
}
}
PlotBaseLine1(0);
답변 1
예스스탁
예스스탁 답변
2021-10-29 11:34:44
안녕하세요
예스스탁입니다.
다른 계산식에는 별도로 문제가 없습니다.
다만 당일봉수를 카운트 하는 것과 시간경계변경을 카운트하는 변수를 별도로 지정하셔야 합니다.
obv가 차트전체구간 누적하는 내용으로 차트 기간에 따라 값이 달라지게 됩니다.
이용에 참고하시기 바랍니다.
input : ntime(6),P(60),sig(5);
var : D1(0),TF(0),cnt(0),sum1(0),sum2(0);
var : v2(0),v4(0),pre(0),C1(0),idx(0),Didx(0),vv(0);
Array : v1[100](0),v3[100](0);
if Bdate != Bdate[1] Then
{
D1 = sdate;
Didx = 0;
}
Else
Didx = Didx+1;
if D1 > 0 then
{
TF = Didx%ntime;
if Bdate != bdate[1] or (TF < TF[1] and Bdate == Bdate[1]) Then
{
idx = idx+1;
C1 = C[1];
vv = 0;
pre = v1[0][1];
For cnt = 1 to 99
{
v1[cnt] = v1[cnt-1][1];
v3[cnt] = v3[cnt-1][1];
}
}
vv = vv + v;
if C > C1 Then
v1[0] = pre + vv;
else if C < C1 Then
v1[0] = pre - vv;
else
v1[0] = pre;
if idx >= P then
{
sum1 = 0;
For cnt = 0 to P-1
{
sum1 = sum1+v1[cnt];
}
v2 = sum1/p;
v3[0] = v1[0]-v2;
}
if idx >= P+sig then
{
sum2 = 0;
For cnt = 0 to sig-1
{
sum2 = sum2+v3[cnt];
}
v4 = sum2/sig;
Plot1(v4);
}
}
PlotBaseLine1(0);
즐거운 하루되세요
> yes 님이 쓴 글입니다.
> 제목 : 부탁 드립니다.
> 항상 도움에 감사 드립니다.
틱봉용 수식으로 작성 해본 것입니다.
어딘가에 오류가 있어 보입니다.
수정 부탁 드립니다.
질문수식)
input:p(10),sig(30);
var1=obv();
var2=ma(var1,p);
var3=var1-var2;
var4=ma(var3,sig);
틱봉용 수식)
input : ntime(6),P(60),sig(5);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),sum1(0),sum2(0);
var : v2(0),v4(0),pre(0),C1(0),idx(0),vv(0);
Array : v1[100](0),v3[100](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
idx = 0;
}
Else
idx = idx+1;
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = idx%ntime;
if Bdate != bdate[1] or (TF < TF[1] and Bdate == Bdate[1]) Then
{
// idx = idx+1;
C1 = C[1];
vv = 0;
pre = v1[0][1];
For cnt = 1 to 99
{
v1[cnt] = v1[cnt-1][1];
v3[cnt] = v3[cnt-1][1];
}
}
vv = vv + v;
if C > C1 Then
v1[0] = pre + vv;
else if C < C1 Then
v1[0] = pre - vv;
else
v1[0] = pre;
if idx >= P then
{
sum1 = 0;
For cnt = 0 to P-1
{
sum1 = sum1+v1[cnt];
}
v2 = sum1/p;
v3[0] = v1[0]-v2;
}
if idx >= P+sig then
{
sum2 = 0;
For cnt = 0 to sig-1
{
sum2 = sum2+v3[cnt];
}
v4 = sum2/sig;
Plot1(v4);
}
}
PlotBaseLine1(0);