커뮤니티

수식수정

프로필 이미지
알리섬
2022-10-22 19:32:41
932
글번호 163212
답변완료
안녕하세요 늘 도움 감사드립니다. 아래의 수식으로 원하는 시간을 지정해서 볼수 있도록 수정부탁드립니다 그리고 가격이 표시 될수 있도록 해주시면 더 감사합니다. 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
프로필 이미지

예스스탁 예스스탁 답변

2022-10-24 14:55: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](""); var : Tcond(false); 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,굵기); 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(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_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); } 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); 즐거운 하루되세요 > 알리섬 님이 쓴 글입니다. > 제목 : 수식수정 > 안녕하세요 늘 도움 감사드립니다. 아래의 수식으로 원하는 시간을 지정해서 볼수 있도록 수정부탁드립니다 그리고 가격이 표시 될수 있도록 해주시면 더 감사합니다. 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]);