첨부 이미지
그림1
var : a("안녕");
Text_New(20210111,110000,80000,a);
MessageLog("%s",a);
이런 코드가 있는데요. 제가 생각하기에
디버그를 하면 출력값이
안녕 이라고 1개만 나와야할텐데,
300개의 바에 대해서 각 시간마다 안녕이라고 출력되버립니다.
그렇다는 것은
질문: 제가 a라는 변수를 선언했지만 사실상 a는 동일한 값이 300개가 있는 배열으로 정의된건가요? 300개의 공간이 있는 배열인건가요??
답변 1
예스스탁
예스스탁 답변
2021-01-26 16:42:50
안녕하세요
예스스탁입니다.
1
모든수식은 차트에 적용되면
차트의 가장 과거봉부터 현재봉으로 오면서 봉마다 계산을 하게 됩니다.
2
var : a("안녕");
MessageLog("%s",a);
a는 "안녕"이라는 텍스트가 저장된 변수입니다.
첫봉에서 MessageLog동작 ->
두번째봉에서 MessageLog동작 ->
세번쨰봉에서 MessageLog동작...
와 같이 매봉 a를 출력하라고 하므로 차트의 봉개수만큼 출력되는 것입니다.
즉 a가 벼열이 아니라 출력명령을 매봉한것일 뿐입니다.
3
선언되는 변수는 사용자가 수식에서 필요한 만큼 과거봉이 값을 배열형식으로 저장하게 됩니다.
하지만 선언되는 변수가 무조건 배열이 되는 것이 아니고
예를들어 수식상에 a[3]과 같이 3봉전 a에 저장된 값을 호출하는 내용등이 있으면
수식내에서 필요한 과거봉만큼 배열로 저장해 주게 됩니다.
즐거운 하루되세요
> ravit 님이 쓴 글입니다.
> 제목 : 디버깅하면 모든시간에 대해서 변수가 출력되버립니다.
> var : a("안녕");
Text_New(20210111,110000,80000,a);
MessageLog("%s",a);
이런 코드가 있는데요. 제가 생각하기에
디버그를 하면 출력값이
안녕 이라고 1개만 나와야할텐데,
300개의 바에 대해서 각 시간마다 안녕이라고 출력되버립니다.
그렇다는 것은
질문: 제가 a라는 변수를 선언했지만 사실상 a는 동일한 값이 300개가 있는 배열으로 정의된건가요? 300개의 공간이 있는 배열인건가요??