커뮤니티

문의드립니다

프로필 이미지
장군
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개 나올수있게 부탁드립니다~~미리감사드립니다