커뮤니티

수식 문의

프로필 이미지
부똘이
2021-11-13 21:14:21
636
글번호 153580
답변완료
친절한 답변 감사드립니다. 수식을 짜시는 입장에서 최대한 써보려고 노력했으나 문과충인지라 한계가 있음을 이해해 주시기 바랍니다. 감사합니다. ----------------------------- 아래의 지표를 기반으로 다음과 같은 수식을 구하는데 도움을 얻고자 합니다. 항상 친절한 답변 미리 감사드립니다. ------------------------------------------- 1번. 각 이평선간의 간격을 구해둡니다. ㄱ= abs(var1-var2) ㄴ= abs(var2-var3) ㄷ= abs(var3-var4) ㄹ= abs(var4-var5) . . . 끝= abs((varX-1)-varX) 2번. (연달아 놓여진 n개의 ㄱ~끝의 간격의 합)을 구해둡니다. ex : 20개 이평인 경우 연달아 놓여진 4개의 이평선 간격의 합 a = (ㄱ+ㄴ+ㄷ+ㄹ) b = (ㄴ+ㄷ+ㄹ+ㅁ) c = (ㄷ+ㄹ+ㅁ+ㅂ) . . . . z 3번. 2번에서 구해진 a~z중 그 값이 가장 작은 놈 3개를 찾습니다. 4번. 3번에서 찾은 세개의 값에 해당하는 이평선을 찾습니다. ex : a,b,c가 가장 작다고 했을 때 a = var1,2,3,4,5 b = var2,3,4,5,6 c = var3,4,5,6,7 이 찾아 질 것입니다. 5번. 4번에서 찾은 이평선들의 중간값을 찾습니다. ex : a = var1,2,3,4,5 중 (가장 큰 값 + 가장 작은 값 / 2) b = c = 6번. 5번에서 구해진 3개의 값을 점으로 찍습니다. 7번.그 점이 현재가와 가장 가까이 있으면서 현재가 위에 있으면 rgb(x,x,x)로 아래에 있으면 rgb(y,y,y)로 점을 찍습니다. 그 점이 현재가와 두번째로 가까이 있으면서 현재가 위에 있으면 rgb(x1,x1,x1)로 아래에 있으면 rgb(y1,y1,y1)로 점을 찍습니다. 그 점이 현재가와 가장 멀리 있으면서 현재가 위에 있으면 rgb(x2,x2,x2)로 아래에 있으면 rgb(y2,y2,y2)로 점을 찍습니다. 8번. 각각 세개의 점에 대한 이동평균선을 구합니다. ------------- 아 래 ---------------- input : P(22),n(2); var1 = ma(C,P); var2 = ma(C,P+n*1); var3 = ma(C,P+n*2); var4 = ma(C,P+n*3); var5 = ma(C,P+n*4); var6 = ma(C,P+n*5); var7 = ma(C,P+n*6); var8 = ma(C,P+n*7); var9 = ma(C,P+n*8); var10 = ma(C,P+n*9); var11 = ma(C,P+n*10); var12 = ma(C,P+n*11); var13 = ma(C,P+n*12); var14 = ma(C,P+n*13); var15 = ma(C,P+n*14); var16 = ma(C,P+n*15); var17 = ma(C,P+n*16); var18 = ma(C,P+n*17); var19 = ma(C,P+n*18); var20 = ma(C,P+n*19); Plot1(var1,"이평1",IFf(var1>Var20,RED,BLUE)); Plot2(var2,"이평2",IFf(var2>Var20,RED,BLUE)); Plot3(var3,"이평3",IFf(var3>Var20,RED,BLUE)); Plot4(var4,"이평4",IFf(var4>Var20,RED,BLUE)); Plot5(var5,"이평5",IFf(var5>Var20,RED,BLUE)); Plot6(var6,"이평6",IFf(var6>Var20,RED,BLUE)); Plot7(var7,"이평7",IFf(var7>Var20,RED,BLUE)); Plot8(var8,"이평8",IFf(var8>Var20,RED,BLUE)); Plot9(var9,"이평9",IFf(var9>Var20,RED,BLUE)); Plot10(var10,"이평10",IFf(var10>Var20,RED,BLUE)); Plot11(var11,"이평11",IFf(var11>Var20,RED,BLUE)); Plot12(var12,"이평12",IFf(var12>Var20,RED,BLUE)); Plot13(var13,"이평13",IFf(var13>Var20,RED,BLUE)); Plot14(var14,"이평14",IFf(var14>Var20,RED,BLUE)); Plot15(var15,"이평15",IFf(var15>Var20,RED,BLUE)); Plot16(var16,"이평16",IFf(var16>Var20,RED,BLUE)); Plot17(var17,"이평17",IFf(var17>Var20,RED,BLUE)); Plot18(var18,"이평18",IFf(var18>Var20,RED,BLUE)); Plot19(var19,"이평19",IFf(var19>Var20,RED,BLUE)); Plot20(var20,"이평20");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-11-12 16:56:37

안녕하세요 예스스탁입니다. 그래프 모양은 속성에서 지정하셔야 합니다. 수식안에서 처리가 되지 않습니다. input : P(22),n(2); input : x(255),x1(155),x2(55); input : y(255),y1(155),y2(55); var : ii(0),i1(0),i2(0),tempmin(0),tempIndex(0),min1(0),min2(0),min3(0),minAvg(0); var : color1(0),color2(0),color3(0); Array : mav[21](0),diff[21](0),diffsum[21](0); Array : MinValue[21](0),MinIndex[21](0); #for루프 사용을 위해 이평은 모두 배열변수에 저장 mav[1] = ma(C,P); mav[2] = ma(C,P+n*1); mav[3] = ma(C,P+n*2); mav[4] = ma(C,P+n*3); mav[5] = ma(C,P+n*4); mav[6] = ma(C,P+n*5); mav[7] = ma(C,P+n*6); mav[8] = ma(C,P+n*7); mav[9] = ma(C,P+n*8); mav[10] = ma(C,P+n*9); mav[11] = ma(C,P+n*10); mav[12] = ma(C,P+n*11); mav[13] = ma(C,P+n*12); mav[14] = ma(C,P+n*13); mav[15] = ma(C,P+n*14); mav[16] = ma(C,P+n*15); mav[17] = ma(C,P+n*16); mav[18] = ma(C,P+n*17); mav[19] = ma(C,P+n*18); mav[20] = ma(C,P+n*19); if mav[20] > 0 Then { #1번 #20번째 이평은 다음이평이 없으므로 1~19까지만 다음이평과 차이의 절대값 저장 For ii = 1 to 19 { diff[ii] = abs(mav[ii]-mav[ii+1]); } #2번 #4개씩 합산하므로 차이값16~19까지만 최종 16번방에 저장 For ii = 1 to 16 { diffsum[ii] = diff[ii]+diff[ii+1]+diff[ii+2]+diff[ii+3]; } #3번 For i1 = 1 to 3 //작은순으로 3개 { #초기값 아주 큰값 tempmin = 999999999; #1~16번방 값중 가장 작은값 찾음 For i2 = 1 to 16 { if diffsum[i2] < tempmin then { tempmin = diffsum[i2]; tempIndex = i2; } } #i1번째 최저값 MinValue[i1] = tempmin; #i1번째 최저값의 diffsum 방번호 MinIndex[i1] = tempIndex; #최저값으로 찾아진 값은 큰값을 주어 다음순위에서 제외되게 함 diffsum[tempIndex] = 999999999; } #4번 5번 min1 = (mav[MinIndex[1]]+mav[MinIndex[1]+1]+mav[MinIndex[1]+2]+mav[MinIndex[1]+3])/4; min2 = (mav[MinIndex[2]]+mav[MinIndex[2]+1]+mav[MinIndex[2]+2]+mav[MinIndex[2]+3])/4; min3 = (mav[MinIndex[3]]+mav[MinIndex[3]+1]+mav[MinIndex[3]+2]+mav[MinIndex[3]+3])/4; value1 = abs(c-min1); Value2 = abs(c-min2); Value3 = abs(c-min3); if min1 > C Then { if value1 == NthMinList(1,value1,Value2,Value3) Then color1 = RGB(x,x,x); if value1 == NthMinList(2,value1,Value2,Value3) Then color1 = RGB(x1,x1,x1); if value1 == NthMinList(3,value1,Value2,Value3) Then color1 = RGB(x2,x2,x2); } else { if value1 == NthMinList(1,value1,Value2,Value3) Then color1 = RGB(y,y,y); if value1 == NthMinList(2,value1,Value2,Value3) Then color1 = RGB(y1,y1,y1); if value1 == NthMinList(3,value1,Value2,Value3) Then color1 = RGB(y2,y2,y2); } Plot1(min1,"min1",color1); if min2 > C Then { if value2 == NthMinList(1,value1,Value2,Value3) Then color2 = RGB(x,x,x); if value2 == NthMinList(2,value1,Value2,Value3) Then color2 = RGB(x1,x1,x1); if value2 == NthMinList(3,value1,Value2,Value3) Then color2 = RGB(x2,x2,x2); } else { if value2 == NthMinList(1,value1,Value2,Value3) Then color2 = RGB(y,y,y); if value2 == NthMinList(2,value1,Value2,Value3) Then color2 = RGB(y1,y1,y1); if value2 == NthMinList(3,value1,Value2,Value3) Then color2 = RGB(y2,y2,y2); } Plot2(min2,"min2",color2); if min3 > C Then { if value3 == NthMinList(1,value1,Value2,Value3) Then color3 = RGB(x,x,x); if value3 == NthMinList(2,value1,Value2,Value3) Then color3 = RGB(x1,x1,x1); if value3 == NthMinList(3,value1,Value2,Value3) Then color3 = RGB(x2,x2,x2); } else { if value3 == NthMinList(1,value1,Value2,Value3) Then color3 = RGB(y,y,y); if value3 == NthMinList(2,value1,Value2,Value3) Then color3 = RGB(y1,y1,y1); if value3 == NthMinList(3,value1,Value2,Value3) Then color3 = RGB(y2,y2,y2); } Plot3(min3,"min3",color3); #최저값3개의 평균 minAvg = (min1+min2+min3)/3; plot4(minAvg); } 즐거운 하루되세요 > 부똘이 님이 쓴 글입니다. > 제목 : 수식 문의 > 친절한 답변 감사드립니다. 수식을 짜시는 입장에서 최대한 써보려고 노력했으나 문과충인지라 한계가 있음을 이해해 주시기 바랍니다. 감사합니다. ----------------------------- 아래는 그물망 이평의 간격을 n값으로 조절해 주는 그물망지표 수식 입니다. 아래의 지표를 기반으로 다음과 같은 수식을 구하는데 도움을 얻고자 합니다. 항상 친절한 답변 미리 감사드립니다. ------------------------------------------- 1번. 각 이평선간의 간격을 구해둡니다. ㄱ= abs(var1-var2) ㄴ= abs(var2-var3) ㄷ= abs(var3-var4) ㄹ= abs(var4-var5) . . . 끝= abs((varX-1)-varX) 2번. (연달아 놓여진 n개의 ㄱ~끝의 간격의 합)을 구해둡니다. ex : 20개 이평인 경우 연달아 놓여진 4개의 이평선 간격의 합 a = (ㄱ+ㄴ+ㄷ+ㄹ) b = (ㄴ+ㄷ+ㄹ+ㅁ) c = (ㄷ+ㄹ+ㅁ+ㅂ) . . . . z 3번. 2번에서 구해진 a~z중 그 값이 가장 작은 놈 3개를 찾습니다. 4번. 3번에서 찾은 세개의 값에 해당하는 이평선을 찾습니다. ex : a,b,c가 가장 작다고 했을 때 a = var1,2,3,4,5 b = var2,3,4,5,6 c = var3,4,5,6,7 이 찾아 질 것입니다. 5번. 4번에서 찾은 이평선들의 중간값을 찾습니다. ex : a = var1,2,3,4,5 중 (가장 큰 값 + 가장 작은 값 / 2) b = c = 6번. 5번에서 구해진 3개의 값을 점으로 찍습니다. 7번.그 점이 현재가와 가장 가까이 있으면서 현재가 위에 있으면 rgb(x,x,x)로 아래에 있으면 rgb(y,y,y)로 점을 찍습니다. 그 점이 현재가와 두번째로 가까이 있으면서 현재가 위에 있으면 rgb(x1,x1,x1)로 아래에 있으면 rgb(y1,y1,y1)로 점을 찍습니다. 그 점이 현재가와 가장 멀리 있으면서 현재가 위에 있으면 rgb(x2,x2,x2)로 아래에 있으면 rgb(y2,y2,y2)로 점을 찍습니다. 8번. 각각 세개의 점에 대한 이동평균선을 구합니다. ------------- 아 래 ---------------- input : P(22),n(2); var1 = ma(C,P); var2 = ma(C,P+n*1); var3 = ma(C,P+n*2); var4 = ma(C,P+n*3); var5 = ma(C,P+n*4); var6 = ma(C,P+n*5); var7 = ma(C,P+n*6); var8 = ma(C,P+n*7); var9 = ma(C,P+n*8); var10 = ma(C,P+n*9); var11 = ma(C,P+n*10); var12 = ma(C,P+n*11); var13 = ma(C,P+n*12); var14 = ma(C,P+n*13); var15 = ma(C,P+n*14); var16 = ma(C,P+n*15); var17 = ma(C,P+n*16); var18 = ma(C,P+n*17); var19 = ma(C,P+n*18); var20 = ma(C,P+n*19); Plot1(var1,"이평1",IFf(var1>Var20,RED,BLUE)); Plot2(var2,"이평2",IFf(var2>Var20,RED,BLUE)); Plot3(var3,"이평3",IFf(var3>Var20,RED,BLUE)); Plot4(var4,"이평4",IFf(var4>Var20,RED,BLUE)); Plot5(var5,"이평5",IFf(var5>Var20,RED,BLUE)); Plot6(var6,"이평6",IFf(var6>Var20,RED,BLUE)); Plot7(var7,"이평7",IFf(var7>Var20,RED,BLUE)); Plot8(var8,"이평8",IFf(var8>Var20,RED,BLUE)); Plot9(var9,"이평9",IFf(var9>Var20,RED,BLUE)); Plot10(var10,"이평10",IFf(var10>Var20,RED,BLUE)); Plot11(var11,"이평11",IFf(var11>Var20,RED,BLUE)); Plot12(var12,"이평12",IFf(var12>Var20,RED,BLUE)); Plot13(var13,"이평13",IFf(var13>Var20,RED,BLUE)); Plot14(var14,"이평14",IFf(var14>Var20,RED,BLUE)); Plot15(var15,"이평15",IFf(var15>Var20,RED,BLUE)); Plot16(var16,"이평16",IFf(var16>Var20,RED,BLUE)); Plot17(var17,"이평17",IFf(var17>Var20,RED,BLUE)); Plot18(var18,"이평18",IFf(var18>Var20,RED,BLUE)); Plot19(var19,"이평19",IFf(var19>Var20,RED,BLUE)); Plot20(var20,"이평20");