커뮤니티

루프문에서.

프로필 이미지
회원
2004-10-25 10:38:11
874
글번호 5517
답변완료
for 루프문에... ma함수는 먹히질 않는데요.. 아래문장중 뭐가 잘못된건지요.? input:이평갯수(5); array:PmaL[10](0),Pma[10](0); for var1= 1 to 이평갯수 { PmaL[var1]=var1*5;} for var1= 1 to 이평갯수 { Pma[var1]=ma(c,PmaL[var1]); } Plot1(Ma(c,PmaL[4]));//<<========이건 나오는데여.. Plot2(Pma[4]);//<<===== 이건 나오지가 않습니다.... ------------------------------------ 아무리 해 봐도 않돼네여.. 루프에서 ma값을 루푸안에서 넣어주려하면.. 이거만 &#45326;으면.. for 문이든..while 문이든 안먹습니다.!해결좀 부탁합니다... 한가지 수식도 부탁드립니다.... 분봉에서.. 몇분봉이든 상관없습니다.. 이평값은 세분하여 그 간격을 1로 잡습니다.(2이평 3이평 4이평...이렇게) 1. 전일 최고가 시점(시각)에서의 봉종가를 포함하여 정배열을 이루는 이평선이.. 이평2부터.. 몇까지 인가... 2. 전일 최저가 시점(시각)에서의 봉종가를 포함하여 역배열을 이루는 이평선이 이평2부터.. 몇까지 인가.. ... 부탁드립니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2004-10-27 11:18:15

안녕하세요 예스스탁입니다. 문의하신 식을 수정했습니다. 1. input:이평갯수(5); var : count(0); array:PmaL[10](0),Pma[10](0); Pmal[count] =0; for count= 1 to 이평갯수 { PmaL[count]=count*5; } Plot1(Ma(c,PmaL[4])); 문의하신 내용은 for문 안에서 주기가 들어가는 함수를 썼을때 발생하는 현상입니다. 주기가 들어가는 함수를 썼을 경우 각각의 bar마다 값을 저장하게 되는데, for문을 수행할때는 하나의 bar에서 주기가 계속 변동하는 현상 때문에 제기하신 문제가 발생되었습니다. for문 안에 주기가 들어가는 함수를 쓸 경우 의도와는 다른 연산을 하게 되므로 내용을 풀어서 작성해 주셔야 됩니다 2. var :MAXH(0),ma2(0),ma3(0),ma4(0),ma5(0),ma6(0),ma7(0),ma8(0),ma9(0),ma10(0); var :preMAXH(0),prema2(0),prema3(0),prema4(0),prema5(0); var :prema6(0),prema7(0),prema8(0),prema9(0),prema10(0); if date != date[1] then{ MAXH = 0; ma2 = 0; ma3 = 0; ma4 = 0; ma5 = 0; ma6 = 0; ma7 = 0; ma8 = 0; ma9 = 0; ma10 = 0; } if H > MAXH then{ MAXH = H; ma2 = ma(c,2); ma3 = ma(c,3); ma4 = ma(c,4); ma5 = ma(c,5); ma6 = ma(c,6); ma7 = ma(c,7); ma8 = ma(c,8); ma9 = ma(c,9); ma10 = ma(c,10); } if dayindex() ==0 then{ preMAXH = MAXH[1]; prema2 = ma2[1]; prema3 = ma3[1]; prema4 = ma4[1]; prema5 = ma5[1]; prema6 = ma6[1]; prema7 = ma7[1]; prema8 = ma8[1]; prema9 = ma9[1]; prema10 = ma10[1]; } /* 역배열 상태에 따른 값 할당 ma2 > ma3 > ma4 > ma5 이면 배열형태7 ma3 > ma2 > ma4 > ma5 이면 배열형태6 ma3 > ma4 > ma2 > ma5 이면 배열형태5 ma4 > ma3 > ma2 > ma5 이면 배열형태4 ma4 > ma3 > ma5 > ma2 이면 배열형태3 ma4 > ma5 > ma3 > ma2 이면 배열형태2 ma5 > ma4 > ma3 > ma2 이면 배열형태1 */ if prema2 > prema3 and prema3 > prema4 and prema4 > prema5 then var1 = 7; if prema3 > prema2 and prema3 > prema4 and prema4 > prema5 then var1 = 6; if prema3 > prema4 and prema4 > prema2 and prema2 > prema5 then var1 = 5; if prema4 > prema3 and prema3 > prema2 and prema2 > prema5 then var1 = 4; if prema4 > prema3 and prema3 > prema5 and prema5 > prema2 then var1 = 3; if prema4 > prema5 and prema5 > prema3 and prema3 > prema2 then var1 = 2; if prema5 > prema4 and prema4 > prema3 and prema3 > prema2 then var1 = 1; /* 정배열 상태에 따른 값 할당 ma5 > ma4 > ma3 > ma2 배열형태1 ma5 > ma4 > ma3 > ma3 배열형태2 ma5 > ma2 > ma4 > ma3 배열형태3 ma5 > ma2 > ma3 > ma4 배열형태4 ma2 > ma5 > ma3 > ma4 배열형태5 ma2 > ma3 > ma5 > ma4 배열형태6 ma2 > ma3 > ma4 > ma5 배열형태7 */ if prema5 > prema4 and prema4 > prema3 and prema3 > prema2 then var2 = 1; if prema5 > prema4 and prema4 > prema3 and prema2 > prema3 then var2 = 2; if prema5 > prema2 and prema2 > prema4 and prema4 > prema3 then var2 = 3; if prema5 > prema2 and prema2 > prema3 and prema3 > prema4 then var2 = 4; if prema2 > prema5 and prema2 > prema3 and prema3 > prema4 then var2 = 5; if prema2 > prema3 and prema3 > prema5 and prema5 > prema4 then var2 = 6; if prema2 > prema3 and prema3 > prema4 and prema4 > prema5 then var2 = 7; plot1(var1); //역배열 상태값 plot2(var2); //정배열 상태값 즐거운 하루되세요 > CJ_gusaraz 님이 쓴 글입니다. > 제목 : 루프문에서. > for 루프문에... ma함수는 먹히질 않는데요.. 아래문장중 뭐가 잘못된건지요.? input:이평갯수(5); array:PmaL[10](0),Pma[10](0); for var1= 1 to 이평갯수 { PmaL[var1]=var1*5;} for var1= 1 to 이평갯수 { Pma[var1]=ma(c,PmaL[var1]); } Plot1(Ma(c,PmaL[4]));//<<========이건 나오는데여.. Plot2(Pma[4]);//<<===== 이건 나오지가 않습니다.... ------------------------------------ 아무리 해 봐도 않돼네여.. 루프에서 ma값을 루푸안에서 넣어주려하면.. 이거만 &#45326;으면.. for 문이든..while 문이든 안먹습니다.!해결좀 부탁합니다... 한가지 수식도 부탁드립니다.... 분봉에서.. 몇분봉이든 상관없습니다.. 이평값은 세분하여 그 간격을 1로 잡습니다.(2이평 3이평 4이평...이렇게) 1. 전일 최고가 시점(시각)에서의 봉종가를 포함하여 정배열을 이루는 이평선이.. 이평2부터.. 몇까지 인가... 2. 전일 최저가 시점(시각)에서의 봉종가를 포함하여 역배열을 이루는 이평선이 이평2부터.. 몇까지 인가.. ... 부탁드립니다