커뮤니티

그물망 이평선들의 표준편차를 구할려고 합니다.

프로필 이미지
해선쓰나미
2017-03-23 23:53:52
264
글번호 108148
답변완료

첨부 이미지

그물망 이평선 50개의 지표식에다 덧붙여서 이평선들의 표준편차를 구할려고 했으나, 간단한 수학식은 제공되지 않아서 표준편차의 공식을 사용해서 값을 구할려고 했지만, 아래와 같이 에러가 계속 나오는데, 이유가 뭘까요? 소스는 아래와 같습니다. // >>> 소스 코드 <<< Input : Period(5); array : NetMa[50](0); //그물망 이평선 값들 var : sngSum(0), sngAvg(0); // 합계, 평균 var : sngV(0), sngSd(0); // 분산, 표준편차 var : i(0), j(0); // 임시 변수 NetMa[0] = ma(C,Period*1); NetMa[1] = ma(C,Period*2); NetMa[2] = ma(C,Period*3); NetMa[3] = ma(C,Period*4); NetMa[4] = ma(C,Period*5); NetMa[5] = ma(C,Period*6); NetMa[6] = ma(C,Period*7); NetMa[7] = ma(C,Period*8); NetMa[8] = ma(C,Period*9); NetMa[9] = ma(C,Period*10); NetMa[10] = ma(C,Period*11); NetMa[11] = ma(C,Period*12); NetMa[12] = ma(C,Period*13); NetMa[13] = ma(C,Period*14); NetMa[14] = ma(C,Period*15); NetMa[15] = ma(C,Period*16); NetMa[16] = ma(C,Period*17); NetMa[17] = ma(C,Period*18); NetMa[18] = ma(C,Period*19); NetMa[19] = ma(C,Period*20); NetMa[20] = ma(C,Period*21); NetMa[21] = ma(C,Period*22); NetMa[22] = ma(C,Period*23); NetMa[23] = ma(C,Period*24); NetMa[24] = ma(C,Period*25); NetMa[25] = ma(C,Period*26); NetMa[26] = ma(C,Period*27); NetMa[27] = ma(C,Period*28); NetMa[28] = ma(C,Period*29); NetMa[29] = ma(C,Period*30); NetMa[30] = ma(C,Period*31); NetMa[31] = ma(C,Period*32); NetMa[32] = ma(C,Period*33); NetMa[33] = ma(C,Period*34); NetMa[34] = ma(C,Period*35); NetMa[35] = ma(C,Period*36); NetMa[36] = ma(C,Period*37); NetMa[37] = ma(C,Period*38); NetMa[38] = ma(C,Period*39); NetMa[39] = ma(C,Period*40); NetMa[40] = ma(C,Period*41); NetMa[41] = ma(C,Period*42); NetMa[42] = ma(C,Period*43); NetMa[43] = ma(C,Period*44); NetMa[44] = ma(C,Period*45); NetMa[45] = ma(C,Period*46); NetMa[46] = ma(C,Period*47); NetMa[47] = ma(C,Period*48); NetMa[48] = ma(C,Period*49); NetMa[49] = ma(C,Period*50); for i = 0 to 49 { sngSum = sngSum + NetMa[i]; } sngAvg = sngSum / 50.; // 평균 구하기 MessageLog(" Total : %.5f", sngSum); for j = 0 to 49 { sngV = sngV + Square(NetMa[j] - sngAvg); } sngSd = sqrt(sngV); MessageLog("mean : %.3f 분산 : %.3f Sd : %.3f ", sngAvg, sngV, sngSd); plot51( sngAvg, "avg"); plot1(NetMa[0], "MA1"); plot2(NetMa[1], "MA2"); plot3(NetMa[2], "MA3"); plot4(NetMa[3], "MA4"); plot5(NetMa[4], "MA5"); plot6(NetMa[5], "MA6"); plot7(NetMa[6], "MA7"); plot8(NetMa[7], "MA8"); plot9(NetMa[8], "MA9"); plot10(NetMa[9], "MA10"); plot11(NetMa[10], "MA11"); plot12(NetMa[11], "MA12"); plot13(NetMa[12], "MA13"); plot14(NetMa[13], "MA14"); plot15(NetMa[14], "MA15"); plot16(NetMa[15], "MA16"); plot17(NetMa[16], "MA17"); plot18(NetMa[17], "MA18"); plot19(NetMa[18], "MA19"); plot20(NetMa[19], "MA20"); plot21(NetMa[20], "MA21"); plot22(NetMa[21], "MA22"); plot23(NetMa[22], "MA23"); plot24(NetMa[23], "MA24"); plot25(NetMa[24], "MA25"); plot26(NetMa[25], "MA26"); plot27(NetMa[26], "MA27"); plot28(NetMa[27], "MA28"); plot29(NetMa[28], "MA29"); plot30(NetMa[29], "MA30"); plot31(NetMa[30], "MA31"); plot32(NetMa[31], "MA32"); plot33(NetMa[32], "MA33"); plot34(NetMa[33], "MA34"); plot35(NetMa[34], "MA35"); plot36(NetMa[35], "MA36"); plot37(NetMa[36], "MA37"); plot38(NetMa[37], "MA38"); plot39(NetMa[38], "MA39"); plot40(NetMa[39], "MA40"); plot41(NetMa[40], "MA41"); plot42(NetMa[41], "MA42"); plot43(NetMa[42], "MA43"); plot44(NetMa[43], "MA44"); plot45(NetMa[44], "MA45"); plot46(NetMa[45], "MA46"); plot47(NetMa[46], "MA47"); plot48(NetMa[47], "MA48"); plot49(NetMa[48], "MA49"); plot50(NetMa[49], "MA50");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-03-24 14:08:07

안녕하세요 예스스탁입니다. 1 50개의 이평이 모두 계산되지 못한 상태(N/A)에서 값을 합치거나 하므로 계산을 할수 없게 됩니다. NetMa[49]까지 계산되어 모두 0이상의 값을 가진 후부터 계산하고 출력할수 있게 조건을 추가하시면 됩니다. 2 매봉50개 이평의 값을 합산하므로 합산하는 변수는 for문에 들어가기전 에 0으로 초기화 해주셔야 합니다. 3 Input : Period(5); array : NetMa[50](0); //그물망 이평선 값들 var : sngSum(0), sngAvg(0); // 합계, 평균 var : sngV(0), sngSd(0); // 분산, 표준편차 var : i(0), j(0); // 임시 변수 NetMa[0] = ma(C,Period*1); NetMa[1] = ma(C,Period*2); NetMa[2] = ma(C,Period*3); NetMa[3] = ma(C,Period*4); NetMa[4] = ma(C,Period*5); NetMa[5] = ma(C,Period*6); NetMa[6] = ma(C,Period*7); NetMa[7] = ma(C,Period*8); NetMa[8] = ma(C,Period*9); NetMa[9] = ma(C,Period*10); NetMa[10] = ma(C,Period*11); NetMa[11] = ma(C,Period*12); NetMa[12] = ma(C,Period*13); NetMa[13] = ma(C,Period*14); NetMa[14] = ma(C,Period*15); NetMa[15] = ma(C,Period*16); NetMa[16] = ma(C,Period*17); NetMa[17] = ma(C,Period*18); NetMa[18] = ma(C,Period*19); NetMa[19] = ma(C,Period*20); NetMa[20] = ma(C,Period*21); NetMa[21] = ma(C,Period*22); NetMa[22] = ma(C,Period*23); NetMa[23] = ma(C,Period*24); NetMa[24] = ma(C,Period*25); NetMa[25] = ma(C,Period*26); NetMa[26] = ma(C,Period*27); NetMa[27] = ma(C,Period*28); NetMa[28] = ma(C,Period*29); NetMa[29] = ma(C,Period*30); NetMa[30] = ma(C,Period*31); NetMa[31] = ma(C,Period*32); NetMa[32] = ma(C,Period*33); NetMa[33] = ma(C,Period*34); NetMa[34] = ma(C,Period*35); NetMa[35] = ma(C,Period*36); NetMa[36] = ma(C,Period*37); NetMa[37] = ma(C,Period*38); NetMa[38] = ma(C,Period*39); NetMa[39] = ma(C,Period*40); NetMa[40] = ma(C,Period*41); NetMa[41] = ma(C,Period*42); NetMa[42] = ma(C,Period*43); NetMa[43] = ma(C,Period*44); NetMa[44] = ma(C,Period*45); NetMa[45] = ma(C,Period*46); NetMa[46] = ma(C,Period*47); NetMa[47] = ma(C,Period*48); NetMa[48] = ma(C,Period*49); NetMa[49] = ma(C,Period*50); if NetMa[49] > 0 then{ sngSum = 0; for i = 0 to 49 { sngSum = sngSum + NetMa[i]; } sngAvg = sngSum / 50; // 평균 구하기 MessageLog(" Total : %.5f", sngSum); for j = 0 to 49 { sngV = sngV + Square(NetMa[j] - sngAvg); } sngSd = sqrt(sngV); MessageLog("mean : %.3f 분산 : %.3f Sd : %.3f ", sngAvg, sngV, sngSd); plot51( sngAvg, "avg"); } plot1(NetMa[0], "MA1"); plot2(NetMa[1], "MA2"); plot3(NetMa[2], "MA3"); plot4(NetMa[3], "MA4"); plot5(NetMa[4], "MA5"); plot6(NetMa[5], "MA6"); plot7(NetMa[6], "MA7"); plot8(NetMa[7], "MA8"); plot9(NetMa[8], "MA9"); plot10(NetMa[9], "MA10"); plot11(NetMa[10], "MA11"); plot12(NetMa[11], "MA12"); plot13(NetMa[12], "MA13"); plot14(NetMa[13], "MA14"); plot15(NetMa[14], "MA15"); plot16(NetMa[15], "MA16"); plot17(NetMa[16], "MA17"); plot18(NetMa[17], "MA18"); plot19(NetMa[18], "MA19"); plot20(NetMa[19], "MA20"); plot21(NetMa[20], "MA21"); plot22(NetMa[21], "MA22"); plot23(NetMa[22], "MA23"); plot24(NetMa[23], "MA24"); plot25(NetMa[24], "MA25"); plot26(NetMa[25], "MA26"); plot27(NetMa[26], "MA27"); plot28(NetMa[27], "MA28"); plot29(NetMa[28], "MA29"); plot30(NetMa[29], "MA30"); plot31(NetMa[30], "MA31"); plot32(NetMa[31], "MA32"); plot33(NetMa[32], "MA33"); plot34(NetMa[33], "MA34"); plot35(NetMa[34], "MA35"); plot36(NetMa[35], "MA36"); plot37(NetMa[36], "MA37"); plot38(NetMa[37], "MA38"); plot39(NetMa[38], "MA39"); plot40(NetMa[39], "MA40"); plot41(NetMa[40], "MA41"); plot42(NetMa[41], "MA42"); plot43(NetMa[42], "MA43"); plot44(NetMa[43], "MA44"); plot45(NetMa[44], "MA45"); plot46(NetMa[45], "MA46"); plot47(NetMa[46], "MA47"); plot48(NetMa[47], "MA48"); plot49(NetMa[48], "MA49"); plot50(NetMa[49], "MA50"); 즐거운 하루되세요 > 해선쓰나미 님이 쓴 글입니다. > 제목 : 그물망 이평선들의 표준편차를 구할려고 합니다. > 그물망 이평선 50개의 지표식에다 덧붙여서 이평선들의 표준편차를 구할려고 했으나, 간단한 수학식은 제공되지 않아서 표준편차의 공식을 사용해서 값을 구할려고 했지만, 아래와 같이 에러가 계속 나오는데, 이유가 뭘까요? 소스는 아래와 같습니다. // >>> 소스 코드 <<< Input : Period(5); array : NetMa[50](0); //그물망 이평선 값들 var : sngSum(0), sngAvg(0); // 합계, 평균 var : sngV(0), sngSd(0); // 분산, 표준편차 var : i(0), j(0); // 임시 변수 NetMa[0] = ma(C,Period*1); NetMa[1] = ma(C,Period*2); NetMa[2] = ma(C,Period*3); NetMa[3] = ma(C,Period*4); NetMa[4] = ma(C,Period*5); NetMa[5] = ma(C,Period*6); NetMa[6] = ma(C,Period*7); NetMa[7] = ma(C,Period*8); NetMa[8] = ma(C,Period*9); NetMa[9] = ma(C,Period*10); NetMa[10] = ma(C,Period*11); NetMa[11] = ma(C,Period*12); NetMa[12] = ma(C,Period*13); NetMa[13] = ma(C,Period*14); NetMa[14] = ma(C,Period*15); NetMa[15] = ma(C,Period*16); NetMa[16] = ma(C,Period*17); NetMa[17] = ma(C,Period*18); NetMa[18] = ma(C,Period*19); NetMa[19] = ma(C,Period*20); NetMa[20] = ma(C,Period*21); NetMa[21] = ma(C,Period*22); NetMa[22] = ma(C,Period*23); NetMa[23] = ma(C,Period*24); NetMa[24] = ma(C,Period*25); NetMa[25] = ma(C,Period*26); NetMa[26] = ma(C,Period*27); NetMa[27] = ma(C,Period*28); NetMa[28] = ma(C,Period*29); NetMa[29] = ma(C,Period*30); NetMa[30] = ma(C,Period*31); NetMa[31] = ma(C,Period*32); NetMa[32] = ma(C,Period*33); NetMa[33] = ma(C,Period*34); NetMa[34] = ma(C,Period*35); NetMa[35] = ma(C,Period*36); NetMa[36] = ma(C,Period*37); NetMa[37] = ma(C,Period*38); NetMa[38] = ma(C,Period*39); NetMa[39] = ma(C,Period*40); NetMa[40] = ma(C,Period*41); NetMa[41] = ma(C,Period*42); NetMa[42] = ma(C,Period*43); NetMa[43] = ma(C,Period*44); NetMa[44] = ma(C,Period*45); NetMa[45] = ma(C,Period*46); NetMa[46] = ma(C,Period*47); NetMa[47] = ma(C,Period*48); NetMa[48] = ma(C,Period*49); NetMa[49] = ma(C,Period*50); for i = 0 to 49 { sngSum = sngSum + NetMa[i]; } sngAvg = sngSum / 50.; // 평균 구하기 MessageLog(" Total : %.5f", sngSum); for j = 0 to 49 { sngV = sngV + Square(NetMa[j] - sngAvg); } sngSd = sqrt(sngV); MessageLog("mean : %.3f 분산 : %.3f Sd : %.3f ", sngAvg, sngV, sngSd); plot51( sngAvg, "avg"); plot1(NetMa[0], "MA1"); plot2(NetMa[1], "MA2"); plot3(NetMa[2], "MA3"); plot4(NetMa[3], "MA4"); plot5(NetMa[4], "MA5"); plot6(NetMa[5], "MA6"); plot7(NetMa[6], "MA7"); plot8(NetMa[7], "MA8"); plot9(NetMa[8], "MA9"); plot10(NetMa[9], "MA10"); plot11(NetMa[10], "MA11"); plot12(NetMa[11], "MA12"); plot13(NetMa[12], "MA13"); plot14(NetMa[13], "MA14"); plot15(NetMa[14], "MA15"); plot16(NetMa[15], "MA16"); plot17(NetMa[16], "MA17"); plot18(NetMa[17], "MA18"); plot19(NetMa[18], "MA19"); plot20(NetMa[19], "MA20"); plot21(NetMa[20], "MA21"); plot22(NetMa[21], "MA22"); plot23(NetMa[22], "MA23"); plot24(NetMa[23], "MA24"); plot25(NetMa[24], "MA25"); plot26(NetMa[25], "MA26"); plot27(NetMa[26], "MA27"); plot28(NetMa[27], "MA28"); plot29(NetMa[28], "MA29"); plot30(NetMa[29], "MA30"); plot31(NetMa[30], "MA31"); plot32(NetMa[31], "MA32"); plot33(NetMa[32], "MA33"); plot34(NetMa[33], "MA34"); plot35(NetMa[34], "MA35"); plot36(NetMa[35], "MA36"); plot37(NetMa[36], "MA37"); plot38(NetMa[37], "MA38"); plot39(NetMa[38], "MA39"); plot40(NetMa[39], "MA40"); plot41(NetMa[40], "MA41"); plot42(NetMa[41], "MA42"); plot43(NetMa[42], "MA43"); plot44(NetMa[43], "MA44"); plot45(NetMa[44], "MA45"); plot46(NetMa[45], "MA46"); plot47(NetMa[46], "MA47"); plot48(NetMa[47], "MA48"); plot49(NetMa[48], "MA49"); plot50(NetMa[49], "MA50");