커뮤니티

부탁드립니다 항상 감사합니다

프로필 이미지
윤호석
2025-05-16 08:05:25
219
글번호 190860
답변완료
var : cnt(0); Array: WO , WH , WL , WC ; // 배열 크기 및 초기값 지정 // 월요일이거나 차트 시작 지점인 경우 → 새로운 주 시작 if DayOfWeek(Date) = 1 or Index = 0 then Begin WO[0] = O; // 주 시가 WH[0] = H; // 주 고가 초기화 WL[0] = L; // 주 저가 초기화 // 과거 데이터 1칸씩 이동 (최신 → 뒤로 밀기) For cnt = 49 downto 1 Begin WO[cnt] = WO[cnt - 1]; WH[cnt] = WH[cnt - 1]; WL[cnt] = WL[cnt - 1]; WC[cnt] = WC[cnt - 1]; End; End; // 주중 고가 갱신 if WH[0] > 0 and H > WH[0] then WH[0] = H; // 주중 저가 갱신 if WL[0] > 0 and L < WL[0] then WL[0] = L; // 종가는 매일 갱신 WC[0] = C; // 시각화 출력 if WO[0] > 0 then Begin Plot1(WO[0], "주봉시가"); Plot2(WH[0], "주봉고가"); Plot3(WL[0], "주봉저가"); Plot 2.Input: 표시여부(True), 박스표시(True), 선표시(True), 텍스트표시(True), 연장일수(5); Var: cnt(0), vtl(0), BoxID(0), TxtID(0); Array: WO, WH, WL, WC; If (DayOfWeek(Date) = 1 Or Index = 0) And 표시여부 Then Begin WO[0] = O; WH[0] = H; WL[0] = L; For cnt = 49 Downto 1 Begin WO[cnt] = WO[cnt - 1]; WH[cnt] = WH[cnt - 1]; WL[cnt] = WL[cnt - 1]; WC[cnt] = WC[cnt - 1]; End; End; If WH[0] > 0 And H > WH[0] Then WH[0] = H; If WL[0] > 0 And L < WL[0] Then WL[0] = L; WC[0] = C; If WO[0] > 0 And 표시여부 Then Begin If 선표시 Then Begin vtl = TL_New(Date, Time, WO[0], Date + 연장일수, WO[0]); TL_SetColor(vtl, Cyan); vtl = TL_New(Date, Time, WH[0], Date + 연장일수, WH[0]); TL_SetColor(vtl, Red); vtl = TL_New(Date, Time, WL[0], Date + 연장일수, WL[0]); TL_SetColor(vtl, Blue); vtl = TL_New(Date, Time, WC[0], Date + 연장일수, WC[0]); TL_SetColor(vtl, Yellow); End; If 박스표시 Then Begin BoxID = Box_New(Date, Time, WH[0], Date + 연장일수, WL[0]); Box_SetFillColor(BoxID, PaleGreen); End; If 텍스트표시 Then Begin TxtID = Text_New(Date, Time, WH[0] + 1, "주 고가: " + NumToStr(WH[0], 2)); Text_SetColor(TxtID, Red); End; End; 3.Input: 표시여부(True), 박스표시(True), 선표시(True), 텍스트표시(True), 연장일수(5); Var: cnt(0), vtl(0), BoxID(0), TxtID(0); Array: WO, WH, WL, WC; If (DayOfWeek(Date) = 1 Or Index = 0) And 표시여부 Then Begin WO[0] = O; WH[0] = H; WL[0] = L; For cnt = 49 Downto 1 Begin WO[cnt] = WO[cnt - 1]; WH[cnt] = WH[cnt - 1]; WL[cnt] = WL[cnt - 1]; WC[cnt] = WC[cnt - 1]; End; End; If WH[0] > 0 And H > WH[0] Then WH[0] = H; If WL[0] > 0 And L < WL[0] Then WL[0] = L; WC[0] = C; If WO[0] > 0 And 표시여부 Then Begin If 선표시 Then Begin vtl = TL_New(Date, Time, WO[0], Date + 연장일수, WO[0]); TL_SetColor(vtl, Cyan); vtl = TL_New(Date, Time, WH[0], Date + 연장일수, WH[0]); TL_SetColor(vtl, Red); vtl = TL_New(Date, Time, WL[0], Date + 연장일수, WL[0]); TL_SetColor(vtl, Blue); vtl = TL_New(Date, Time, WC[0], Date + 연장일수, WC[0]); TL_SetColor(vtl, Yellow); End; If 박스표시 Then Begin BoxID = Box_New(Date, Time, WH[0], Date + 연장일수, WL[0]); Box_SetFillColor(BoxID, PaleGreen); End; If 텍스트표시 Then Begin TxtID = Text_New(Date, Time, WH[0] + 1, "주 고가: " + NumToStr(WH[0], 2)); Text_SetColor(TxtID, Red); End; End; 오류수정 부탁드립니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-05-16 15:22:09

안녕하세요 예스스탁입니다. 2번, 3번은 내용상 같은 식입니다. 1 var : cnt(0); Array : WO[50](0), WH[50](0), WL[50](0), WC[50](0); // 배열 크기 및 초기값 지정 // 월요일이거나 차트 시작 지점인 경우 → 새로운 주 시작 if (Bdate != bdate[1] and DayOfWeek(Bdate) <= DayOfWeek(Bdate[1])) or Index == 0 then Begin WO[0] = O; // 주 시가 WH[0] = H; // 주 고가 초기화 WL[0] = L; // 주 저가 초기화 // 과거 데이터 1칸씩 이동 (최신 → 뒤로 밀기) For cnt = 49 downto 1 Begin WO[cnt] = WO[cnt - 1]; WH[cnt] = WH[cnt - 1]; WL[cnt] = WL[cnt - 1]; WC[cnt] = WC[cnt - 1]; End; End; // 주중 고가 갱신 if WH[0] > 0 and H > WH[0] then WH[0] = H; // 주중 저가 갱신 if WL[0] > 0 and L < WL[0] then WL[0] = L; // 종가는 매일 갱신 WC[0] = C; // 시각화 출력 if WO[0] > 0 then Begin Plot1(WO[0], "주봉시가"); Plot2(WH[0], "주봉고가"); Plot3(WL[0], "주봉저가"); Plot4(WC[0], "주봉종가"); End; 2 Input: 표시여부(True), 박스표시(True), 선표시(True), 텍스트표시(True), 연장일수(5); Var: cnt(0), vt1(0),vt2(0),vt3(0),vt4(0), BoxID(0), TxtID(0); Array : WO[50](0), WH[50](0), WL[50](0), WC[50](0); // 배열 크기 및 초기값 지정 if (Bdate != Bdate[1] and DayOfWeek(Bdate) <= DayOfWeek(Bdate[1])) or Index == 0 then Begin For cnt = 49 Downto 1 Begin WO[cnt] = WO[cnt - 1]; WH[cnt] = WH[cnt - 1]; WL[cnt] = WL[cnt - 1]; WC[cnt] = WC[cnt - 1]; end; WO[0] = O; WH[0] = H; WL[0] = L; If WO[0] > 0 And 표시여부 Then Begin If 선표시 Then Begin vt1 = TL_New(sDate, sTime, WO[0],NextBarSdate,NextBarStime, WO[0]); TL_SetColor(vt1, Cyan); vt2 = TL_New(sDate, sTime, WH[0],NextBarSdate,NextBarStime, WH[0]); TL_SetColor(vt2, Red); vt3 = TL_New(sDate, sTime, WL[0],NextBarSdate,NextBarStime, WL[0]); TL_SetColor(vt3, Blue); vt4 = TL_New(sDate, sTime, WC[0],NextBarSdate,NextBarStime, WC[0]); TL_SetColor(vt4, Yellow); end; If 박스표시 Then Begin BoxID = Box_New(sDate, sTime, WH[0],NextBarSdate,NextBarStime, WL[0]); Box_SetColor(BoxID, Green); Box_SetFill(boxID,true); End; If 텍스트표시 Then Begin TxtID = Text_New(sDate,sTime, WH[0] + 1, "주 고가: " + NumToStr(WH[0], 2)); Text_SetColor(TxtID, Red); End; end; end Else Begin If WH[0] > 0 And H > WH[0] Then WH[0] = H; If WL[0] > 0 And L < WL[0] Then WL[0] = L; WC[0] = C; If WO[0] > 0 And 표시여부 Then Begin TL_SetEnd(vt1,NextBarSdate,NextBarStime,WO[0]); TL_SetBegin(Vt2,TL_GetBeginDate(vt2),TL_GetBeginTime(vt2),WH[0]); TL_SetEnd(vt2,NextBarSdate,NextBarStime,WH[0]); TL_SetBegin(Vt3,TL_GetBeginDate(vt3),TL_GetBeginTime(vt3),WL[0]); TL_SetEnd(vt3,NextBarSdate,NextBarStime,WL[0]); TL_SetBegin(Vt4,TL_GetBeginDate(vt4),TL_GetBeginTime(vt4),WC[0]); TL_SetEnd(vt4,NextBarSdate,NextBarStime,WC[0]); Box_SetBegin(BoxID,Box_GetBeginDate(BoxID),Box_GetBeginTime(BoxID),WH[0]); Box_SetEnd(BoxID,NextBarSdate,NextBarStime,WL[0]); end; end; 즐거운 하루되세요 > 윤호석 님이 쓴 글입니다. > 제목 : 부탁드립니다 항상 감사합니다 > var : cnt(0); Array: WO , WH , WL , WC ; // 배열 크기 및 초기값 지정 // 월요일이거나 차트 시작 지점인 경우 → 새로운 주 시작 if DayOfWeek(Date) = 1 or Index = 0 then Begin WO[0] = O; // 주 시가 WH[0] = H; // 주 고가 초기화 WL[0] = L; // 주 저가 초기화 // 과거 데이터 1칸씩 이동 (최신 → 뒤로 밀기) For cnt = 49 downto 1 Begin WO[cnt] = WO[cnt - 1]; WH[cnt] = WH[cnt - 1]; WL[cnt] = WL[cnt - 1]; WC[cnt] = WC[cnt - 1]; End; End; // 주중 고가 갱신 if WH[0] > 0 and H > WH[0] then WH[0] = H; // 주중 저가 갱신 if WL[0] > 0 and L < WL[0] then WL[0] = L; // 종가는 매일 갱신 WC[0] = C; // 시각화 출력 if WO[0] > 0 then Begin Plot1(WO[0], "주봉시가"); Plot2(WH[0], "주봉고가"); Plot3(WL[0], "주봉저가"); Plot 2.Input: 표시여부(True), 박스표시(True), 선표시(True), 텍스트표시(True), 연장일수(5); Var: cnt(0), vtl(0), BoxID(0), TxtID(0); Array: WO, WH, WL, WC; If (DayOfWeek(Date) = 1 Or Index = 0) And 표시여부 Then Begin WO[0] = O; WH[0] = H; WL[0] = L; For cnt = 49 Downto 1 Begin WO[cnt] = WO[cnt - 1]; WH[cnt] = WH[cnt - 1]; WL[cnt] = WL[cnt - 1]; WC[cnt] = WC[cnt - 1]; End; End; If WH[0] > 0 And H > WH[0] Then WH[0] = H; If WL[0] > 0 And L < WL[0] Then WL[0] = L; WC[0] = C; If WO[0] > 0 And 표시여부 Then Begin If 선표시 Then Begin vtl = TL_New(Date, Time, WO[0], Date + 연장일수, WO[0]); TL_SetColor(vtl, Cyan); vtl = TL_New(Date, Time, WH[0], Date + 연장일수, WH[0]); TL_SetColor(vtl, Red); vtl = TL_New(Date, Time, WL[0], Date + 연장일수, WL[0]); TL_SetColor(vtl, Blue); vtl = TL_New(Date, Time, WC[0], Date + 연장일수, WC[0]); TL_SetColor(vtl, Yellow); End; If 박스표시 Then Begin BoxID = Box_New(Date, Time, WH[0], Date + 연장일수, WL[0]); Box_SetFillColor(BoxID, PaleGreen); End; If 텍스트표시 Then Begin TxtID = Text_New(Date, Time, WH[0] + 1, "주 고가: " + NumToStr(WH[0], 2)); Text_SetColor(TxtID, Red); End; End; 3.Input: 표시여부(True), 박스표시(True), 선표시(True), 텍스트표시(True), 연장일수(5); Var: cnt(0), vtl(0), BoxID(0), TxtID(0); Array: WO, WH, WL, WC; If (DayOfWeek(Date) = 1 Or Index = 0) And 표시여부 Then Begin WO[0] = O; WH[0] = H; WL[0] = L; For cnt = 49 Downto 1 Begin WO[cnt] = WO[cnt - 1]; WH[cnt] = WH[cnt - 1]; WL[cnt] = WL[cnt - 1]; WC[cnt] = WC[cnt - 1]; End; End; If WH[0] > 0 And H > WH[0] Then WH[0] = H; If WL[0] > 0 And L < WL[0] Then WL[0] = L; WC[0] = C; If WO[0] > 0 And 표시여부 Then Begin If 선표시 Then Begin vtl = TL_New(Date, Time, WO[0], Date + 연장일수, WO[0]); TL_SetColor(vtl, Cyan); vtl = TL_New(Date, Time, WH[0], Date + 연장일수, WH[0]); TL_SetColor(vtl, Red); vtl = TL_New(Date, Time, WL[0], Date + 연장일수, WL[0]); TL_SetColor(vtl, Blue); vtl = TL_New(Date, Time, WC[0], Date + 연장일수, WC[0]); TL_SetColor(vtl, Yellow); End; If 박스표시 Then Begin BoxID = Box_New(Date, Time, WH[0], Date + 연장일수, WL[0]); Box_SetFillColor(BoxID, PaleGreen); End; If 텍스트표시 Then Begin TxtID = Text_New(Date, Time, WH[0] + 1, "주 고가: " + NumToStr(WH[0], 2)); Text_SetColor(TxtID, Red); End; End; 오류수정 부탁드립니다