커뮤니티

array 배열 문의드립니다. (수정)

프로필 이미지
주부
2004-08-22 18:34:15
1901
글번호 4886
답변완료
array: arrayc[99](0); a = dayindex()+1; if ma(c,5) > ma(c,5)[1] then arrayc[a] = ma(c,5); else arrayc[a] = 0; for b = 1 to a if arrayc[b] > 0 then buy(""); 위의 식대로 하면 매수시점의 값과 ma(c,5) > ma(c,5)[1] 일때 arrayc에 저장한 ma(c,5)의 값이 일치하지 않습니다. 결론은 ma(c,5) > ma(c,5)[1] 일때 (꺽일때만) 행번호를 arrayc 배열변수에 행번호에 해당하는 배열변수의 값은 ma(c,5) 의 값을 호에 저장하고 싶습니다. 아르켜주세요 게시판 담당자님의 상세한 설명 다시한번 감사드립니다.
시스템
답변 4
프로필 이미지

패스

2004-08-20 03:10:57

패스 님에 의해 삭제된 답변입니다.
프로필 이미지

예스스탁 예스스탁 답변

2004-08-20 15:01:53

안녕하세요 예스스탁입니다. 정확히 어떤 식인지 이해하지 못했습니다. 다만 a = dayindex()+1; if ma(c,5) > ma(c,5)[1] then arrayc[a] = ma(c,5); 위와 같이 작성했을 때 우선 오늘 첫봉에서 이평상승이었다면 1번방에 그때의 이평값이 저장되게 됩니다. 그리고 내일 첫봉에 또 이평상승이면 다시 1번방에 그때의 이평값을 저장하게 됩니다. 또한 for문 내에서 ma(c,5)를 호출하게 되면 한봉에서 지정된 횟수만큼 종가가 누적되어 평균가격을 산출하므로 의도와는 다른 값이 나옵니다. for문 밖에서 ma(c,5)를 변수 처리하는 방법으로 작성하시기 바랍니다 //현재봉부터 직전 100개 봉을 검색하여, 이평이 상승했을 때 //직전봉의 봉번호(현재봉번호를 0으로 했을때 현재봉부터의 번호) //를 arrayc[] 배열에 저장하고자 합니다. var : ix(0),ci(0); array : arrayc[100](0); // var1 = ma(c,5); //단기이평 ix=0; for ci = 0 to 100{ if (var1[ci] > var1[ci+1]) then //이평값이 전봉보다 클 때 { ix = ix +1; //인덱스 값 저장 arrayc[ix] = ci+1; } } 감사합니다. ====================================================================== > 주부 님이 쓴 글입니다. > 제목 : array 배열 문의드립니다. > array: arrayc[99](0); a = dayindex()+1; if ma(c,5) > ma(c,5)[1] then arrayc[a] = ma(c,5); else arrayc[a] = 0; for b = 1 to a if arrayc[b] > 0 then buy(""); 위의 식대로 하면 매수시점의 값과 ma(c,5) > ma(c,5)[1] 일때 arrayc에 저장한 ma(c,5)의 값이 일치하지 않습니다. 결론은 ma(c,5) > ma(c,5)[1] 일때 ma(c,5) 의 값을 arrayc 배열변수에 저장하고 싶습니다. 아르켜주세요
프로필 이미지

예스스탁 예스스탁 답변

2004-08-23 14:15:15

안녕하세요 예스스탁입니다. 답변이 늦어져 죄송합니다. 문의하신 식은 다음과 같습니다. ================================================================ array :arraya[99](0),arrayb[99](0); var : a(0); if ma(c,5) > ma(c,5)[1] and ma(C,5)[1] < ma(C,5)[2] then { a = dayindex()+1; arraya[a] = ma(c,5); arrayb[a] = a; } else{ arraya[a] = 0; arrayb[a] = 0; } if arraya[a] > 0 then buy(); if ma(c,5) < ma(c,5)[1] then//청산식은 임의로 만든것입니다. exitlong(); ========================================================== 모든 신호를 보기 위해 임의로 청산식을 추가했습니다. 다음의 지표식과 함께 보시기 바랍니다. ========================================================== array :arraya[99](0),arrayb[99](0); var : a(0); if ma(c,5) > ma(c,5)[1] and ma(C,5)[1] < ma(C,5)[2] then { a = dayindex()+1; arraya[a] = ma(c,5); arrayb[a] = a; } else{ arraya[a] = 0; arrayb[a] = 0; } plot1(arraya[a]); plot2(arrayb[a]); ================================================================ 즐거운 하루되세요 > 주부 님이 쓴 글입니다. > 제목 : array 배열 문의드립니다. (수정) > array: arrayc[99](0); a = dayindex()+1; if ma(c,5) > ma(c,5)[1] then arrayc[a] = ma(c,5); else arrayc[a] = 0; for b = 1 to a if arrayc[b] > 0 then buy(""); 위의 식대로 하면 매수시점의 값과 ma(c,5) > ma(c,5)[1] 일때 arrayc에 저장한 ma(c,5)의 값이 일치하지 않습니다. 결론은 ma(c,5) > ma(c,5)[1] 일때 (꺽일때만) 행번호를 arrayc 배열변수에 행번호에 해당하는 배열변수의 값은 ma(c,5) 의 값을 호에 저장하고 싶습니다. 아르켜주세요 게시판 담당자님의 상세한 설명 다시한번 감사드립니다.
프로필 이미지

주부

2004-08-24 07:57:08

.