커뮤니티

재 문의드립니다.

프로필 이미지
태양같이
2019-07-06 20:24:36
302
글번호 130011
답변완료
제가 문의드린 의도와 다른 결과값이 다르게 나와 재 문의드립니다. 제 문의의 의도는 예를 들면.. 중심값이 5일 동안의 중심값, 20일 동안의 중심값, 60일 동안의 중심값 ..으로 중심값 라인이 만들어 지면 기간이 달라지므로.. 중심값의 라인이 수평선 상으로 직선이 되면서.. 라인의 상하 위치도 달라질 것으로 예상했습니다. 즉, 수평 라인의 형태가 첨부한 파일의 모양처럼 차트 상에서 기간별로 최고가와 최저가의 편차로 인해 상하 계단식으로 수평선의 형태가 높이 차이로 층이 질 것을 기대했습니다. 그러나 작성해 주신 수깅으로는.. 라인이 일자형의 긴 형태의 수평선으만 표시되어 재문의 드립니다. 만약 재가 문의 드린 수식이 현재의 모양만 나온다면 어쩔 수 없지만.. 첨부한 그림처럼 모양이 나올 수 있거나 또는 첨부한 그림의 라인 형태처럼 수평선이 나올 수 있는 방법이 있다면.. 다시 수식 작성해주시기를 부탁드립니다. 그리고 수식의 <속성창>에서 라인의 굵기와 색상 조절이 가능하게 부탁드립니다. 문의가 정확하지 못해 번거롭게 해드려 죄송합니다. ==================================== > 태양같이 님이 쓴 글입니다. > 제목 : 수식 문의드립니다. > 안녕하세요 아래의 두 개의 내용을 수식으로 가능한지요. 가능하다면 수식을 만들어 주시기를 부탁드립니다. 1. 일정 기간 동안의 중심값을 직선 라인으로 표현하는 수식을 부탁드립니다. 중심값 수식은 모두 6개를 만들어 주시기 부탁드립니다. 변수 조절 가능하게도 부탁드립니다. 예를 들어 5일, 20일, 60일, 120일 등등 일정 기간 동안의 중심값을 하나의 수식에서 각각 6개의 기간 값을 외부 변수로 사용할 수 있도록 부탁드립니다. 2. 일정 기간의 동안의 중심값이 아닌 일정비율로 조정한 직선 라인으로 표현 가능한 수식 부탁드립니다. 예를 들어 5일, 20일, 60일 동안의 고저대비 60%에 해당하는 라인을 그릴 수 있는 수식을 하나의 수식에 6개의 기간을 나타낼 수 있도록 부탁드립니다. 그 기간과값과 비율값을 각각 변수 조정 가능하게 부탁드립니다. 항상 도움에 깊이 감사드립니다. 수고하세요~ ------------------------ 안녕하세요 예스스탁입니다. 문의하신 1번과 2번수식은 수식적으로는 같은 내용입니다. 비율을 외부변수로 처리해 드리므로 50이나 60등 원히시는 비율로 적용하시면 되는 내용입니다. 1번식은 기간을 봉수로 지정하는 식입니다. input : P1(5),per1(50); input : P2(10),per2(50); input : P3(20),per3(50); input : P4(60),per4(50); input : P5(120),per5(50); input : P6(240),per6(50); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0); var1 = highest(H,P1)-(highest(H,P1)-lowest(L,P1))*(per1/100); var2 = highest(H,P2)-(highest(H,P2)-lowest(L,P2))*(per2/100); var3 = highest(H,P3)-(highest(H,P3)-lowest(L,P3))*(per3/100); var4 = highest(H,P4)-(highest(H,P4)-lowest(L,P4))*(per4/100); var5 = highest(H,P5)-(highest(H,P5)-lowest(L,P5))*(per5/100); var6 = highest(H,P6)-(highest(H,P6)-lowest(L,P6))*(per6/100); if var1 > 0 then { TL_Delete(TL1); TL1 = TL_New(sdate[p1-1],stime[p1-1],var1,sdate,stime,var1); TL_SetExtLeft(TL1,true); TL_SetExtRight(TL1,true); TL_SetColor(TL1,red); } if var2 > 0 then { TL_Delete(TL2); TL2 = TL_New(sdate[p2-1],stime[p2-1],var2,sdate,stime,var2); TL_SetExtLeft(TL2,true); TL_SetExtRight(TL2,true); TL_SetColor(TL2,BLUE); } if var3 > 0 then { TL_Delete(TL3); TL3 = TL_New(sdate[p3-1],stime[p3-1],var3,sdate,stime,var3); TL_SetExtLeft(TL3,true); TL_SetExtRight(TL3,true); TL_SetColor(TL3,MAGENTA); } if var4 > 0 then { TL_Delete(TL4); TL4 = TL_New(sdate[p4-1],stime[p4-1],var4,sdate,stime,var4); TL_SetExtLeft(TL4,true); TL_SetExtRight(TL4,true); TL_SetColor(TL4,CYAN); } if var5 > 0 then { TL_Delete(TL5); TL5 = TL_New(sdate[p5-1],stime[p5-1],var5,sdate,stime,var5); TL_SetExtLeft(TL5,true); TL_SetExtRight(TL5,true); TL_SetColor(TL5,GRAY); } if var6 > 0 then { TL_Delete(TL6); TL6 = TL_New(sdate[p6-1],stime[p6-1],var6,sdate,stime,var6); TL_SetExtLeft(TL6,true); TL_SetExtRight(TL6,true); TL_SetColor(TL6,pink); } 2번식은 기간을 일수로 지정하는 식입니다. 분봉에 적용해도 일간으로 최고가 최저가 계산합니다. input : P1(5),per1(50); input : P2(10),per2(50); input : P3(20),per3(50); input : P4(60),per4(50); input : P5(120),per5(50); input : P6(240),per6(50); var : cnt(0),TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0); var : H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0),H5(0),L5(0),H6(0),L6(0); H1 = DayHigh; H2 = DayHigh; H3 = DayHigh; H4 = DayHigh; H5 = DayHigh; H6 = DayHigh; L1 = DayLow; L2 = DayLow; L3 = DayLow; L4 = DayLow; L5 = DayLow; L6 = DayLow; for cnt = 0 to max(p1,p2,p3,p4,p5,p6)-1 { if cnt < P1 and DayHigh(cnt) > H1 Then H1 = DayHigh(cnt); if cnt < P1 and DayLow(cnt) < L1 Then L1 = DayLow(cnt); if cnt < P2 and DayHigh(cnt) > H2 Then H2 = DayHigh(cnt); if cnt < P2 and DayLow(cnt) < L2 Then L2 = DayLow(cnt); if cnt < P3 and DayHigh(cnt) > H3 Then H3 = DayHigh(cnt); if cnt < P3 and DayLow(cnt) < L3 Then L3 = DayLow(cnt); if cnt < P4 and DayHigh(cnt) > H4 Then H4 = DayHigh(cnt); if cnt < P4 and DayLow(cnt) < L4 Then L4 = DayLow(cnt); if cnt < P5 and DayHigh(cnt) > H5 Then H5 = DayHigh(cnt); if cnt < P5 and DayLow(cnt) < L5 Then L5 = DayLow(cnt); if cnt < P6 and DayHigh(cnt) > H6 Then H6 = DayHigh(cnt); if cnt < P6 and DayLow(cnt) < L6 Then L6 = DayLow(cnt); } var1 = H1-(H1-L1)*(per1/100); var2 = H2-(H2-L2)*(per2/100); var3 = H3-(H3-L3)*(per3/100); var4 = H4-(H4-L4)*(per4/100); var5 = H5-(H5-L5)*(per5/100); var6 = H6-(H6-L6)*(per6/100); if var1 > 0 then { TL_Delete(TL1); TL1 = TL_New(sdate[p1-1],stime[p1-1],var1,sdate,stime,var1); TL_SetExtLeft(TL1,true); TL_SetExtRight(TL1,true); TL_SetColor(TL1,red); } if var2 > 0 then { TL_Delete(TL2); TL2 = TL_New(sdate[p2-1],stime[p2-1],var2,sdate,stime,var2); TL_SetExtLeft(TL2,true); TL_SetExtRight(TL2,true); TL_SetColor(TL2,BLUE); } if var3 > 0 then { TL_Delete(TL3); TL3 = TL_New(sdate[p3-1],stime[p3-1],var3,sdate,stime,var3); TL_SetExtLeft(TL3,true); TL_SetExtRight(TL3,true); TL_SetColor(TL3,MAGENTA); } if var4 > 0 then { TL_Delete(TL4); TL4 = TL_New(sdate[p4-1],stime[p4-1],var4,sdate,stime,var4); TL_SetExtLeft(TL4,true); TL_SetExtRight(TL4,true); TL_SetColor(TL4,CYAN); } if var5 > 0 then { TL_Delete(TL5); TL5 = TL_New(sdate[p5-1],stime[p5-1],var5,sdate,stime,var5); TL_SetExtLeft(TL5,true); TL_SetExtRight(TL5,true); TL_SetColor(TL5,GRAY); } if var6 > 0 then { TL_Delete(TL6); TL6 = TL_New(sdate[p6-1],stime[p6-1],var6,sdate,stime,var6); TL_SetExtLeft(TL6,true); TL_SetExtRight(TL6,true); TL_SetColor(TL6,pink); } 즐거운 하루되세요
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-07-04 09:40:02

안녕하세요 예스스탁입니다. 수평이라고 언급하셔서 가장 최종값을 차트전체에 수평으로 그리게 작성해 드렸습니다. 일반 plot으로 변경해 드립니다. 1 input : P1(5),per1(50); input : P2(10),per2(50); input : P3(20),per3(50); input : P4(60),per4(50); input : P5(120),per5(50); input : P6(240),per6(50); var1 = highest(H,P1)-(highest(H,P1)-lowest(L,P1))*(per1/100); var2 = highest(H,P2)-(highest(H,P2)-lowest(L,P2))*(per2/100); var3 = highest(H,P3)-(highest(H,P3)-lowest(L,P3))*(per3/100); var4 = highest(H,P4)-(highest(H,P4)-lowest(L,P4))*(per4/100); var5 = highest(H,P5)-(highest(H,P5)-lowest(L,P5))*(per5/100); var6 = highest(H,P6)-(highest(H,P6)-lowest(L,P6))*(per6/100); if var1 > 0 then plot1(var1); if var2 > 0 then plot2(var2); if var3 > 0 then plot3(var3); if var4 > 0 then plot4(var4); if var5 > 0 then plot5(var5); if var6 > 0 then plot6(var6); 2 input : P1(5),per1(50); input : P2(10),per2(50); input : P3(20),per3(50); input : P4(60),per4(50); input : P5(120),per5(50); input : P6(240),per6(50); var : cnt(0),H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0),H5(0),L5(0),H6(0),L6(0); H1 = DayHigh; H2 = DayHigh; H3 = DayHigh; H4 = DayHigh; H5 = DayHigh; H6 = DayHigh; L1 = DayLow; L2 = DayLow; L3 = DayLow; L4 = DayLow; L5 = DayLow; L6 = DayLow; for cnt = 0 to max(p1,p2,p3,p4,p5,p6)-1 { if cnt < P1 and DayHigh(cnt) > H1 Then H1 = DayHigh(cnt); if cnt < P1 and DayLow(cnt) < L1 Then L1 = DayLow(cnt); if cnt < P2 and DayHigh(cnt) > H2 Then H2 = DayHigh(cnt); if cnt < P2 and DayLow(cnt) < L2 Then L2 = DayLow(cnt); if cnt < P3 and DayHigh(cnt) > H3 Then H3 = DayHigh(cnt); if cnt < P3 and DayLow(cnt) < L3 Then L3 = DayLow(cnt); if cnt < P4 and DayHigh(cnt) > H4 Then H4 = DayHigh(cnt); if cnt < P4 and DayLow(cnt) < L4 Then L4 = DayLow(cnt); if cnt < P5 and DayHigh(cnt) > H5 Then H5 = DayHigh(cnt); if cnt < P5 and DayLow(cnt) < L5 Then L5 = DayLow(cnt); if cnt < P6 and DayHigh(cnt) > H6 Then H6 = DayHigh(cnt); if cnt < P6 and DayLow(cnt) < L6 Then L6 = DayLow(cnt); } var1 = H1-(H1-L1)*(per1/100); var2 = H2-(H2-L2)*(per2/100); var3 = H3-(H3-L3)*(per3/100); var4 = H4-(H4-L4)*(per4/100); var5 = H5-(H5-L5)*(per5/100); var6 = H6-(H6-L6)*(per6/100); if var1 > 0 then plot1(var1); if var2 > 0 then plot2(var2); if var3 > 0 then plot3(var3); if var4 > 0 then plot4(var4); if var5 > 0 then plot5(var5); if var6 > 0 then plot6(var6); 즐거운 하루되세요 > 태양같이 님이 쓴 글입니다. > 제목 : 재 문의드립니다. > 제가 문의드린 의도와 다른 결과값이 다르게 나와 재 문의드립니다. 제 문의의 의도는 예를 들면.. 중심값이 5일 동안의 중심값, 20일 동안의 중심값, 60일 동안의 중심값 ..으로 중심값 라인이 만들어 지면 기간이 달라지므로.. 중심값의 라인이 수평선 상으로 직선이 되면서.. 라인의 상하 위치도 달라질 것으로 예상했습니다. (첨부 파일 참조) 즉, 수평 라인의 형태가 첨부한 파일의 모양처럼 차트 상에서 기간별로 최고가와 최저가의 편차로 인해 상하 계단식으로 수평선의 형태가 높이 차이로 층이 질 것을 기대했습니다. 그러나 작성해 주신 수깅으로는.. 라인이 일자형의 긴 형태의 수평선으만 표시되어 재문의 드립니다. 만약 재가 문의 드린 수식이 현재의 모양만 나온다면 어쩔 수 없지만.. 첨부한 그림처럼 모양이 나올 수 있거나 또는 첨부한 그림의 라인 형태처럼 수평선이 나올 수 있는 방법이 있다면.. 다시 수식 작성해주시기를 부탁드립니다. 그리고 수식의 <속성창>에서 라인의 굵기와 색상 조절이 가능하게 부탁드립니다. 문의가 정확하지 못해 번거롭게 해드려 죄송합니다. ==================================== > 태양같이 님이 쓴 글입니다. > 제목 : 수식 문의드립니다. > 안녕하세요 아래의 두 개의 내용을 수식으로 가능한지요. 가능하다면 수식을 만들어 주시기를 부탁드립니다. 1. 일정 기간 동안의 중심값을 직선 라인으로 표현하는 수식을 부탁드립니다. 중심값 수식은 모두 6개를 만들어 주시기 부탁드립니다. 변수 조절 가능하게도 부탁드립니다. 예를 들어 5일, 20일, 60일, 120일 등등 일정 기간 동안의 중심값을 하나의 수식에서 각각 6개의 기간 값을 외부 변수로 사용할 수 있도록 부탁드립니다. 2. 일정 기간의 동안의 중심값이 아닌 일정비율로 조정한 직선 라인으로 표현 가능한 수식 부탁드립니다. 예를 들어 5일, 20일, 60일 동안의 고저대비 60%에 해당하는 라인을 그릴 수 있는 수식을 하나의 수식에 6개의 기간을 나타낼 수 있도록 부탁드립니다. 그 기간과값과 비율값을 각각 변수 조정 가능하게 부탁드립니다. 항상 도움에 깊이 감사드립니다. 수고하세요~ ------------------------ 안녕하세요 예스스탁입니다. 문의하신 1번과 2번수식은 수식적으로는 같은 내용입니다. 비율을 외부변수로 처리해 드리므로 50이나 60등 원히시는 비율로 적용하시면 되는 내용입니다. 1번식은 기간을 봉수로 지정하는 식입니다. input : P1(5),per1(50); input : P2(10),per2(50); input : P3(20),per3(50); input : P4(60),per4(50); input : P5(120),per5(50); input : P6(240),per6(50); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0); var1 = highest(H,P1)-(highest(H,P1)-lowest(L,P1))*(per1/100); var2 = highest(H,P2)-(highest(H,P2)-lowest(L,P2))*(per2/100); var3 = highest(H,P3)-(highest(H,P3)-lowest(L,P3))*(per3/100); var4 = highest(H,P4)-(highest(H,P4)-lowest(L,P4))*(per4/100); var5 = highest(H,P5)-(highest(H,P5)-lowest(L,P5))*(per5/100); var6 = highest(H,P6)-(highest(H,P6)-lowest(L,P6))*(per6/100); if var1 > 0 then { TL_Delete(TL1); TL1 = TL_New(sdate[p1-1],stime[p1-1],var1,sdate,stime,var1); TL_SetExtLeft(TL1,true); TL_SetExtRight(TL1,true); TL_SetColor(TL1,red); } if var2 > 0 then { TL_Delete(TL2); TL2 = TL_New(sdate[p2-1],stime[p2-1],var2,sdate,stime,var2); TL_SetExtLeft(TL2,true); TL_SetExtRight(TL2,true); TL_SetColor(TL2,BLUE); } if var3 > 0 then { TL_Delete(TL3); TL3 = TL_New(sdate[p3-1],stime[p3-1],var3,sdate,stime,var3); TL_SetExtLeft(TL3,true); TL_SetExtRight(TL3,true); TL_SetColor(TL3,MAGENTA); } if var4 > 0 then { TL_Delete(TL4); TL4 = TL_New(sdate[p4-1],stime[p4-1],var4,sdate,stime,var4); TL_SetExtLeft(TL4,true); TL_SetExtRight(TL4,true); TL_SetColor(TL4,CYAN); } if var5 > 0 then { TL_Delete(TL5); TL5 = TL_New(sdate[p5-1],stime[p5-1],var5,sdate,stime,var5); TL_SetExtLeft(TL5,true); TL_SetExtRight(TL5,true); TL_SetColor(TL5,GRAY); } if var6 > 0 then { TL_Delete(TL6); TL6 = TL_New(sdate[p6-1],stime[p6-1],var6,sdate,stime,var6); TL_SetExtLeft(TL6,true); TL_SetExtRight(TL6,true); TL_SetColor(TL6,pink); } 2번식은 기간을 일수로 지정하는 식입니다. 분봉에 적용해도 일간으로 최고가 최저가 계산합니다. input : P1(5),per1(50); input : P2(10),per2(50); input : P3(20),per3(50); input : P4(60),per4(50); input : P5(120),per5(50); input : P6(240),per6(50); var : cnt(0),TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0); var : H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0),H5(0),L5(0),H6(0),L6(0); H1 = DayHigh; H2 = DayHigh; H3 = DayHigh; H4 = DayHigh; H5 = DayHigh; H6 = DayHigh; L1 = DayLow; L2 = DayLow; L3 = DayLow; L4 = DayLow; L5 = DayLow; L6 = DayLow; for cnt = 0 to max(p1,p2,p3,p4,p5,p6)-1 { if cnt < P1 and DayHigh(cnt) > H1 Then H1 = DayHigh(cnt); if cnt < P1 and DayLow(cnt) < L1 Then L1 = DayLow(cnt); if cnt < P2 and DayHigh(cnt) > H2 Then H2 = DayHigh(cnt); if cnt < P2 and DayLow(cnt) < L2 Then L2 = DayLow(cnt); if cnt < P3 and DayHigh(cnt) > H3 Then H3 = DayHigh(cnt); if cnt < P3 and DayLow(cnt) < L3 Then L3 = DayLow(cnt); if cnt < P4 and DayHigh(cnt) > H4 Then H4 = DayHigh(cnt); if cnt < P4 and DayLow(cnt) < L4 Then L4 = DayLow(cnt); if cnt < P5 and DayHigh(cnt) > H5 Then H5 = DayHigh(cnt); if cnt < P5 and DayLow(cnt) < L5 Then L5 = DayLow(cnt); if cnt < P6 and DayHigh(cnt) > H6 Then H6 = DayHigh(cnt); if cnt < P6 and DayLow(cnt) < L6 Then L6 = DayLow(cnt); } var1 = H1-(H1-L1)*(per1/100); var2 = H2-(H2-L2)*(per2/100); var3 = H3-(H3-L3)*(per3/100); var4 = H4-(H4-L4)*(per4/100); var5 = H5-(H5-L5)*(per5/100); var6 = H6-(H6-L6)*(per6/100); if var1 > 0 then { TL_Delete(TL1); TL1 = TL_New(sdate[p1-1],stime[p1-1],var1,sdate,stime,var1); TL_SetExtLeft(TL1,true); TL_SetExtRight(TL1,true); TL_SetColor(TL1,red); } if var2 > 0 then { TL_Delete(TL2); TL2 = TL_New(sdate[p2-1],stime[p2-1],var2,sdate,stime,var2); TL_SetExtLeft(TL2,true); TL_SetExtRight(TL2,true); TL_SetColor(TL2,BLUE); } if var3 > 0 then { TL_Delete(TL3); TL3 = TL_New(sdate[p3-1],stime[p3-1],var3,sdate,stime,var3); TL_SetExtLeft(TL3,true); TL_SetExtRight(TL3,true); TL_SetColor(TL3,MAGENTA); } if var4 > 0 then { TL_Delete(TL4); TL4 = TL_New(sdate[p4-1],stime[p4-1],var4,sdate,stime,var4); TL_SetExtLeft(TL4,true); TL_SetExtRight(TL4,true); TL_SetColor(TL4,CYAN); } if var5 > 0 then { TL_Delete(TL5); TL5 = TL_New(sdate[p5-1],stime[p5-1],var5,sdate,stime,var5); TL_SetExtLeft(TL5,true); TL_SetExtRight(TL5,true); TL_SetColor(TL5,GRAY); } if var6 > 0 then { TL_Delete(TL6); TL6 = TL_New(sdate[p6-1],stime[p6-1],var6,sdate,stime,var6); TL_SetExtLeft(TL6,true); TL_SetExtRight(TL6,true); TL_SetColor(TL6,pink); } 즐거운 하루되세요