커뮤니티

문의 드립니다.

프로필 이미지
juktomaa
2023-06-24 09:27:14
931
글번호 170055
답변완료
도저히 해결이 않되서 문의 드립니다. 아래의 코드는 동일한 코드입니다. 다만 1번 코드는 전략챠트에 참조데이터가 62개있고 그중 19째 데이터값(일일시가)을 디버깅하고 2번 코드는 전략챠트에 참조데이터가 2개있고 2번째 데이터값(일일시가)을 디버깅하게 되어있습니다. 제가 궁금한것은 참조데이터가 2개인 챠트에서는 2번코드가 정상작동 하였는데 참조데이터가 62개인 챠트에서는 1, 2번 코드 모두 디버깅값이 출력되지 않았습니다. 참조데이터는 옵션 행사가입니다. 32비트 , 64비트 동일했습니다. 제가 이해하기로는 참조데이터값은 data99번까지 사용 가능한것으로 알고있는데요... 제가 프로그램을 잘못 설정한 부분이 있는지 혹은 제 시스템이 문제인지 궁금합니다. Win10 , 메모리 24G 사용중입니다. code 1 Variables: 기준일(20230618) ; Array: Call_Day_O[70](0) ; if sdate > 기준일 Then { Call_Day_O[19] = data19(Dayopen) ; MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ; } code 2 Variables: 기준일(20230618) ; Array: Call_Day_O[70](0) ; if sdate > 기준일 Then { Call_Day_O[19] = data2(Dayopen) ; MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ; } 감사합니다.
검색
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2023-06-26 10:49:09

안녕하세요 예스스탁입니다. 1번과 2번 모두 수식이 잘못 작성되어 있습니다. Dayopen은 기본차트의 일간시가를 리턴하는 함수입니다. data19(Dayopen)은 만약 기본차트(data1)의 일간시가가 350이면 data19(350)으로 적는 것과 같습니다.참조데이터에서는 OpenD함수를 사용하셔야 합니다. 1 Variables: 기준일(20230618) ; Array: Call_Day_O[70](0) ; if sdate > 기준일 Then { Call_Day_O[19] = data19(OpenD(0)) ; MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ; } 2 variables: 기준일(20230618) ; Array: Call_Day_O[70](0) ; if sdate > 기준일 Then { Call_Day_O[19] = data2(OpenD(0)) ; MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ; } 즐거운 하루되세요 > juktomaa 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 도저히 해결이 않되서 문의 드립니다. 아래의 코드는 동일한 코드입니다. 다만 1번 코드는 전략챠트에 참조데이터가 62개있고 그중 19째 데이터값(일일시가)을 디버깅하고 2번 코드는 전략챠트에 참조데이터가 2개있고 2번째 데이터값(일일시가)을 디버깅하게 되어있습니다. 제가 궁금한것은 참조데이터가 2개인 챠트에서는 2번코드가 정상작동 하였는데 참조데이터가 62개인 챠트에서는 1, 2번 코드 모두 디버깅값이 출력되지 않았습니다. 참조데이터는 옵션 행사가입니다. 32비트 , 64비트 동일했습니다. 제가 이해하기로는 참조데이터값은 data99번까지 사용 가능한것으로 알고있는데요... 제가 프로그램을 잘못 설정한 부분이 있는지 혹은 제 시스템이 문제인지 궁금합니다. Win10 , 메모리 24G 사용중입니다. code 1 Variables: 기준일(20230618) ; Array: Call_Day_O[70](0) ; if sdate > 기준일 Then { Call_Day_O[19] = data19(Dayopen) ; MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ; } code 2 Variables: 기준일(20230618) ; Array: Call_Day_O[70](0) ; if sdate > 기준일 Then { Call_Day_O[19] = data2(Dayopen) ; MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ; } 감사합니다.
프로필 이미지

juktomaa

2023-06-26 12:08:54

제가 수정해주신 코드로 복사 붙여넣기를해서 테스트 해보았는데 여전히 동일한 결과를 얻었습니다. 왜 그럴까요 ? 참조데이터가 2개인곳은 정상 출력이 되었는데 62개인곳은 아무런 반응이 없었습니다. 번거롭게 해드려서 죄송합니다. 참고로 참조데이터19번은 콜 335.0으로 시가가 있습니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의 드립니다. > 안녕하세요 예스스탁입니다. 1번과 2번 모두 수식이 잘못 작성되어 있습니다. Dayopen은 기본차트의 일간시가를 리턴하는 함수입니다. data19(Dayopen)은 만약 기본차트(data1)의 일간시가가 350이면 data19(350)으로 적는 것과 같습니다.참조데이터에서는 OpenD함수를 사용하셔야 합니다. 1 Variables: 기준일(20230618) ; Array: Call_Day_O[70](0) ; if sdate > 기준일 Then { Call_Day_O[19] = data19(OpenD(0)) ; MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ; } 2 variables: 기준일(20230618) ; Array: Call_Day_O[70](0) ; if sdate > 기준일 Then { Call_Day_O[19] = data2(OpenD(0)) ; MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ; } 즐거운 하루되세요 > juktomaa 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 도저히 해결이 않되서 문의 드립니다. 아래의 코드는 동일한 코드입니다. 다만 1번 코드는 전략챠트에 참조데이터가 62개있고 그중 19째 데이터값(일일시가)을 디버깅하고 2번 코드는 전략챠트에 참조데이터가 2개있고 2번째 데이터값(일일시가)을 디버깅하게 되어있습니다. 제가 궁금한것은 참조데이터가 2개인 챠트에서는 2번코드가 정상작동 하였는데 참조데이터가 62개인 챠트에서는 1, 2번 코드 모두 디버깅값이 출력되지 않았습니다. 참조데이터는 옵션 행사가입니다. 32비트 , 64비트 동일했습니다. 제가 이해하기로는 참조데이터값은 data99번까지 사용 가능한것으로 알고있는데요... 제가 프로그램을 잘못 설정한 부분이 있는지 혹은 제 시스템이 문제인지 궁금합니다. Win10 , 메모리 24G 사용중입니다. code 1 Variables: 기준일(20230618) ; Array: Call_Day_O[70](0) ; if sdate > 기준일 Then { Call_Day_O[19] = data19(Dayopen) ; MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ; } code 2 Variables: 기준일(20230618) ; Array: Call_Day_O[70](0) ; if sdate > 기준일 Then { Call_Day_O[19] = data2(Dayopen) ; MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ; } 감사합니다.