커뮤니티

수정부탁드립니다

프로필 이미지
외국인
2022-12-14 22:00:36
905
글번호 164597
답변완료
수정부탁드립니다. Input:length사각(12),상승색c(Red),하락색c(Lime),색상두께c(60); Var:j사각(0),lastHiVal사각(0),lastLoVal사각(0),sBar사각(0),eBar사각(0),TL1사각(0),TL2사각(0), Text1사각(0),처리구분사각(""),T사각(0); Array:고점사각[10,2](0),저점사각[10,2](0); //가격,위치 var : d1(0),t1(0),hh(0),ll(0),cdbox(0); 처리구분사각 = ""; If Highest(H,length사각) == H and lastHiVal사각 <> H and Lowest(L,length사각) == L and lastLoVal사각 <> L Then { If 저점사각[1,1] > L Then 처리구분사각 = "저점사각처리"; If 고점사각[1,1] < H Then 처리구분사각 = "고점사각처리"; } Else If Highest(H,length사각) == H and lastHiVal사각 <> H Then 처리구분사각 = "고점사각처리"; Else If Lowest(L,length사각) == L and lastLoVal사각 <> L Then 처리구분사각 = "저점사각처리"; If 처리구분사각 == "고점사각처리" Then { lastHiVal사각 = H; If 고점사각[1,2] < 저점사각[1,2] Then { For j사각 = 10 DownTo 2 { 고점사각[j사각,1] = 고점사각[j사각-1,1]; 고점사각[j사각,2] = 고점사각[j사각-1,2]; } } If 고점사각[1,2] < 저점사각[1,2] or 고점사각[1,1] < H Then { 고점사각[1,1] = H; 고점사각[1,2] = Index; sBar사각 = Index - 저점사각[1,2]; eBar사각 = 0; If TL_GetBeginDate(TL1사각) == sDate[sBar사각] and TL_GetBeginTime(TL1사각) == sTime[sBar사각] Then { TL_Delete(TL1사각); TL_Delete(TL2사각); Text_Delete(Text1사각); } TL1사각 = TL_New(sDate[sBar사각],sTime[sBar사각],저점사각[1,1], sDate[eBar사각],sTime[eBar사각],고점사각[1,1]); TL2사각 = TL_New(sDate[sBar사각],sTime[sBar사각],저점사각[1,1], sDate[eBar사각],sTime[eBar사각],저점사각[1,1]); cdbox = box_new(sDate[sBar사각],sTime[sBar사각],고점사각[1,1],NextBarSdate,NextBarStime,L); Box_SetColor(cdbox,상승색c); Box_SetFill(cdbox,true,색상두께c); Box_SetExtFill(cdbox,true); Text1사각 = Text_New(sDate[eBar사각],sTime[eBar사각],고점사각[1,1], NumToStr(고점사각[1,1],2)); Text_SetStyle(Text1사각, 2, 1); TL_SetSize(TL2사각,2); TL_SetColor(TL2사각,REd); } Box_SetEnd(cdbox,NextBarSdate,NextBarStime,ll); } If 처리구분사각 == "저점사각처리" Then { lastLoVal사각 = L; If 저점사각[1,2] < 고점사각[1,2] then { For j사각 = 10 DownTo 2 { 저점사각[j사각,1] = 저점사각[j사각-1,1]; 저점사각[j사각,2] = 저점사각[j사각-1,2]; } } If 저점사각[1,2] < 고점사각[1,2] or 저점사각[1,1] > L then { 저점사각[1,1] = L; 저점사각[1,2] = Index; sBar사각 = Index - 고점사각[1,2]; eBar사각 = 0; If TL_GetBeginDate(TL1사각) == sDate[sBar사각] and TL_GetBeginTime(TL1사각) == sTime[sBar사각] Then { TL_Delete(TL1사각); TL_Delete(TL2사각); Text_Delete(Text1사각); } TL1사각 = TL_New(sDate[sBar사각],sTime[sBar사각],고점사각[1,1], sDate[eBar사각],sTime[eBar사각],저점사각[1,1]); TL2사각 = TL_New(sDate[sBar사각],sTime[sBar사각],고점사각[1,1], sDate[eBar사각],sTime[eBar사각],고점사각[1,1]); cdbox = box_new(sDate[sBar사각],sTime[sBar사각],고점사각[1,1],NextBarSdate,NextBarStime,L); Box_SetColor(cdbox,하락색c); Box_SetFill(cdbox,true,색상두께c); Box_SetExtFill(cdbox,true); Text1사각 = Text_New(sDate[eBar사각],sTime[eBar사각],저점사각[1,1], NumToStr(저점사각[1,1],2)); Text_SetStyle(Text1사각, 2, 0); TL_SetSize(TL2사각,2); TL_SetColor(TL2사각,BLUe); } Box_SetEnd(cdbox,NextBarSdate,NextBarStime,저점사각[1,1]); } TL_SetSize(TL1사각,2); TL_SetColor(TL1사각,red);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-12-15 11:11:29

안녕하세요. 예스스탁입니다. 박스가 중첩으로 호출되고 새로운 추세변경시 이전 그려진 박스가 이전 고점/저점으로 이동되게 하셔야 합니다. Input:length사각(12),상승색c(Red),하락색c(Lime),색상두께c(60); Var:j사각(0),lastHiVal사각(0),lastLoVal사각(0),sBar사각(0),eBar사각(0),TL1사각(0),TL2사각(0), Text1사각(0),처리구분사각(""),T사각(0); Array:고점사각[10,2](0),저점사각[10,2](0); //가격,위치 var : d1(0),t1(0),hh(0),ll(0),cdbox(0),T(0); 처리구분사각 = ""; If Highest(H,length사각) == H and lastHiVal사각 <> H and Lowest(L,length사각) == L and lastLoVal사각 <> L Then { If 저점사각[1,1] > L Then 처리구분사각 = "저점사각처리"; If 고점사각[1,1] < H Then 처리구분사각 = "고점사각처리"; } Else If Highest(H,length사각) == H and lastHiVal사각 <> H Then 처리구분사각 = "고점사각처리"; Else If Lowest(L,length사각) == L and lastLoVal사각 <> L Then 처리구분사각 = "저점사각처리"; If 처리구분사각 == "고점사각처리" Then { T = 1; lastHiVal사각 = H; If 고점사각[1,2] < 저점사각[1,2] Then { For j사각 = 10 DownTo 2 { 고점사각[j사각,1] = 고점사각[j사각-1,1]; 고점사각[j사각,2] = 고점사각[j사각-1,2]; } } If 고점사각[1,2] < 저점사각[1,2] or 고점사각[1,1] < H Then { 고점사각[1,1] = H; 고점사각[1,2] = Index; sBar사각 = Index - 저점사각[1,2]; eBar사각 = 0; If TL_GetBeginDate(TL1사각) == sDate[sBar사각] and TL_GetBeginTime(TL1사각) == sTime[sBar사각] Then { TL_Delete(TL1사각); TL_Delete(TL2사각); Text_Delete(Text1사각); Box_Delete(cdbox); } TL1사각 = TL_New(sDate[sBar사각],sTime[sBar사각],저점사각[1,1], sDate[eBar사각],sTime[eBar사각],고점사각[1,1]); TL2사각 = TL_New(sDate[sBar사각],sTime[sBar사각],저점사각[1,1], sDate[eBar사각],sTime[eBar사각],저점사각[1,1]); Box_SetEnd(cdbox,sDate[sBar사각],sTime[sBar사각],저점사각[1,1]); cdbox = box_new(sDate[sBar사각],sTime[sBar사각],고점사각[1,1],NextBarSdate,NextBarStime,L); Box_SetColor(cdbox,상승색c); Box_SetFill(cdbox,true,색상두께c); Box_SetExtFill(cdbox,true); Text1사각 = Text_New(sDate[eBar사각],sTime[eBar사각],고점사각[1,1], NumToStr(고점사각[1,1],2)); Text_SetStyle(Text1사각, 2, 1); TL_SetSize(TL2사각,2); TL_SetColor(TL2사각,REd); } } If 처리구분사각 == "저점사각처리" Then { T = -1; lastLoVal사각 = L; If 저점사각[1,2] < 고점사각[1,2] then { For j사각 = 10 DownTo 2 { 저점사각[j사각,1] = 저점사각[j사각-1,1]; 저점사각[j사각,2] = 저점사각[j사각-1,2]; } } If 저점사각[1,2] < 고점사각[1,2] or 저점사각[1,1] > L then { 저점사각[1,1] = L; 저점사각[1,2] = Index; sBar사각 = Index - 고점사각[1,2]; eBar사각 = 0; If TL_GetBeginDate(TL1사각) == sDate[sBar사각] and TL_GetBeginTime(TL1사각) == sTime[sBar사각] Then { TL_Delete(TL1사각); TL_Delete(TL2사각); Text_Delete(Text1사각); Box_Delete(cdbox); } TL1사각 = TL_New(sDate[sBar사각],sTime[sBar사각],고점사각[1,1], sDate[eBar사각],sTime[eBar사각],저점사각[1,1]); TL2사각 = TL_New(sDate[sBar사각],sTime[sBar사각],고점사각[1,1], sDate[eBar사각],sTime[eBar사각],고점사각[1,1]); Box_SetEnd(cdbox,sDate[sBar사각],sTime[sBar사각],고점사각[1,1]); cdbox = box_new(sDate[sBar사각],sTime[sBar사각],고점사각[1,1],NextBarSdate,NextBarStime,L); Box_SetColor(cdbox,하락색c); Box_SetFill(cdbox,true,색상두께c); Box_SetExtFill(cdbox,true); Text1사각 = Text_New(sDate[eBar사각],sTime[eBar사각],저점사각[1,1], NumToStr(저점사각[1,1],2)); Text_SetStyle(Text1사각, 2, 0); TL_SetSize(TL2사각,2); TL_SetColor(TL2사각,BLUe); } } TL_SetSize(TL1사각,2); TL_SetColor(TL1사각,red); if T == 1 Then Box_SetEnd(cdbox,NextBarSdate,NextBarStime,ll); Else Box_SetEnd(cdbox,NextBarSdate,NextBarStime,저점사각[1,1]); 즐거운 하루 되세요. > 외국인 님이 쓴 글입니다. > 제목 : 수정부탁드립니다 > 수정부탁드립니다. Input:length사각(12),상승색c(Red),하락색c(Lime),색상두께c(60); Var:j사각(0),lastHiVal사각(0),lastLoVal사각(0),sBar사각(0),eBar사각(0),TL1사각(0),TL2사각(0), Text1사각(0),처리구분사각(""),T사각(0); Array:고점사각[10,2](0),저점사각[10,2](0); //가격,위치 var : d1(0),t1(0),hh(0),ll(0),cdbox(0); 처리구분사각 = ""; If Highest(H,length사각) == H and lastHiVal사각 <> H and Lowest(L,length사각) == L and lastLoVal사각 <> L Then { If 저점사각[1,1] > L Then 처리구분사각 = "저점사각처리"; If 고점사각[1,1] < H Then 처리구분사각 = "고점사각처리"; } Else If Highest(H,length사각) == H and lastHiVal사각 <> H Then 처리구분사각 = "고점사각처리"; Else If Lowest(L,length사각) == L and lastLoVal사각 <> L Then 처리구분사각 = "저점사각처리"; If 처리구분사각 == "고점사각처리" Then { lastHiVal사각 = H; If 고점사각[1,2] < 저점사각[1,2] Then { For j사각 = 10 DownTo 2 { 고점사각[j사각,1] = 고점사각[j사각-1,1]; 고점사각[j사각,2] = 고점사각[j사각-1,2]; } } If 고점사각[1,2] < 저점사각[1,2] or 고점사각[1,1] < H Then { 고점사각[1,1] = H; 고점사각[1,2] = Index; sBar사각 = Index - 저점사각[1,2]; eBar사각 = 0; If TL_GetBeginDate(TL1사각) == sDate[sBar사각] and TL_GetBeginTime(TL1사각) == sTime[sBar사각] Then { TL_Delete(TL1사각); TL_Delete(TL2사각); Text_Delete(Text1사각); } TL1사각 = TL_New(sDate[sBar사각],sTime[sBar사각],저점사각[1,1], sDate[eBar사각],sTime[eBar사각],고점사각[1,1]); TL2사각 = TL_New(sDate[sBar사각],sTime[sBar사각],저점사각[1,1], sDate[eBar사각],sTime[eBar사각],저점사각[1,1]); cdbox = box_new(sDate[sBar사각],sTime[sBar사각],고점사각[1,1],NextBarSdate,NextBarStime,L); Box_SetColor(cdbox,상승색c); Box_SetFill(cdbox,true,색상두께c); Box_SetExtFill(cdbox,true); Text1사각 = Text_New(sDate[eBar사각],sTime[eBar사각],고점사각[1,1], NumToStr(고점사각[1,1],2)); Text_SetStyle(Text1사각, 2, 1); TL_SetSize(TL2사각,2); TL_SetColor(TL2사각,REd); } Box_SetEnd(cdbox,NextBarSdate,NextBarStime,ll); } If 처리구분사각 == "저점사각처리" Then { lastLoVal사각 = L; If 저점사각[1,2] < 고점사각[1,2] then { For j사각 = 10 DownTo 2 { 저점사각[j사각,1] = 저점사각[j사각-1,1]; 저점사각[j사각,2] = 저점사각[j사각-1,2]; } } If 저점사각[1,2] < 고점사각[1,2] or 저점사각[1,1] > L then { 저점사각[1,1] = L; 저점사각[1,2] = Index; sBar사각 = Index - 고점사각[1,2]; eBar사각 = 0; If TL_GetBeginDate(TL1사각) == sDate[sBar사각] and TL_GetBeginTime(TL1사각) == sTime[sBar사각] Then { TL_Delete(TL1사각); TL_Delete(TL2사각); Text_Delete(Text1사각); } TL1사각 = TL_New(sDate[sBar사각],sTime[sBar사각],고점사각[1,1], sDate[eBar사각],sTime[eBar사각],저점사각[1,1]); TL2사각 = TL_New(sDate[sBar사각],sTime[sBar사각],고점사각[1,1], sDate[eBar사각],sTime[eBar사각],고점사각[1,1]); cdbox = box_new(sDate[sBar사각],sTime[sBar사각],고점사각[1,1],NextBarSdate,NextBarStime,L); Box_SetColor(cdbox,하락색c); Box_SetFill(cdbox,true,색상두께c); Box_SetExtFill(cdbox,true); Text1사각 = Text_New(sDate[eBar사각],sTime[eBar사각],저점사각[1,1], NumToStr(저점사각[1,1],2)); Text_SetStyle(Text1사각, 2, 0); TL_SetSize(TL2사각,2); TL_SetColor(TL2사각,BLUe); } Box_SetEnd(cdbox,NextBarSdate,NextBarStime,저점사각[1,1]); } TL_SetSize(TL1사각,2); TL_SetColor(TL1사각,red);