예스스탁
예스스탁 답변
2020-04-08 11:34:08
안녕하세요
예스스탁입니다.
1
if bdate != Bdate[1] Then
var1 = stime;
if date != date[1] Then
var2 = TM[1];
if stime >= var1 Then
TM = TimeToMinutes(stime)-TimeToMinutes(var1);
Else
TM = TimeToMinutes(stime)+var2;
2개식 모두 위 수식 내용만
아래와 같이 변경하시면 해선/국내 모두 사용할수 있습니다.
var : S1(0),D1(0),TM(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
#10(ntime)봉 이평 계산
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
}
2-1
input : n2(5),n3(10),Period(20),dv(2);
var : cnt(0),TM(0);
var : mav1(0),BBup1(0),BBdn1(0);
var : TF2(0),sum2(0),mav2(0),SumSqrt2(0),Stdv2(0),BBup2(0),BBdn2(0);
var : TF3(0),sum3(0),mav3(0),SumSqrt3(0),Stdv3(0),BBup3(0),BBdn3(0);
var : TF4(0),sum4(0),mav4(0),SumSqrt4(0),Stdv4(0),BBup4(0),BBdn4(0);
var : sum5(0),mav5(0),idx(0);
Array : C2[130](0),C3[130](0),C4[130](0);
if bdate != Bdate[1] Then
idx = 0;
Else
idx = idx+1;
tf2 = idx%n2;
tf3 = idx%n3;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then{
for cnt = 1 to 129{
C2[cnt] = C2[cnt-1][1];
}
}
C2[0] = C;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) Then{
for cnt = 1 to 129{
C3[cnt] = C3[cnt-1][1];
}
}
C3[0] = C;
if DayClose(Period-1) > 0 then{
sum4 = 0;
for cnt = 0 to Period-1{
sum4 = sum4+DayClose(cnt);
}
mav4 = sum4/Period;
SumSqrt4 = 0;
For cnt = 0 To Period - 1 {
SumSqrt4 = SumSqrt4 + (DayClose(cnt) - mav4) * (DayClose(cnt) - mav4);
}
Stdv4 = SquareRoot(SumSqrt4/ Period);
}
2-2
input : n2(5),n3(10),Period(20),dv(2);
var : cnt(0),TM(0);
var : mav1(0),BBup1(0),BBdn1(0);
var : TF2(0),sum2(0),mav2(0),SumSqrt2(0),Stdv2(0),BBup2(0),BBdn2(0);
var : TF3(0),sum3(0),mav3(0),SumSqrt3(0),Stdv3(0),BBup3(0),BBdn3(0);
var : TF4(0),sum4(0),mav4(0),SumSqrt4(0),Stdv4(0),BBup4(0),BBdn4(0);
var : sum5(0),mav5(0),idx(0);
Array : C2[60](0),C3[60](0),C4[60](0);
if bdate != Bdate[1] Then
idx = 0;
Else
idx = idx+1;
TF2 = idx%n2;
TF3 = idx%n3;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then{
for cnt = 1 to 59{
C2[cnt] = C2[cnt-1][1];
}
}
C2[0] = C;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) Then{
for cnt = 1 to 59{
C3[cnt] = C3[cnt-1][1];
}
}
C3[0] = C;
if C2[Period-1] > 0 then{
sum2 = 0;
for cnt = 0 to Period-1{
sum2 = sum2+C2[cnt];
}
mav2 = sum2/Period;
SumSqrt2 = 0;
For cnt = 0 To Period - 1 {
SumSqrt2 = SumSqrt2 + (C2[cnt] - mav2) * (C2[cnt] - mav2);
}
Stdv2 = SquareRoot(SumSqrt2/ Period);
}
즐거운 하루되세요
> yes 님이 쓴 글입니다.
> 제목 : 부탁 드립니다.
> 도움에 진심으로 감사 드립니다.
질문1)
수식1,2를 해선용으로 사용 하던 지표를
국내 주식용으로 사용 하고자 하오니
수정 부탁 드립니다.
질문2)
수식2를 타주기 틱용으로 부탁 드립니다.
미리 감사 드립니다.
수식1)
input : Period(20),dv(2);
var : cnt(0),TM(0);
var : mav1(0),BBup1(0),BBdn1(0);
var : TF2(0),sum2(0),mav2(0),SumSqrt2(0),Stdv2(0),BBup2(0),BBdn2(0);
var : TF3(0),sum3(0),mav3(0),SumSqrt3(0),Stdv3(0),BBup3(0),BBdn3(0);
var : TF4(0),sum4(0),mav4(0),SumSqrt4(0),Stdv4(0),BBup4(0),BBdn4(0);
var : sum5(0),mav5(0);
Array : C2[130](0),C3[130](0),C4[130](0);
if bdate != Bdate[1] Then
var1 = stime;
if date != date[1] Then
var2 = TM[1];
if stime >= var1 Then
TM = TimeToMinutes(stime)-TimeToMinutes(var1);
Else
TM = TimeToMinutes(stime)+var2;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then{
for cnt = 1 to 129{
C2[cnt] = C2[cnt-1][1];
}
}
C2[0] = C;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) Then{
for cnt = 1 to 129{
C3[cnt] = C3[cnt-1][1];
}
}
C3[0] = C;
if DayClose(Period-1) > 0 then{
sum4 = 0;
for cnt = 0 to Period-1{
sum4 = sum4+DayClose(cnt);
}
mav4 = sum4/Period;
SumSqrt4 = 0;
For cnt = 0 To Period - 1 {
SumSqrt4 = SumSqrt4 + (DayClose(cnt) - mav4) * (DayClose(cnt) - mav4);
}
Stdv4 = SquareRoot(SumSqrt4/ Period);
}
수식2)
input : Atime1(30),Period(20),dv(2);
var : cnt(0),TM(0);
var : mav1(0),BBup1(0),BBdn1(0);
var : TF2(0),sum2(0),mav2(0),SumSqrt2(0),Stdv2(0),BBup2(0),BBdn2(0);
var : TF3(0),sum3(0),mav3(0),SumSqrt3(0),Stdv3(0),BBup3(0),BBdn3(0);
var : TF4(0),sum4(0),mav4(0),SumSqrt4(0),Stdv4(0),BBup4(0),BBdn4(0);
var : sum5(0),mav5(0);
Array : C2[60](0),C3[60](0),C4[60](0);
if bdate != Bdate[1] Then
var1 = stime;
if date != date[1] Then
var2 = TM[1];
if stime >= var1 Then
TM = TimeToMinutes(stime)-TimeToMinutes(var1);
Else
TM = TimeToMinutes(stime)+var2;
TF2 = TM%Atime1;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then{
for cnt = 1 to 59{
C2[cnt] = C2[cnt-1][1];
}
}
C2[0] = C;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) Then{
for cnt = 1 to 59{
C3[cnt] = C3[cnt-1][1];
}
}
C3[0] = C;
if C2[Period-1] > 0 then{
sum2 = 0;
for cnt = 0 to Period-1{
sum2 = sum2+C2[cnt];
}
mav2 = sum2/Period;
SumSqrt2 = 0;
For cnt = 0 To Period - 1 {
SumSqrt2 = SumSqrt2 + (C2[cnt] - mav2) * (C2[cnt] - mav2);
}
Stdv2 = SquareRoot(SumSqrt2/ Period);
}