커뮤니티

오류 수정 부탁

프로필 이미지
광명
2009-01-20 07:26:46
776
글번호 19670
답변완료
아래식을 분봉에 적용해 신호가 나오는 날 첫 신호만 받고 싶어서 그런데요. (하루에 한번 매매만 하게...) 이렇게 했는데 안되네요. 수정 부탁합니다.^^ Input : shortPeriod(5), longPeriod(20), N(1); var : count(0); value1 = ema(C, shortPeriod); value2 = ema(C, longPeriod); Count = 0 ; for Value1 = 0 to 10 { if EntryDate( Value1 ) == sdate then Count = Count + 1; } # 매수/매도청산 If CrossUP(value1, value2)and count < N Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2)and count < N Then { Sell(); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-01-20 16:13:04

안녕하세요 예스스탁입니다. 식에서 사용되는 변수가 중복되어 있었습니다. value1은 단기이평도 할당받고 for문에서 0~10의 숫자도 할당받으로 서로 다른 값을 할당받는 변수는 이름을 따로 하셔야 합니다. Input : shortPeriod(5), longPeriod(20), N(1); var : count(0); value1 = ema(C, shortPeriod); value2 = ema(C, longPeriod); Count = 0 ; for value3 = 0 to 10 { if EntryDate( value3 ) == sdate then Count = Count + 1; } # 매수/매도청산 If CrossUP(value1, value2)and count < N Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2)and count < N Then { Sell(); } # 매수/매도청산 If CrossUP(value1, value2) Then { ExitShort(); } # 매도/매수청산 If CrossDown(value1, value2) Then { ExitLong(); } 즐거운 하루되세요 > 광명 님이 쓴 글입니다. > 제목 : 오류 수정 부탁 > 아래식을 분봉에 적용해 신호가 나오는 날 첫 신호만 받고 싶어서 그런데요. (하루에 한번 매매만 하게...) 이렇게 했는데 안되네요. 수정 부탁합니다.^^ Input : shortPeriod(5), longPeriod(20), N(1); var : count(0); value1 = ema(C, shortPeriod); value2 = ema(C, longPeriod); Count = 0 ; for Value1 = 0 to 10 { if EntryDate( Value1 ) == sdate then Count = Count + 1; } # 매수/매도청산 If CrossUP(value1, value2)and count < N Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2)and count < N Then { Sell(); }