커뮤니티

부탁드립니다

프로필 이미지
크라켄
2022-02-25 11:12:29
1166
글번호 156741
답변완료
$,안녕하세요, 아래식에서 N2기간을 ndate 시작일과 종료일로 적용기간을 수정 요청 드립니다 input : N1(3),N2(20),선R(0),선b(0),굵기R(0),굵기b(0); var : P(0),PH(0),PL(0),PM(0),N(0),NH(0),NL(0),NM(0); var : cnt(0); Array : TL1[20](0),TL2[20](0),TL3[20](0),ii[20](0); if C > O Then P = 1; Else P = 0; if C < O Then N = 1; Else N = 0; if P == 1 Then { if P != P[1] Then { PH = H; PL = L; PM = (PH+PL)/2; } Else { if H > PH Then PH = H; if L < PL Then PL = L; PM = (PH+PL)/2; } } if N == 1 Then { if N != N[1] Then { NH = H; NL = L; NM = (NH+NL)/2; } Else { if H > NH Then NH = H; if L < NL Then NL = L; NM = (NH+NL)/2; } } if P == 0 and CountIf(P==1,N1)[1] == N1 Then { var1 = PH[1]; var2 = PL[1]; var3 = PM[1]; ii[0] = Index; TL1[0] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); TL2[0] = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL3[0] = TL_New(sDate,sTime,Var3,NextBarSdate,NextBarStime,var3); For cnt = 1 to 19 { ii[cnt] = ii[cnt-1][1]; TL1[cnt] = TL1[cnt-1][1]; TL2[cnt] = TL2[cnt-1][1]; TL3[cnt] = TL3[cnt-1][1]; } TL_SetColor(TL1[0],RED); TL_SetColor(TL2[0],RED); TL_SetColor(TL3[0],LGREEN); TL_SetExtRight(TL1[0],true); TL_SetExtRight(TL2[0],true); TL_SetExtRight(TL3[0],true); TL_SetStyle(TL1[0],선R); TL_SetStyle(TL2[0],선R); TL_SetStyle(TL3[0],선R); TL_SetSize(TL1[0],굵기R); TL_SetSize(TL2[0],굵기R); TL_SetSize(TL3[0],굵기R); } if N == 0 and CountIf(N==1,N1)[1] == N1 Then { var4 = NH[1]; var5 = NL[1]; var6 = NM[1]; ii[0] = Index; TL1[0] = TL_New(sDate,sTime,var4,NextBarSdate,NextBarStime,var4); TL2[0] = TL_New(sDate,sTime,Var5,NextBarSdate,NextBarStime,Var5); TL3[0] = TL_New(sDate,sTime,var6,NextBarSdate,NextBarStime,var6); For cnt = 1 to 19 { ii[cnt] = ii[cnt-1][1]; TL1[cnt] = TL1[cnt-1][1]; TL2[cnt] = TL2[cnt-1][1]; TL3[cnt] = TL3[cnt-1][1]; } TL_SetColor(TL1[0],BLUE); TL_SetColor(TL2[0],BLUE); TL_SetColor(TL3[0],LGREEN); TL_SetExtRight(TL1[0],true); TL_SetExtRight(TL2[0],true); TL_SetExtRight(TL3[0],true); TL_SetStyle(TL1[0],선b); TL_SetStyle(TL2[0],선b); TL_SetStyle(TL3[0],선b); TL_SetSize(TL1[0],굵기b); TL_SetSize(TL2[0],굵기b); TL_SetSize(TL3[0],굵기b); } for cnt = 0 to 19 { if ii[cnt] > 0 and Index > ii[cnt]+N2 Then { TL_Delete(TL1[cnt]); TL_Delete(TL2[cnt]); TL_Delete(TL3[cnt]); ii[cnt] = 0; } } 감사합니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-02-25 13:32:09

안녕하세요 예스스탁입니다. n2변수를 시작일과 종료일로 변경이 어떤 의미인지 모르겠습니다. 지정한 시작일 이후에 조건만족시 선이 출력되고 지정한 종요일에는 모두 삭제되게 작성해 드립니다. input : N1(3),N2(20),선R(0),선b(0),굵기R(0),굵기b(0); input : 시작일(20220221),종료일(20220228); var : P(0),PH(0),PL(0),PM(0),N(0),NH(0),NL(0),NM(0); var : cnt(0),dd(0),Tcond(False); Array : TL1[20](0),TL2[20](0),TL3[20](0),ii[20](0); if Bdate != Bdate[1] and Bdate == 시작일 Then Tcond = true; if C > O Then P = 1; Else P = 0; if C < O Then N = 1; Else N = 0; if P == 1 Then { if P != P[1] Then { PH = H; PL = L; PM = (PH+PL)/2; } Else { if H > PH Then PH = H; if L < PL Then PL = L; PM = (PH+PL)/2; } } if N == 1 Then { if N != N[1] Then { NH = H; NL = L; NM = (NH+NL)/2; } Else { if H > NH Then NH = H; if L < NL Then NL = L; NM = (NH+NL)/2; } } if Tcond == true and P == 0 and CountIf(P==1,N1)[1] == N1 Then { var1 = PH[1]; var2 = PL[1]; var3 = PM[1]; ii[0] = dd; TL1[0] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); TL2[0] = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL3[0] = TL_New(sDate,sTime,Var3,NextBarSdate,NextBarStime,var3); For cnt = 1 to 19 { ii[cnt] = ii[cnt-1][1]; TL1[cnt] = TL1[cnt-1][1]; TL2[cnt] = TL2[cnt-1][1]; TL3[cnt] = TL3[cnt-1][1]; } TL_SetColor(TL1[0],RED); TL_SetColor(TL2[0],RED); TL_SetColor(TL3[0],LGREEN); TL_SetExtRight(TL1[0],true); TL_SetExtRight(TL2[0],true); TL_SetExtRight(TL3[0],true); TL_SetStyle(TL1[0],선R); TL_SetStyle(TL2[0],선R); TL_SetStyle(TL3[0],선R); TL_SetSize(TL1[0],굵기R); TL_SetSize(TL2[0],굵기R); TL_SetSize(TL3[0],굵기R); } if Tcond == true and N == 0 and CountIf(N==1,N1)[1] == N1 Then { var4 = NH[1]; var5 = NL[1]; var6 = NM[1]; ii[0] = dd; TL1[0] = TL_New(sDate,sTime,var4,NextBarSdate,NextBarStime,var4); TL2[0] = TL_New(sDate,sTime,Var5,NextBarSdate,NextBarStime,Var5); TL3[0] = TL_New(sDate,sTime,var6,NextBarSdate,NextBarStime,var6); For cnt = 1 to 19 { ii[cnt] = ii[cnt-1][1]; TL1[cnt] = TL1[cnt-1][1]; TL2[cnt] = TL2[cnt-1][1]; TL3[cnt] = TL3[cnt-1][1]; } TL_SetColor(TL1[0],BLUE); TL_SetColor(TL2[0],BLUE); TL_SetColor(TL3[0],LGREEN); TL_SetExtRight(TL1[0],true); TL_SetExtRight(TL2[0],true); TL_SetExtRight(TL3[0],true); TL_SetStyle(TL1[0],선b); TL_SetStyle(TL2[0],선b); TL_SetStyle(TL3[0],선b); TL_SetSize(TL1[0],굵기b); TL_SetSize(TL2[0],굵기b); TL_SetSize(TL3[0],굵기b); } if Bdate != Bdate[1] and Bdate == 종료일 Then { Tcond = False; for cnt = 0 to 19 { TL_Delete(TL1[cnt]); TL_Delete(TL2[cnt]); TL_Delete(TL3[cnt]); } } 즐거운 하루되세요 > 크라켄 님이 쓴 글입니다. > 제목 : 부탁드립니다 > $,안녕하세요, 아래식에서 N2기간을 ndate 시작일과 종료일로 적용기간을 수정 요청 드립니다 input : N1(3),N2(20),선R(0),선b(0),굵기R(0),굵기b(0); var : P(0),PH(0),PL(0),PM(0),N(0),NH(0),NL(0),NM(0); var : cnt(0); Array : TL1[20](0),TL2[20](0),TL3[20](0),ii[20](0); if C > O Then P = 1; Else P = 0; if C < O Then N = 1; Else N = 0; if P == 1 Then { if P != P[1] Then { PH = H; PL = L; PM = (PH+PL)/2; } Else { if H > PH Then PH = H; if L < PL Then PL = L; PM = (PH+PL)/2; } } if N == 1 Then { if N != N[1] Then { NH = H; NL = L; NM = (NH+NL)/2; } Else { if H > NH Then NH = H; if L < NL Then NL = L; NM = (NH+NL)/2; } } if P == 0 and CountIf(P==1,N1)[1] == N1 Then { var1 = PH[1]; var2 = PL[1]; var3 = PM[1]; ii[0] = Index; TL1[0] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); TL2[0] = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL3[0] = TL_New(sDate,sTime,Var3,NextBarSdate,NextBarStime,var3); For cnt = 1 to 19 { ii[cnt] = ii[cnt-1][1]; TL1[cnt] = TL1[cnt-1][1]; TL2[cnt] = TL2[cnt-1][1]; TL3[cnt] = TL3[cnt-1][1]; } TL_SetColor(TL1[0],RED); TL_SetColor(TL2[0],RED); TL_SetColor(TL3[0],LGREEN); TL_SetExtRight(TL1[0],true); TL_SetExtRight(TL2[0],true); TL_SetExtRight(TL3[0],true); TL_SetStyle(TL1[0],선R); TL_SetStyle(TL2[0],선R); TL_SetStyle(TL3[0],선R); TL_SetSize(TL1[0],굵기R); TL_SetSize(TL2[0],굵기R); TL_SetSize(TL3[0],굵기R); } if N == 0 and CountIf(N==1,N1)[1] == N1 Then { var4 = NH[1]; var5 = NL[1]; var6 = NM[1]; ii[0] = Index; TL1[0] = TL_New(sDate,sTime,var4,NextBarSdate,NextBarStime,var4); TL2[0] = TL_New(sDate,sTime,Var5,NextBarSdate,NextBarStime,Var5); TL3[0] = TL_New(sDate,sTime,var6,NextBarSdate,NextBarStime,var6); For cnt = 1 to 19 { ii[cnt] = ii[cnt-1][1]; TL1[cnt] = TL1[cnt-1][1]; TL2[cnt] = TL2[cnt-1][1]; TL3[cnt] = TL3[cnt-1][1]; } TL_SetColor(TL1[0],BLUE); TL_SetColor(TL2[0],BLUE); TL_SetColor(TL3[0],LGREEN); TL_SetExtRight(TL1[0],true); TL_SetExtRight(TL2[0],true); TL_SetExtRight(TL3[0],true); TL_SetStyle(TL1[0],선b); TL_SetStyle(TL2[0],선b); TL_SetStyle(TL3[0],선b); TL_SetSize(TL1[0],굵기b); TL_SetSize(TL2[0],굵기b); TL_SetSize(TL3[0],굵기b); } for cnt = 0 to 19 { if ii[cnt] > 0 and Index > ii[cnt]+N2 Then { TL_Delete(TL1[cnt]); TL_Delete(TL2[cnt]); TL_Delete(TL3[cnt]); ii[cnt] = 0; } } 감사합니다