커뮤니티
문의드립니다
2017-07-27 05:26:59
111
글번호 111598
Input:기간(500),구간개수(10); //최대 20
Var:최대(0),최소(0),j(0),행번호(0),총거래량(0),가격대거래량(0),
시작번호(0),끝번호(0),bars(0);
Array:가격대[21](0),거래량[21](0),비율[21](0),Text[21](0),TL[21](0);
#----------------------------------------------------------------------------------#
# 가격대를 배열변수에 세팅한다.
#----------------------------------------------------------------------------------#
최대 = Highest(H,기간-1);
최소 = Lowest(L,기간-1);
Value1 = Round((최대-최소)/구간개수,0);
가격대[0] = 최대;
For 행번호 = 0 To 구간개수-1 {
가격대[행번호+1] = 가격대[행번호] - Value1;
거래량[행번호] = 0;
비율[행번호] = 0;
}
총거래량 = 0;
For j = 0 To 기간-2 {
총거래량 = 총거래량 + V[j];
#----------------------------------------------------------------------------------#
# 거래량을 걸쳐있는 가격대에 분배
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
if 가격대[행번호] >= H[j] and 가격대[행번호+1] < H[j] then 시작번호 = 행번호;
if 가격대[행번호] >= L[j] and 가격대[행번호+1] < L[j] then 끝번호 = 행번호;
}
가격대거래량 = V[j]/(끝번호-시작번호+1);
for 행번호 = 시작번호 To 끝번호 {
거래량[행번호] = 거래량[행번호] + 가격대거래량;
}
}
#----------------------------------------------------------------------------------#
# 비율 계산
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
비율[행번호] = 거래량[행번호] * 100 / 총거래량;
}
#----------------------------------------------------------------------------------#
# 지표출력
#----------------------------------------------------------------------------------#
bars = Floor(구간개수/2);
var : DD(0),TT(0),DD1(0),TT1(0),TL1(0),text1(0);
if bdate != bdate[1] Then{
DD = sdate;
TT = stime;
DD1 = DD[1];
TT1 = TT[1];
TL1 = TL_New(DD1,TT1,가격대[bars][1],sDate[1],sTime[1],가격대[bars][1]);
TL_SetSize(TL1,2);//추세선 굵기지정(0~8)
TL_SetColor(TL1,RED);
}
TL_Delete(TL[bars]);
TL[bars] = TL_New(DD,TT,가격대[bars],Date[0],sTime[0],가격대[bars]);
TL_SetSize(TL[bars],2);//추세선 굵기지정(0~8)
TL_SetColor(TL[bars],red);
선이현재는 고점하나만나오는데 대칭으로저점도나오게2개 나올수있게 부탁드립니다~~미리감사드립니다
답변 1
예스스탁 예스스탁 답변
2017-07-27 16:29:19
안녕하세요
예스스탁입니다.
해당식 고점이 아닌 N등분 선 중에 중간선이 그려지고 있는 내용입니다.
최고와 최저의 차이를 구간갯수로 나누어 반올림해 사용하는데
선물이나 파생상품의 경우 최고최저폭이 작으면 10등분 값이 작아 0이므로 최고와 최저가 하나의 선이 됩니다.
식을 수정했습니다.
Input:기간(500),구간개수(10); //최대 20
Var:최대(0),최소(0),j(0),행번호(0),총거래량(0),가격대거래량(0),시작번호(0),끝번호(0),bars(0);
Array:가격대[21](0),거래량[21](0),비율[21](0),Text[21](0),TL[21](0);
#----------------------------------------------------------------------------------#
# 가격대를 배열변수에 세팅한다.
#----------------------------------------------------------------------------------#
최대 = Highest(H,기간-1);
최소 = Lowest(L,기간-1);
Value1 = Round((최대-최소)/구간개수,2);
가격대[0] = 최대;
For 행번호 = 0 To 구간개수-1 {
가격대[행번호+1] = 가격대[행번호] - Value1;
거래량[행번호] = 0;
비율[행번호] = 0;
}
총거래량 = 0;
For j = 0 To 기간-2 {
총거래량 = 총거래량 + V[j];
#----------------------------------------------------------------------------------#
# 거래량을 걸쳐있는 가격대에 분배
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
if 가격대[행번호] >= H[j] and 가격대[행번호+1] < H[j] then 시작번호 = 행번호;
if 가격대[행번호] >= L[j] and 가격대[행번호+1] < L[j] then 끝번호 = 행번호;
}
가격대거래량 = V[j]/(끝번호-시작번호+1);
for 행번호 = 시작번호 To 끝번호 {
거래량[행번호] = 거래량[행번호] + 가격대거래량;
}
}
#----------------------------------------------------------------------------------#
# 비율 계산
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
비율[행번호] = 거래량[행번호] * 100 / 총거래량;
}
#----------------------------------------------------------------------------------#
# 지표출력
#----------------------------------------------------------------------------------#
bars = Floor(구간개수/2);
var : DD(0),TT(0),DD1(0),TT1(0),TL1(0),text1(0);
var : TL2(0),TL3(0),TL4(0),TL5(0),TL6(0);
if bdate != bdate[1] Then{
DD = sdate;
TT = stime;
DD1 = DD[1];
TT1 = TT[1];
TL1 = TL_New(DD1,TT1,가격대[bars][1],sDate[1],sTime[1],가격대[bars][1]);
TL2 = TL_New(DD1,TT1,가격대[1][1],sDate[1],sTime[1],가격대[1][1]);
TL3 = TL_New(DD1,TT1,가격대[구간개수][1],sDate[1],sTime[1],가격대[구간개수][1]);
TL_SetSize(TL1,2);//추세선 굵기지정(0~8)
TL_SetColor(TL1,GREEN);
TL_SetSize(TL2,2);//추세선 굵기지정(0~8)
TL_SetColor(TL2,RED);
TL_SetSize(TL3,2);//추세선 굵기지정(0~8)
TL_SetColor(TL3,blue);
}
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
TL4 = TL_New(DD,TT,가격대[bars],Date[0],sTime[0],가격대[bars]);
TL5 = TL_New(DD,TT,가격대[1],Date[0],sTime[0],가격대[1]);
TL6 = TL_New(DD,TT,가격대[구간개수],Date[0],sTime[0],가격대[구간개수]);
TL_SetSize(TL4,2);//추세선 굵기지정(0~8)
TL_SetColor(TL4,GREEN);
TL_SetSize(TL5,2);//추세선 굵기지정(0~8)
TL_SetColor(TL5,RED);
TL_SetSize(TL6,2);//추세선 굵기지정(0~8)
TL_SetColor(TL6,blue);
즐거운 하루되세요
> 장군 님이 쓴 글입니다.
> 제목 : 문의드립니다
> Input:기간(500),구간개수(10); //최대 20
Var:최대(0),최소(0),j(0),행번호(0),총거래량(0),가격대거래량(0),
시작번호(0),끝번호(0),bars(0);
Array:가격대[21](0),거래량[21](0),비율[21](0),Text[21](0),TL[21](0);
#----------------------------------------------------------------------------------#
# 가격대를 배열변수에 세팅한다.
#----------------------------------------------------------------------------------#
최대 = Highest(H,기간-1);
최소 = Lowest(L,기간-1);
Value1 = Round((최대-최소)/구간개수,0);
가격대[0] = 최대;
For 행번호 = 0 To 구간개수-1 {
가격대[행번호+1] = 가격대[행번호] - Value1;
거래량[행번호] = 0;
비율[행번호] = 0;
}
총거래량 = 0;
For j = 0 To 기간-2 {
총거래량 = 총거래량 + V[j];
#----------------------------------------------------------------------------------#
# 거래량을 걸쳐있는 가격대에 분배
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
if 가격대[행번호] >= H[j] and 가격대[행번호+1] < H[j] then 시작번호 = 행번호;
if 가격대[행번호] >= L[j] and 가격대[행번호+1] < L[j] then 끝번호 = 행번호;
}
가격대거래량 = V[j]/(끝번호-시작번호+1);
for 행번호 = 시작번호 To 끝번호 {
거래량[행번호] = 거래량[행번호] + 가격대거래량;
}
}
#----------------------------------------------------------------------------------#
# 비율 계산
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
비율[행번호] = 거래량[행번호] * 100 / 총거래량;
}
#----------------------------------------------------------------------------------#
# 지표출력
#----------------------------------------------------------------------------------#
bars = Floor(구간개수/2);
var : DD(0),TT(0),DD1(0),TT1(0),TL1(0),text1(0);
if bdate != bdate[1] Then{
DD = sdate;
TT = stime;
DD1 = DD[1];
TT1 = TT[1];
TL1 = TL_New(DD1,TT1,가격대[bars][1],sDate[1],sTime[1],가격대[bars][1]);
TL_SetSize(TL1,2);//추세선 굵기지정(0~8)
TL_SetColor(TL1,RED);
}
TL_Delete(TL[bars]);
TL[bars] = TL_New(DD,TT,가격대[bars],Date[0],sTime[0],가격대[bars]);
TL_SetSize(TL[bars],2);//추세선 굵기지정(0~8)
TL_SetColor(TL[bars],red);
선이현재는 고점하나만나오는데 대칭으로저점도나오게2개 나올수있게 부탁드립니다~~미리감사드립니다
다음글
이전글