커뮤니티

수정좀 부탁드립니다

프로필 이미지
와우리
2025-11-10 15:23:06
68
글번호 227844
답변완료

input : N(3); var : Per(0.1); var : HD(0),HT(0),HH(0),HHD(0),HHT(0); var : HD1(0),HT1(0),HH1(0); var : LD(0),LT(0),LL(0),LLD(0),LLT(0); var : LD1(0),LT1(0),LL1(0); var : HTL(0),LTL(0),TL(0); var : tx1(0),tx2(0),HTx(0),Ltx(0); var : T(0); var : HB(0),LB(0),cnt(0); Array : HHTL[20](0),LLTL[20](0); var1 = ma(c, 60); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; Plot1(var1,"이동평균선"); if T == 1 Then { if T != T[1] Then { HD = sDate; HT = sTime; HH = h; HHD = sDate; HHT = sTime; HD1 = HHD[1]; HT1 = HHT[1]; HH1 = HH[1]; HTL = tl_new(HD,HT,HH,NextBarSdate,NextBarStime,HH); TL_SetColor(HTL, Red); HTx = Text_New(NextBarSdate,NextBarStime,HH,NumToStr(HH,2)); Text_SetColor(HTx, Red); Text_SetStyle(HTx, 1, 1); HB = 0; For cnt = 19 DownTo 1 { HHTL[cnt] = HHTL[cnt-1]; } if HH1 > 0 Then { HHTL[0] = TL_New(HD1,HT1,HH1,HHD,HHT,HH); TL_SetColor(HHTL[0], Red); TL_SetDrawMode(HHTL[0],0); TL_SetExtRight(HHTL[0],true); TL_Delete(HHTL[N]); } } Else { if h > HH Then { HH = h; HHD = sDate; HHT = sTime; if HH1 > 0 Then TL_SetEnd(HHTL[0],HHD,HHT,HH); } HB = HB+1; } TL_SetBegin(HTL,HD,HT,HH); TL_SetEnd(HTL,NextBarSdate,NextBarStime,HH); Text_SetLocation(HTx,NextBarSdate,NextBarStime,HH); } if T == -1 Then { if T != T[1] Then { LD = sDate; LT = sTime; LL = l; LLD = sDate; LLT = sTime; LD1 = LLD[1]; LT1 = LLT[1]; LL1 = LL[1]; LTL = tl_new(LD,LT,LL,NextBarSdate,NextBarStime,LL); TL_SetColor(LTL, Blue); Ltx = Text_New(NextBarSdate,NextBarStime,LL,NumToStr(LL,2)); Text_SetColor(Ltx, Blue); Text_SetStyle(Ltx, 1, 0); LB = 0; For cnt = 19 DownTo 1 { LLTL[cnt] = LLTL[cnt-1]; } if LL1 > 0 Then { LLTL[0] = TL_New(LD1,LT1,LL1,LLD,LLT,LL); TL_SetColor(LLTL[0], Blue); TL_SetDrawMode(LLTL[0],0); TL_SetExtRight(LLTL[0],true); TL_Delete(LLTL[N]); } } Else { if l < LL Then { LL = l; LLD = sDate; LLT = sTime; if LL1 > 0 Then TL_SetEnd(LLTL[0],LLD,LLT,LL); } LB = LB+1; } TL_SetBegin(LTL,LD,LT,LL); TL_SetEnd(LTL,NextBarSdate,NextBarStime,LL); Text_SetLocation(Ltx,NextBarSdate,NextBarStime,LL); } 
추세선을 몇개를 노출할것인지는 잘추가해주셨구요 추세선 역시 직전 n번째 부터 연결할수 있도록 수정 부탁드립니다

지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-11-11 11:02:45

안녕하세요 예스스탁입니다. 1 고점연결 저점연결을 그전이 아닌 직전 N번째전과 연결하고 최근N개만 표시하시면 아래식 이용하시면 됩니다. input : 고저연결최근N개표시(3),최근N번째전과연결(3); var : Per(0.1); var : HD1(0),HT1(0); var : LD1(0),LT1(0); var : HTL(0),LTL(0),TL(0); var : tx1(0),tx2(0),HTx(0),Ltx(0); var : T(0); var : HB(0),LB(0),cnt(0); Array : HH[20](0),HD[20](0),HT[20](0); Array : LL[20](0),LD[20](0),LT[20](0); Array : HHTL[20](0),LLTL[20](0); var1 = ma(c, 60); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; Plot1(var1,"이동평균선"); if T == 1 Then { if T != T[1] Then { HD1 = sDate; HT1 = sTime; For cnt = 19 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HH[cnt] = HH[cnt-1]; HHTL[cnt] = HHTL[cnt-1]; } HD[0] = sDate; HT[0] = sTime; HH[0] = H; HTL = tl_new(HD1,HT1,HH[0],NextBarSdate,NextBarStime,HH[0]); TL_SetColor(HTL, Red); HTx = Text_New(NextBarSdate,NextBarStime,HH[0],NumToStr(HH[0],2)); Text_SetColor(HTx, Red); Text_SetStyle(HTx, 1, 1); HB = 0; if HH[최근N번째전과연결] > 0 Then { HHTL[0] = TL_New(HD[최근N번째전과연결],HT[최근N번째전과연결],HH[최근N번째전과연결],HD[0],HT[0],HH[0]); TL_SetColor(HHTL[0], Red); TL_SetDrawMode(HHTL[0],0); TL_SetExtRight(HHTL[0],true); TL_Delete(HHTL[고저연결최근N개표시]); } } Else { if h > HH[0] Then { HH[0] = H; HD[0] = sDate; HT[0] = sTime; if HH[최근N번째전과연결] > 0 Then TL_SetEnd(HHTL[0],HD[0],HT[0],HH[0]); } HB = HB+1; } TL_SetBegin(HTL,HD1,HT1,HH[0]); TL_SetEnd(HTL,NextBarSdate,NextBarStime,HH[0]); Text_SetLocation(HTx,NextBarSdate,NextBarStime,HH[0]); } if T == -1 Then { if T != T[1] Then { LD1 = sDate; LT1 = sTime; For cnt = 19 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LL[cnt] = LL[cnt-1]; LLTL[cnt] = LLTL[cnt-1]; } LD[0] = sDate; LT[0] = sTime; LL[0] = L; LTL = tl_new(LD1,LT1,LL[0],NextBarSdate,NextBarStime,LL[0]); TL_SetColor(LTL, Blue); Ltx = Text_New(NextBarSdate,NextBarStime,LL[0],NumToStr(LL[0],2)); Text_SetColor(Ltx, Blue); Text_SetStyle(Ltx, 1, 0); LB = 0; if LL[최근N번째전과연결] > 0 Then { LLTL[0] = TL_New(LD[최근N번째전과연결],LT[최근N번째전과연결],LL[최근N번째전과연결],LD[0],LT[0],LL[0]); TL_SetColor(LLTL[0], Blue); TL_SetDrawMode(LLTL[0],0); TL_SetExtRight(LLTL[0],true); TL_Delete(LLTL[고저연결최근N개표시]); } } Else { if l < LL[0] Then { LL[0] = L; LD[0] = sDate; LT[0] = sTime; if LL[최근N번째전과연결] > 0 Then TL_SetEnd(LLTL[0],LD[0],LT[0],LL[0]); } LB = LB+1; } TL_SetBegin(LTL,LD1,LT1,LL[0]); TL_SetEnd(LTL,NextBarSdate,NextBarStime,LL[0]); Text_SetLocation(Ltx,NextBarSdate,NextBarStime,LL[0]); } 2 문의하신 내용은 최근 고점과 그전고점 N개를 연결하고 최근 저점과 그전 고점N개를 연결하는 내용이면 아래식 이용하시면 됩니다. 이경우 최근 고점과 저점만 그전과 연결됩니다. input : N(3); var : Per(0.1); var : HD1(0),HT1(0); var : LD1(0),LT1(0); var : HTL(0),LTL(0),TL(0); var : tx1(0),tx2(0),HTx(0),Ltx(0); var : T(0); var : HB(0),LB(0),cnt(0); Array : HH[20](0),HD[20](0),HT[20](0); Array : LL[20](0),LD[20](0),LT[20](0); Array : HHTL[20](0),LLTL[20](0); var1 = ma(c, 60); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; Plot1(var1,"이동평균선"); if T == 1 Then { if T != T[1] Then { HD1 = sDate; HT1 = sTime; For cnt = 19 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HH[cnt] = HH[cnt-1]; HHTL[cnt] = HHTL[cnt-1]; TL_Delete(HHTL[cnt]); } HD[0] = sDate; HT[0] = sTime; HH[0] = H; HTL = tl_new(HD1,HT1,HH[0],NextBarSdate,NextBarStime,HH[0]); TL_SetColor(HTL, Red); HTx = Text_New(NextBarSdate,NextBarStime,HH[0],NumToStr(HH[0],2)); Text_SetColor(HTx, Red); Text_SetStyle(HTx, 1, 1); HB = 0; For cnt = 1 to N { if HD[cnt] > 0 Then { HHTL[cnt] = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]); TL_SetColor(HHTL[cnt], Magenta); TL_SetDrawMode(HHTL[cnt],0); TL_SetExtRight(HHTL[cnt],true); } } } Else { if h > HH[0] Then { HH[0] = H; HD[0] = sDate; HT[0] = sTime; For cnt = 1 to N { if HD[cnt] > 0 Then { TL_setend(HHTL[cnt],HD[0],HT[0],HH[0]); } } } HB = HB+1; } TL_SetBegin(HTL,HD1,HT1,HH[0]); TL_SetEnd(HTL,NextBarSdate,NextBarStime,HH[0]); Text_SetLocation(HTx,NextBarSdate,NextBarStime,HH[0]); } if T == -1 Then { if T != T[1] Then { LD1 = sDate; LT1 = sTime; For cnt = 19 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LL[cnt] = LL[cnt-1]; LLTL[cnt] = LLTL[cnt-1]; TL_Delete(LLTL[cnt]); } LD[0] = sDate; LT[0] = sTime; LL[0] = L; LTL = tl_new(LD1,LT1,LL[0],NextBarSdate,NextBarStime,LL[0]); TL_SetColor(LTL, Blue); Ltx = Text_New(NextBarSdate,NextBarStime,LL[0],NumToStr(LL[0],2)); Text_SetColor(Ltx, Blue); Text_SetStyle(Ltx, 1, 0); LB = 0; For cnt = 1 to N { if LD[cnt] > 0 Then { LLTL[cnt] = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]); TL_SetColor(LLTL[cnt], Blue); TL_SetDrawMode(LLTL[cnt],0); TL_SetExtRight(LLTL[cnt],true); } } } Else { if l < LL[0] Then { LL[0] = L; LD[0] = sDate; LT[0] = sTime; For cnt = 1 to N { if LD[cnt] > 0 Then { TL_setend(LLTL[cnt],LD[0],LT[0],LL[0]); } } } LB = LB+1; } TL_SetBegin(LTL,LD1,LT1,LL[0]); TL_SetEnd(LTL,NextBarSdate,NextBarStime,LL[0]); Text_SetLocation(Ltx,NextBarSdate,NextBarStime,LL[0]); } 즐거운 하루되세요