커뮤니티

지표

프로필 이미지
호정0688
2023-02-15 14:25:33
1531
글번호 166322
답변완료
항상감사합니다. 표현이 부족해서 죄송합니다. [저가에서+1.25,+2.5가아니라] 1]진동폭 고점에서 저가진동폭에서1/2,1/2,1/2,1/2의표시를 부탁드립니다. 2] 가격지표표시 + 2[72.43]=4176.17 + 3[62.08]=4165.82 + 4[51.73]=4155.48 =5[41.38]=4145.13 -4[31.04]=4134.78 -3[20,69]=4207.19 -2[10.35]=4196.85 예]진동폭 82.75라면 저가4103.75~고가4186.50에서 반값=82.75/2=41.38[4145.13] 41.38/2=20.69[4165.82] 20.69/2=10.35[ ] 진동폭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 [주신수식] input:length(6),글자크기(14); 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); Plot1(T); var : text3(0),text4(0),text5(0),text6(0),text7(0),text8(0),text9(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 { Text2 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-1.25," 고-1.25:"+NumToStr(고점[1,1]-1.25,2)); Text3 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-2.50," 고-2.50:"+NumToStr(고점[1,1]-2.50,2)); Text4 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-3.75," 고-3.75:"+NumToStr(고점[1,1]-3.75,2)); Text5 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-5.00," 고-5.00:"+NumToStr(고점[1,1]-5.00,2)); Text6 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-6.25," 고-6.25:"+NumToStr(고점[1,1]-6.25,2)); Text7 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-7.50," 고-7.50:"+NumToStr(고점[1,1]-7.50,2)); Text8 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-8.75," 고-8.75:"+NumToStr(고점[1,1]-8.75,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) ; } Else { Text2 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+8.75," 저+8.75:"+NumToStr(저점[1,1]+8.75,2)); Text3 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+7.50," 저+7.50:"+NumToStr(저점[1,1]+7.50,2)); Text4 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+6.25," 저+6.25:"+NumToStr(저점[1,1]+6.25,2)); Text5 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+5.00," 저+5.00:"+NumToStr(저점[1,1]+5.00,2)); Text6 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+3.75," 저+3.75:"+NumToStr(저점[1,1]+3.75,2)); Text7 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+2.50," 저+2.50:"+NumToStr(저점[1,1]+2.50,2)); Text8 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+1.25," 저+1.25:"+NumToStr(저점[1,1]+1.25,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) ; } 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);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-02-15 16:09:29

안녕하세요 예스스탁입니다. 현재 올리신 내용이면 고점과 저점사이를 12.5%(8등분) 간격으로 값을 표시하시는 내용입니다. 기존식은 단순숫자로 1.25와 같은 숫자를 고점/저점에 가감해서 표시를 하고 있습니다. 위 기준으로 변경해 드립니다. 다만 올려주신 표시방법은 어떤 내용인지 알수 없어 저+25.0%:317.70 저+12.5%:317.63 위치와 표시되는 값은 위와 같이 변경해 드립니다. 해당 부분은 사용자에 기호에 맞게 직접 변경하시기 바랍니다. input:length(6),글자크기(14); 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]); 간격 = 폭*0.125;#폭의 12.5% Text2 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*1," 고-12.5%:"+NumToStr(EndVal-간격*1,2)); Text3 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*2," 고-25.0%:"+NumToStr(EndVal-간격*2,2)); Text4 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*3," 고-37.5%:"+NumToStr(EndVal-간격*3,2)); Text5 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*4," 고-50.0%:"+NumToStr(EndVal-간격*4,2)); Text6 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*5," 고-62.5%:"+NumToStr(EndVal-간격*5,2)); Text7 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*6," 고-75.0%:"+NumToStr(EndVal-간격*6,2)); Text8 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*7," 고-87.6%:"+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) ; } Else { Endval = TL_GetEndVal(TL1); 폭 = abs(고점[1,1]-저점[1,1]); 간격 = 폭*0.125; Text2 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*7," 저+87.5%:"+NumToStr(EndVal+간격*7,2)); Text3 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*6," 저+75.0%:"+NumToStr(EndVal+간격*6,2)); Text4 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*5," 저+62.5%:"+NumToStr(EndVal+간격*5,2)); Text5 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*4," 저+50.0%:"+NumToStr(EndVal+간격*4,2)); Text6 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*3," 저+37.5%:"+NumToStr(EndVal+간격*3,2)); Text7 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*2," 저+25.0%:"+NumToStr(EndVal+간격*2,2)); Text8 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*1," 저+12.5%:"+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) ; } 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 님이 쓴 글입니다. > 제목 : 지표 > 항상감사합니다. 표현이 부족해서 죄송합니다. [저가에서+1.25,+2.5가아니라] 1]진동폭 고점에서 저가진동폭에서1/2,1/2,1/2,1/2의표시를 부탁드립니다. 2] 가격지표표시 + 2[72.43]=4176.17 + 3[62.08]=4165.82 + 4[51.73]=4155.48 =5[41.38]=4145.13 -4[31.04]=4134.78 -3[20,69]=4207.19 -2[10.35]=4196.85 예]진동폭 82.75라면 저가4103.75~고가4186.50에서 반값=82.75/2=41.38[4145.13] 41.38/2=20.69[4165.82] 20.69/2=10.35[ ] 진동폭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 [주신수식] input:length(6),글자크기(14); 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); Plot1(T); var : text3(0),text4(0),text5(0),text6(0),text7(0),text8(0),text9(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 { Text2 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-1.25," 고-1.25:"+NumToStr(고점[1,1]-1.25,2)); Text3 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-2.50," 고-2.50:"+NumToStr(고점[1,1]-2.50,2)); Text4 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-3.75," 고-3.75:"+NumToStr(고점[1,1]-3.75,2)); Text5 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-5.00," 고-5.00:"+NumToStr(고점[1,1]-5.00,2)); Text6 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-6.25," 고-6.25:"+NumToStr(고점[1,1]-6.25,2)); Text7 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-7.50," 고-7.50:"+NumToStr(고점[1,1]-7.50,2)); Text8 = Text_New(sDate[eBar],sTime[eBar],고점[1,1]-8.75," 고-8.75:"+NumToStr(고점[1,1]-8.75,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) ; } Else { Text2 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+8.75," 저+8.75:"+NumToStr(저점[1,1]+8.75,2)); Text3 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+7.50," 저+7.50:"+NumToStr(저점[1,1]+7.50,2)); Text4 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+6.25," 저+6.25:"+NumToStr(저점[1,1]+6.25,2)); Text5 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+5.00," 저+5.00:"+NumToStr(저점[1,1]+5.00,2)); Text6 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+3.75," 저+3.75:"+NumToStr(저점[1,1]+3.75,2)); Text7 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+2.50," 저+2.50:"+NumToStr(저점[1,1]+2.50,2)); Text8 = Text_New(sDate[eBar],sTime[eBar],저점[1,1]+1.25," 저+1.25:"+NumToStr(저점[1,1]+1.25,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) ; } 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);