커뮤니티

배열변수가 와야 한다는데...

프로필 이미지
파문일기
2015-04-07 18:24:47
199
글번호 84847
답변완료
Input : j(0), k(0), shortPeriod(12), longPeriod(26), Period(9); Var : value(0) , macdosc(0) ; Array : Fvolm[21](0),Fvolms[21](0); If Index == 0 and CrossUp(data1(Volume),320000) and C >= O Then Fvolm[0] = data1(O); If Index >= 0 and CrossUp(data1(Volume),320000) and C >= O Then { Fvolm[0] = data1(O); for j = 0 To 10 { Fvolm[j+1] = Fvolm[j][1]; } } If Index >= 0 and CrossUp(data1(Volume),320000) and C < O Then FvolmS[0] = data1(O); If Index >= 0 and CrossUp(data1(Volume),320000) and C < O Then { FvolmS[0] = data1(O); for j = 0 To 10 { FvolmS[j+1] = FvolmS[j][1]; } } value = MACD(shortPeriod, longPeriod); macdosc = value-ema(value,Period); efriendglobalyestrader에서 모의투자 시스템식 테스트 중입니다. 거래량이 일정수량을 넘으면 수평선을 기록하는제 지표식에서는 됩니다. 시스테식에 이용하려다보니, 배열의 요소가 와야하고, 대입문의 '변수 = 초기값'이 와야 한다고 나오는데...... 점검 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-04-08 11:02:45

안녕하세요 예스스탁입니다. 변수 j는 수식내에서 값을 할당받아야 하는 변수입니다. var변수로 선언하셔야 합니다. 기존은 input변수로 처리가 되어 있었습니다. Input : shortPeriod(12), longPeriod(26), Period(9); Var : j(0), value(0) , macdosc(0) ; Array : Fvolm[21](0),Fvolms[21](0); If Index == 0 and CrossUp(data1(Volume),320000) and C >= O Then Fvolm[0] = data1(O); If Index >= 0 and CrossUp(data1(Volume),320000) and C >= O Then { Fvolm[0] = data1(O); for j = 0 To 10 { Fvolm[j+1] = Fvolm[j][1]; } } If Index >= 0 and CrossUp(data1(Volume),320000) and C < O Then FvolmS[0] = data1(O); If Index >= 0 and CrossUp(data1(Volume),320000) and C < O Then { FvolmS[0] = data1(O); for j = 0 To 10 { FvolmS[j+1] = FvolmS[j][1]; } } value = MACD(shortPeriod, longPeriod); macdosc = value-ema(value,Period); 즐거운 하루되세요 > 파문일기 님이 쓴 글입니다. > 제목 : 배열변수가 와야 한다는데... > Input : j(0), k(0), shortPeriod(12), longPeriod(26), Period(9); Var : value(0) , macdosc(0) ; Array : Fvolm[21](0),Fvolms[21](0); If Index == 0 and CrossUp(data1(Volume),320000) and C >= O Then Fvolm[0] = data1(O); If Index >= 0 and CrossUp(data1(Volume),320000) and C >= O Then { Fvolm[0] = data1(O); for j = 0 To 10 { Fvolm[j+1] = Fvolm[j][1]; } } If Index >= 0 and CrossUp(data1(Volume),320000) and C < O Then FvolmS[0] = data1(O); If Index >= 0 and CrossUp(data1(Volume),320000) and C < O Then { FvolmS[0] = data1(O); for j = 0 To 10 { FvolmS[j+1] = FvolmS[j][1]; } } value = MACD(shortPeriod, longPeriod); macdosc = value-ema(value,Period); efriendglobalyestrader에서 모의투자 시스템식 테스트 중입니다. 거래량이 일정수량을 넘으면 수평선을 기록하는제 지표식에서는 됩니다. 시스테식에 이용하려다보니, 배열의 요소가 와야하고, 대입문의 '변수 = 초기값'이 와야 한다고 나오는데...... 점검 부탁드립니다.