커뮤니티

지표

프로필 이미지
호정0688
2023-02-16 10:45:48
765
글번호 166368
답변완료
항상감사합니다. 수식감사합니다. 80793 저+25.0%:317.70 저+12.5%:317.63 진동폭82.75라면 챠트상표시는[진동폭/8.75의값]= + 2[72.43]=4176.17 [진동폭/7.50의값]= + 3[62.08]=4165.82 [진동폭/6.25의값]= + 4[51.73]=4155.48 [진동폭/5.00의값]= =5[41.38]=4145.13 [진동폭/3.75의값]= -4[31.04]=4134.78 [진동폭/2.50의값]= -3[20,69]=4207.19 [진동폭/1.25의값]= -2[10.35]=4196.85 1.25%=10.35입니다. 82.75의 8등분된 진동폭 표시입니다. 저+1.25.0%:대신 1]진동폭[10.35]표시가능할까요! 부탁드립니다. 챠트상표시는 2[72.43]=4176.17 3[62.08]=4165.82 4[51.73]=4155.48 5[41.38]=4145.13 6[31.04]=4134.78 7[20,69]=4207.19 8[10.35]=4196.85 2]속성에서 라인표시가능부탁드립니다 지금은 라인이 없어서 채우기를 활용할수가 없어서요
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-02-16 11:42:42

안녕하세요 예스스탁입니다. input:length(6),글자크기(14),라인표시(1);#라인표시0으면 표시안함 Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0), Text1(0),처리구분(""),t(0),text2(0); Array:고점[10,2](0),저점[10,2](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); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1], sDate[eBar],sTime[eBar],고점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1], NumToStr((고점[1,1]-저점[1,1]),2)+NewLine+ NumToStr(고점[1,1],2)); Text_SetStyle(Text1, 2, 1); Text_SetSize(text1,12); Text_SetColor(text1,Blue); } } 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); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1], sDate[eBar],sTime[eBar],저점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1], NumToStr((고점[1,1]-저점[1,1]),2)+NewLine+ NumToStr(저점[1,1],2)); Text_SetStyle(Text1, 2, 0); Text_SetSize(text1,글자크기); Text_SetColor(text1,Red); } } TL_SetSize(TL1,2); TL_SetColor(TL1,LightGray); var : text3(0),text4(0),text5(0),text6(0),text7(0),text8(0),text9(0); var : Endval(0),폭(0),간격(0); Text_Delete(text2); Text_Delete(text3); Text_Delete(text4); Text_Delete(text5); Text_Delete(text6); Text_Delete(text7); Text_Delete(text8); Text_Delete(text9); if T == 1 Then { Endval = TL_GetEndVal(TL1); 폭 = abs(고점[1,1]-저점[1,1]); 간격 = round(폭*0.125,3);#폭의 12.5% Text2 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*1," 2["+NumToStr(간격*1,2)+"]="+NumToStr(EndVal-간격*1,2)); Text3 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*2," 3["+NumToStr(간격*2,2)+"]="+NumToStr(EndVal-간격*2,2)); Text4 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*3," 4["+NumToStr(간격*3,2)+"]="+NumToStr(EndVal-간격*3,2)); Text5 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*4," 5["+NumToStr(간격*4,2)+"]="+NumToStr(EndVal-간격*4,2)); Text6 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*5," 6["+NumToStr(간격*5,2)+"]="+NumToStr(EndVal-간격*5,2)); Text7 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*6," 7["+NumToStr(간격*6,2)+"]="+NumToStr(EndVal-간격*6,2)); Text8 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*7," 8["+NumToStr(간격*7,2)+"]="+NumToStr(EndVal-간격*7,2)); Text_SetStyle(Text2,0,2) ; Text_SetStyle(Text3,0,2) ; Text_SetStyle(Text4,0,2) ; Text_SetStyle(Text5,0,2) ; Text_SetStyle(Text6,0,2) ; Text_SetStyle(Text7,0,2) ; Text_SetStyle(Text8,0,2) ; if 라인표시 == 1 Then { Plot1(EndVal-간격*1); Plot2(EndVal-간격*2); Plot3(EndVal-간격*3); Plot4(EndVal-간격*4); Plot5(EndVal-간격*5); Plot6(EndVal-간격*6); Plot7(EndVal-간격*7); } } Else { Endval = TL_GetEndVal(TL1); 폭 = abs(고점[1,1]-저점[1,1]); 간격 = 폭*0.125; Text2 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*7," 8["+NumToStr(간격*7,2)+"]="+NumToStr(EndVal+간격*7,2)); Text3 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*6," 7["+NumToStr(간격*6,2)+"]="+NumToStr(EndVal+간격*6,2)); Text4 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*5," 6["+NumToStr(간격*5,2)+"]="+NumToStr(EndVal+간격*5,2)); Text5 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*4," 5["+NumToStr(간격*4,2)+"]="+NumToStr(EndVal+간격*4,2)); Text6 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*3," 4["+NumToStr(간격*3,2)+"]="+NumToStr(EndVal+간격*3,2)); Text7 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*2," 3["+NumToStr(간격*2,2)+"]="+NumToStr(EndVal+간격*2,2)); Text8 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*1," 2["+NumToStr(간격*1,2)+"]="+NumToStr(EndVal+간격*1,2)); Text_SetStyle(Text2,0,2) ; Text_SetStyle(Text3,0,2) ; Text_SetStyle(Text4,0,2) ; Text_SetStyle(Text5,0,2) ; Text_SetStyle(Text6,0,2) ; Text_SetStyle(Text7,0,2) ; Text_SetStyle(Text8,0,2) ; if 라인표시 == 1 Then { Plot1(EndVal+간격*1); Plot2(EndVal+간격*2); Plot3(EndVal+간격*3); Plot4(EndVal+간격*4); Plot5(EndVal+간격*5); Plot6(EndVal+간격*6); Plot7(EndVal+간격*7); } } Text_SetSize(text2,10); Text_SetSize(text3,10); Text_SetSize(text4,10); Text_SetSize(text5,10); Text_SetSize(text6,10); Text_SetSize(text7,10); Text_SetSize(text8,10); 즐거운 하루되세요. > 호정0688 님이 쓴 글입니다. > 제목 : 지표 > 항상감사합니다. 수식감사합니다. 80793 저+25.0%:317.70 저+12.5%:317.63 진동폭82.75라면 챠트상표시는[진동폭/8.75의값]= + 2[72.43]=4176.17 [진동폭/7.50의값]= + 3[62.08]=4165.82 [진동폭/6.25의값]= + 4[51.73]=4155.48 [진동폭/5.00의값]= =5[41.38]=4145.13 [진동폭/3.75의값]= -4[31.04]=4134.78 [진동폭/2.50의값]= -3[20,69]=4207.19 [진동폭/1.25의값]= -2[10.35]=4196.85 1.25%=10.35입니다. 82.75의 8등분된 진동폭 표시입니다. 저+1.25.0%:대신 1]진동폭[10.35]표시가능할까요! 부탁드립니다. 챠트상표시는 2[72.43]=4176.17 3[62.08]=4165.82 4[51.73]=4155.48 5[41.38]=4145.13 6[31.04]=4134.78 7[20,69]=4207.19 8[10.35]=4196.85 2]속성에서 라인표시가능부탁드립니다 지금은 라인이 없어서 채우기를 활용할수가 없어서요