커뮤니티

수식 문의드립니다.

프로필 이미지
태양같이
2019-07-03 13:48:31
275
글번호 129999
답변완료
안녕하세요 아래의 두 개의 내용을 수식으로 가능한지요. 가능하다면 수식을 만들어 주시기를 부탁드립니다. 1. 일정 기간 동안의 중심값을 직선 라인으로 표현하는 수식을 부탁드립니다. 중심값 수식은 모두 6개를 만들어 주시기 부탁드립니다. 변수 조절 가능하게도 부탁드립니다. 예를 들어 5일, 20일, 60일, 120일 등등 일정 기간 동안의 중심값을 하나의 수식에서 각각 6개의 기간 값을 외부 변수로 사용할 수 있도록 부탁드립니다. 2. 일정 기간의 동안의 중심값이 아닌 일정비율로 조정한 직선 라인으로 표현 가능한 수식 부탁드립니다. 예를 들어 5일, 20일, 60일 동안의 고저대비 60%에 해당하는 라인을 그릴 수 있는 수식을 하나의 수식에 6개의 기간을 나타낼 수 있도록 부탁드립니다. 그 기간과값과 비율값을 각각 변수 조정 가능하게 부탁드립니다. 항상 도움에 깊이 감사드립니다. 수고하세요~
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-07-03 15:15:33

안녕하세요 예스스탁입니다. 문의하신 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. 일정 기간 동안의 중심값을 직선 라인으로 표현하는 수식을 부탁드립니다. 중심값 수식은 모두 6개를 만들어 주시기 부탁드립니다. 변수 조절 가능하게도 부탁드립니다. 예를 들어 5일, 20일, 60일, 120일 등등 일정 기간 동안의 중심값을 하나의 수식에서 각각 6개의 기간 값을 외부 변수로 사용할 수 있도록 부탁드립니다. 2. 일정 기간의 동안의 중심값이 아닌 일정비율로 조정한 직선 라인으로 표현 가능한 수식 부탁드립니다. 예를 들어 5일, 20일, 60일 동안의 고저대비 60%에 해당하는 라인을 그릴 수 있는 수식을 하나의 수식에 6개의 기간을 나타낼 수 있도록 부탁드립니다. 그 기간과값과 비율값을 각각 변수 조정 가능하게 부탁드립니다. 항상 도움에 깊이 감사드립니다. 수고하세요~