커뮤니티

64919 관련하여 재문의 드립니다.

프로필 이미지
조르바
2019-11-16 00:12:26
295
글번호 133681
답변완료

첨부 이미지

안녕하세요. 지표를 수정해 주셔서 이제 에러가 나지 않습니다. 감사합니다. 혹시, 그림파일 처럼 수정이 가능할지 다시한번 여쭤봅니다. 저점, 고점이 완성되면 피보나치 수평선이 그려지는데 맞지만, 별표 부분에서부터 길게 표시가 되니 보니 좀 시각적으로 복잡한감이 있습니다. 그래서, 피보나치 수평선은 빨간색 네모박스로 표시한 만큼만 우측라인만 선 표시가 될까요? 또 한가지, 맨 우측 라인선에 38.2%와 61.8%선 숫자표시좀 되게끔 수정부탁드립니다. (해당되는 라인선 밑에 38.2%, 61.8% 표시좀 나오게 해주세요) 미리 감사하다는 말씀드립니다. -------------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. Input:chngRate(0.3),굵기(1); input : Per1(0),Per2(23.6),Per3(38.2),Per4(50.0),Per5(61.8),Per6(76.4),Per7(100),Per8(123.6),Per9(161.8); Var : j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); var : TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0); var : Tx11(0),Tx12(0),Tx13(0),Tx14(0),Tx15(0),Tx16(0),Tx17(0),Tx18(0),Tx19(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H; Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0); If Condition1 Then { lastHiVal = H; lastLoVal = 0; } If Condition2 Then { lastLoVal = L; lastHiVal = 0; } turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); value1 = valArr[1]-valArr[2]; TL_Delete(TL11); TL_Delete(TL12); TL_Delete(TL13); TL_Delete(TL14); TL_Delete(TL15); TL_Delete(TL16); TL_Delete(TL17); TL_Delete(TL18); TL_Delete(TL19); TL_SetExtRight(TL11,False); TL_SetExtRight(TL12,False); TL_SetExtRight(TL13,False); TL_SetExtRight(TL14,False); TL_SetExtRight(TL15,False); TL_SetExtRight(TL16,False); TL_SetExtRight(TL17,False); TL_SetExtRight(TL18,False); TL_SetExtRight(TL19,False); TL11 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per1/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per1/100)); TL12 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per2/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per2/100)); TL13 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per3/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per3/100)); TL14 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per4/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per4/100)); TL15 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per5/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per5/100)); TL16 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per6/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per6/100)); TL17 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per7/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per7/100)); TL18 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per8/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per8/100)); TL19 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per9/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per9/100)); TL_SetExtRight(TL11,true); TL_SetExtRight(TL12,true); TL_SetExtRight(TL13,true); TL_SetExtRight(TL14,true); TL_SetExtRight(TL15,true); TL_SetExtRight(TL16,true); TL_SetExtRight(TL17,true); TL_SetExtRight(TL18,true); TL_SetExtRight(TL19,true); TL_SetColor(TL11,RED); TL_SetColor(TL12,BLUE); TL_SetColor(TL13,MAGENTA); TL_SetColor(TL14,YELLOW); TL_SetColor(TL15,GRAY); TL_SetColor(TL16,GREEN); TL_SetColor(TL17,BLUE); TL_SetColor(TL18,PINK); TL_SetColor(TL19,Lblue); TL_SetSize(TL11,굵기); TL_SetSize(TL12,굵기); TL_SetSize(TL13,굵기); TL_SetSize(TL14,굵기); TL_SetSize(TL15,굵기); TL_SetSize(TL16,굵기); TL_SetSize(TL17,굵기); TL_SetSize(TL18,굵기); TL_SetSize(TL19,굵기); tx11 = Text_New(sdate,stime,TL_GetValue(TL11,sdate,stime),NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")"); tx12 = Text_New(sdate,stime,TL_GetValue(TL12,sdate,stime),NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")"); tx13 = Text_New(sdate,stime,TL_GetValue(TL13,sdate,stime),NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")"); tx14 = Text_New(sdate,stime,TL_GetValue(TL14,sdate,stime),NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")"); tx15 = Text_New(sdate,stime,TL_GetValue(TL15,sdate,stime),NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")"); tx16 = Text_New(sdate,stime,TL_GetValue(TL16,sdate,stime),NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")"); tx17 = Text_New(sdate,stime,TL_GetValue(TL17,sdate,stime),NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")"); tx18 = Text_New(sdate,stime,TL_GetValue(TL18,sdate,stime),NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")"); tx19 = Text_New(sdate,stime,TL_GetValue(TL19,sdate,stime),NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")"); Text_Delete(Tx11); Text_Delete(Tx12); Text_Delete(Tx13); Text_Delete(Tx14); Text_Delete(Tx15); Text_Delete(Tx16); Text_Delete(Tx17); Text_Delete(Tx18); Text_Delete(Tx19); Text_SetStyle(tx11,2,1); Text_SetStyle(tx12,2,1); Text_SetStyle(tx13,2,1); Text_SetStyle(tx14,2,1); Text_SetStyle(tx15,2,1); Text_SetStyle(tx16,2,1); Text_SetStyle(tx17,2,1); Text_SetStyle(tx18,2,1); Text_SetStyle(tx19,2,1); } Else { value1 = valArr[1]-valArr[2]; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetBegin(TL11,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per1/100)); TL_SetEnd(TL11,sDate,sTime,valArr[1]-value1*(per1/100)); TL_SetBegin(TL12,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per2/100)); TL_SetEnd(TL12,sDate,sTime,valArr[1]-value1*(per2/100)); TL_SetBegin(TL13,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per3/100)); TL_SetEnd(TL13,sDate,sTime,valArr[1]-value1*(per3/100)); TL_SetBegin(TL14,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per4/100)); TL_SetEnd(TL14,sDate,sTime,valArr[1]-value1*(per4/100)); TL_SetBegin(TL15,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per5/100)); TL_SetEnd(TL15,sDate,sTime,valArr[1]-value1*(per5/100)); TL_SetBegin(TL16,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per6/100)); TL_SetEnd(TL16,sDate,sTime,valArr[1]-value1*(per6/100)); TL_SetBegin(TL17,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per7/100)); TL_SetEnd(TL17,sDate,sTime,valArr[1]-value1*(per7/100)); TL_SetBegin(TL18,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per8/100)); TL_SetEnd(TL18,sDate,sTime,valArr[1]-value1*(per8/100)); TL_SetBegin(TL19,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per9/100)); TL_SetEnd(TL19,sDate,sTime,valArr[1]-value1*(per9/100)); Text_SetLocation(Tx11,sdate,stime,TL_GetValue(TL11,sdate,stime)); Text_SetLocation(Tx12,sdate,stime,TL_GetValue(TL12,sdate,stime)); Text_SetLocation(Tx13,sdate,stime,TL_GetValue(TL13,sdate,stime)); Text_SetLocation(Tx14,sdate,stime,TL_GetValue(TL14,sdate,stime)); Text_SetLocation(Tx15,sdate,stime,TL_GetValue(TL15,sdate,stime)); Text_SetLocation(Tx16,sdate,stime,TL_GetValue(TL16,sdate,stime)); Text_SetLocation(Tx17,sdate,stime,TL_GetValue(TL17,sdate,stime)); Text_SetLocation(Tx18,sdate,stime,TL_GetValue(TL18,sdate,stime)); Text_SetLocation(Tx19,sdate,stime,TL_GetValue(TL19,sdate,stime)); Text_SetString(Tx11,NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")"); Text_SetString(Tx12,NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")"); Text_SetString(Tx13,NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")"); Text_SetString(Tx14,NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")"); Text_SetString(Tx15,NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")"); Text_SetString(Tx16,NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")"); Text_SetString(Tx17,NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")"); Text_SetString(Tx18,NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")"); Text_SetString(Tx19,NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")"); } } } TL_SetSize(TL1,굵기); TL_SetColor(TL1,black); plot1(valArr[1]); plot2(valArr[2]); 즐거운 하루되세요 > 조르바 님이 쓴 글입니다. > 제목 : 수정좀 부탁드리겠습니다. > 안녕하세요. 아래수식이 정상적으로 나올때도 있지만, 그림파일처럼 수평선으로 표시가 안되고 에러가 나는 경우가 빈번합니다. (그림파일) 에러가 나지않게끔 확인좀 부탁드리겠습니다. 항상 감사드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-11-18 10:26:25

안녕하세요 예스스탁입니다. 추세선은 완성봉에서만 출력되기에 완전여백에만 그릴수는 없습니다. 차트의 마지막 완성봉에서 출력되어 우측 연장되게 작성해 드립니다. Input:chngRate(0.3),굵기(1); input : Per1(0),Per2(23.6),Per3(38.2),Per4(50.0),Per5(61.8),Per6(76.4),Per7(100),Per8(123.6),Per9(161.8); Var : j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); var : TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0); var : Tx11(0),Tx12(0),Tx13(0),Tx14(0),Tx15(0),Tx16(0),Tx17(0),Tx18(0),Tx19(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H; Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0); If Condition1 Then { lastHiVal = H; lastLoVal = 0; } If Condition2 Then { lastLoVal = L; lastHiVal = 0; } turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); } Else { TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); } } } TL_SetSize(TL1,굵기); TL_SetColor(TL1,black); value1 = valArr[1]-valArr[2]; TL_Delete(TL11); TL_Delete(TL12); TL_Delete(TL13); TL_Delete(TL14); TL_Delete(TL15); TL_Delete(TL16); TL_Delete(TL17); TL_Delete(TL18); TL_Delete(TL19); TL_SetExtRight(TL11,False); TL_SetExtRight(TL12,False); TL_SetExtRight(TL13,False); TL_SetExtRight(TL14,False); TL_SetExtRight(TL15,False); TL_SetExtRight(TL16,False); TL_SetExtRight(TL17,False); TL_SetExtRight(TL18,False); TL_SetExtRight(TL19,False); TL11 = TL_New(sDate,sTime,valArr[1]-value1*(per1/100),nextbarsdate,nextbarstime,valArr[1]-value1*(per1/100)); TL12 = TL_New(sDate,sTime,valArr[1]-value1*(per2/100),nextbarsdate,nextbarstime,valArr[1]-value1*(per2/100)); TL13 = TL_New(sDate,sTime,valArr[1]-value1*(per3/100),nextbarsdate,nextbarstime,valArr[1]-value1*(per3/100)); TL14 = TL_New(sDate,sTime,valArr[1]-value1*(per4/100),nextbarsdate,nextbarstime,valArr[1]-value1*(per4/100)); TL15 = TL_New(sDate,sTime,valArr[1]-value1*(per5/100),nextbarsdate,nextbarstime,valArr[1]-value1*(per5/100)); TL16 = TL_New(sDate,sTime,valArr[1]-value1*(per6/100),nextbarsdate,nextbarstime,valArr[1]-value1*(per6/100)); TL17 = TL_New(sDate,sTime,valArr[1]-value1*(per7/100),nextbarsdate,nextbarstime,valArr[1]-value1*(per7/100)); TL18 = TL_New(sDate,sTime,valArr[1]-value1*(per8/100),nextbarsdate,nextbarstime,valArr[1]-value1*(per8/100)); TL19 = TL_New(sDate,sTime,valArr[1]-value1*(per9/100),nextbarsdate,nextbarstime,valArr[1]-value1*(per9/100)); TL_SetExtRight(TL11,true); TL_SetExtRight(TL12,true); TL_SetExtRight(TL13,true); TL_SetExtRight(TL14,true); TL_SetExtRight(TL15,true); TL_SetExtRight(TL16,true); TL_SetExtRight(TL17,true); TL_SetExtRight(TL18,true); TL_SetExtRight(TL19,true); TL_SetColor(TL11,RED); TL_SetColor(TL12,BLUE); TL_SetColor(TL13,MAGENTA); TL_SetColor(TL14,YELLOW); TL_SetColor(TL15,GRAY); TL_SetColor(TL16,GREEN); TL_SetColor(TL17,BLUE); TL_SetColor(TL18,PINK); TL_SetColor(TL19,Lblue); TL_SetSize(TL11,굵기); TL_SetSize(TL12,굵기); TL_SetSize(TL13,굵기); TL_SetSize(TL14,굵기); TL_SetSize(TL15,굵기); TL_SetSize(TL16,굵기); TL_SetSize(TL17,굵기); TL_SetSize(TL18,굵기); TL_SetSize(TL19,굵기); Text_Delete(tx11); Text_Delete(tx12); Text_Delete(tx13); Text_Delete(tx14); Text_Delete(tx15); Text_Delete(tx16); Text_Delete(tx17); Text_Delete(tx18); Text_Delete(tx19); tx11 = Text_New(nextbarsdate,nextbarstime,valArr[1]-value1*(per1/100),NumToStr(Per1,2)+"%"); tx12 = Text_New(nextbarsdate,nextbarstime,valArr[1]-value1*(per2/100),NumToStr(Per2,2)+"%"); tx13 = Text_New(nextbarsdate,nextbarstime,valArr[1]-value1*(per3/100),NumToStr(Per3,2)+"%"); tx14 = Text_New(nextbarsdate,nextbarstime,valArr[1]-value1*(per4/100),NumToStr(Per4,2)+"%"); tx15 = Text_New(nextbarsdate,nextbarstime,valArr[1]-value1*(per5/100),NumToStr(Per5,2)+"%"); tx16 = Text_New(nextbarsdate,nextbarstime,valArr[1]-value1*(per6/100),NumToStr(Per6,2)+"%"); tx17 = Text_New(nextbarsdate,nextbarstime,valArr[1]-value1*(per7/100),NumToStr(Per7,2)+"%"); tx18 = Text_New(nextbarsdate,nextbarstime,valArr[1]-value1*(per8/100),NumToStr(Per8,2)+"%"); tx19 = Text_New(nextbarsdate,nextbarstime,valArr[1]-value1*(per9/100),NumToStr(Per9,2)+"%"); Text_SetStyle(tx11,0,1); Text_SetStyle(tx12,0,1); Text_SetStyle(tx13,0,1); Text_SetStyle(tx14,0,1); Text_SetStyle(tx15,0,1); Text_SetStyle(tx16,0,1); Text_SetStyle(tx17,0,1); Text_SetStyle(tx18,0,1); Text_SetStyle(tx19,0,1); 즐거운 하루되세요 > 조르바 님이 쓴 글입니다. > 제목 : 64919 관련하여 재문의 드립니다. > 안녕하세요. 지표를 수정해 주셔서 이제 에러가 나지 않습니다. 감사합니다. 혹시, 그림파일 처럼 수정이 가능할지 다시한번 여쭤봅니다. 저점, 고점이 완성되면 피보나치 수평선이 그려지는데 맞지만, 별표 부분에서부터 길게 표시가 되니 보니 좀 시각적으로 복잡한감이 있습니다. 그래서, 피보나치 수평선은 빨간색 네모박스로 표시한 만큼만 우측라인만 선 표시가 될까요? 또 한가지, 맨 우측 라인선에 38.2%와 61.8%선 숫자표시좀 되게끔 수정부탁드립니다. (해당되는 라인선 밑에 38.2%, 61.8% 표시좀 나오게 해주세요) 미리 감사하다는 말씀드립니다. -------------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. Input:chngRate(0.3),굵기(1); input : Per1(0),Per2(23.6),Per3(38.2),Per4(50.0),Per5(61.8),Per6(76.4),Per7(100),Per8(123.6),Per9(161.8); Var : j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); var : TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0); var : Tx11(0),Tx12(0),Tx13(0),Tx14(0),Tx15(0),Tx16(0),Tx17(0),Tx18(0),Tx19(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H; Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0); If Condition1 Then { lastHiVal = H; lastLoVal = 0; } If Condition2 Then { lastLoVal = L; lastHiVal = 0; } turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); value1 = valArr[1]-valArr[2]; TL_Delete(TL11); TL_Delete(TL12); TL_Delete(TL13); TL_Delete(TL14); TL_Delete(TL15); TL_Delete(TL16); TL_Delete(TL17); TL_Delete(TL18); TL_Delete(TL19); TL_SetExtRight(TL11,False); TL_SetExtRight(TL12,False); TL_SetExtRight(TL13,False); TL_SetExtRight(TL14,False); TL_SetExtRight(TL15,False); TL_SetExtRight(TL16,False); TL_SetExtRight(TL17,False); TL_SetExtRight(TL18,False); TL_SetExtRight(TL19,False); TL11 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per1/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per1/100)); TL12 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per2/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per2/100)); TL13 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per3/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per3/100)); TL14 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per4/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per4/100)); TL15 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per5/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per5/100)); TL16 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per6/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per6/100)); TL17 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per7/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per7/100)); TL18 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per8/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per8/100)); TL19 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per9/100),sDate[barArr[1]],sTime[barArr[1]],valArr[1]-value1*(per9/100)); TL_SetExtRight(TL11,true); TL_SetExtRight(TL12,true); TL_SetExtRight(TL13,true); TL_SetExtRight(TL14,true); TL_SetExtRight(TL15,true); TL_SetExtRight(TL16,true); TL_SetExtRight(TL17,true); TL_SetExtRight(TL18,true); TL_SetExtRight(TL19,true); TL_SetColor(TL11,RED); TL_SetColor(TL12,BLUE); TL_SetColor(TL13,MAGENTA); TL_SetColor(TL14,YELLOW); TL_SetColor(TL15,GRAY); TL_SetColor(TL16,GREEN); TL_SetColor(TL17,BLUE); TL_SetColor(TL18,PINK); TL_SetColor(TL19,Lblue); TL_SetSize(TL11,굵기); TL_SetSize(TL12,굵기); TL_SetSize(TL13,굵기); TL_SetSize(TL14,굵기); TL_SetSize(TL15,굵기); TL_SetSize(TL16,굵기); TL_SetSize(TL17,굵기); TL_SetSize(TL18,굵기); TL_SetSize(TL19,굵기); tx11 = Text_New(sdate,stime,TL_GetValue(TL11,sdate,stime),NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")"); tx12 = Text_New(sdate,stime,TL_GetValue(TL12,sdate,stime),NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")"); tx13 = Text_New(sdate,stime,TL_GetValue(TL13,sdate,stime),NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")"); tx14 = Text_New(sdate,stime,TL_GetValue(TL14,sdate,stime),NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")"); tx15 = Text_New(sdate,stime,TL_GetValue(TL15,sdate,stime),NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")"); tx16 = Text_New(sdate,stime,TL_GetValue(TL16,sdate,stime),NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")"); tx17 = Text_New(sdate,stime,TL_GetValue(TL17,sdate,stime),NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")"); tx18 = Text_New(sdate,stime,TL_GetValue(TL18,sdate,stime),NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")"); tx19 = Text_New(sdate,stime,TL_GetValue(TL19,sdate,stime),NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")"); Text_Delete(Tx11); Text_Delete(Tx12); Text_Delete(Tx13); Text_Delete(Tx14); Text_Delete(Tx15); Text_Delete(Tx16); Text_Delete(Tx17); Text_Delete(Tx18); Text_Delete(Tx19); Text_SetStyle(tx11,2,1); Text_SetStyle(tx12,2,1); Text_SetStyle(tx13,2,1); Text_SetStyle(tx14,2,1); Text_SetStyle(tx15,2,1); Text_SetStyle(tx16,2,1); Text_SetStyle(tx17,2,1); Text_SetStyle(tx18,2,1); Text_SetStyle(tx19,2,1); } Else { value1 = valArr[1]-valArr[2]; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetBegin(TL11,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per1/100)); TL_SetEnd(TL11,sDate,sTime,valArr[1]-value1*(per1/100)); TL_SetBegin(TL12,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per2/100)); TL_SetEnd(TL12,sDate,sTime,valArr[1]-value1*(per2/100)); TL_SetBegin(TL13,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per3/100)); TL_SetEnd(TL13,sDate,sTime,valArr[1]-value1*(per3/100)); TL_SetBegin(TL14,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per4/100)); TL_SetEnd(TL14,sDate,sTime,valArr[1]-value1*(per4/100)); TL_SetBegin(TL15,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per5/100)); TL_SetEnd(TL15,sDate,sTime,valArr[1]-value1*(per5/100)); TL_SetBegin(TL16,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per6/100)); TL_SetEnd(TL16,sDate,sTime,valArr[1]-value1*(per6/100)); TL_SetBegin(TL17,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per7/100)); TL_SetEnd(TL17,sDate,sTime,valArr[1]-value1*(per7/100)); TL_SetBegin(TL18,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per8/100)); TL_SetEnd(TL18,sDate,sTime,valArr[1]-value1*(per8/100)); TL_SetBegin(TL19,sDate[barArr[2]],sTime[barArr[2]],valArr[1]-value1*(per9/100)); TL_SetEnd(TL19,sDate,sTime,valArr[1]-value1*(per9/100)); Text_SetLocation(Tx11,sdate,stime,TL_GetValue(TL11,sdate,stime)); Text_SetLocation(Tx12,sdate,stime,TL_GetValue(TL12,sdate,stime)); Text_SetLocation(Tx13,sdate,stime,TL_GetValue(TL13,sdate,stime)); Text_SetLocation(Tx14,sdate,stime,TL_GetValue(TL14,sdate,stime)); Text_SetLocation(Tx15,sdate,stime,TL_GetValue(TL15,sdate,stime)); Text_SetLocation(Tx16,sdate,stime,TL_GetValue(TL16,sdate,stime)); Text_SetLocation(Tx17,sdate,stime,TL_GetValue(TL17,sdate,stime)); Text_SetLocation(Tx18,sdate,stime,TL_GetValue(TL18,sdate,stime)); Text_SetLocation(Tx19,sdate,stime,TL_GetValue(TL19,sdate,stime)); Text_SetString(Tx11,NumToStr(Per1,2)+"%("+NumToStr(TL_GetValue(TL11,sdate,stime),2)+")"); Text_SetString(Tx12,NumToStr(Per2,2)+"%("+NumToStr(TL_GetValue(TL12,sdate,stime),2)+")"); Text_SetString(Tx13,NumToStr(Per3,2)+"%("+NumToStr(TL_GetValue(TL13,sdate,stime),2)+")"); Text_SetString(Tx14,NumToStr(Per4,2)+"%("+NumToStr(TL_GetValue(TL14,sdate,stime),2)+")"); Text_SetString(Tx15,NumToStr(Per5,2)+"%("+NumToStr(TL_GetValue(TL15,sdate,stime),2)+")"); Text_SetString(Tx16,NumToStr(Per6,2)+"%("+NumToStr(TL_GetValue(TL16,sdate,stime),2)+")"); Text_SetString(Tx17,NumToStr(Per7,2)+"%("+NumToStr(TL_GetValue(TL17,sdate,stime),2)+")"); Text_SetString(Tx18,NumToStr(Per8,2)+"%("+NumToStr(TL_GetValue(TL18,sdate,stime),2)+")"); Text_SetString(Tx19,NumToStr(Per9,2)+"%("+NumToStr(TL_GetValue(TL19,sdate,stime),2)+")"); } } } TL_SetSize(TL1,굵기); TL_SetColor(TL1,black); plot1(valArr[1]); plot2(valArr[2]); 즐거운 하루되세요 > 조르바 님이 쓴 글입니다. > 제목 : 수정좀 부탁드리겠습니다. > 안녕하세요. 아래수식이 정상적으로 나올때도 있지만, 그림파일처럼 수평선으로 표시가 안되고 에러가 나는 경우가 빈번합니다. (그림파일) 에러가 나지않게끔 확인좀 부탁드리겠습니다. 항상 감사드립니다.