커뮤니티
yl도움말중 이해가 안가는 부분이 있습니다.
2014-03-25 00:00:00
203
글번호 73840
1.지금 예스트레이더로 모의투자를 하는데 선물만 적용이 되고 옵션 주식등은
적용이 되지 않네요. (물론 시뮬레이션챠트는 적용됩니다.)
모의투자도 옵션이나 주식등이 가능하게 할 계획은 있습니까?
2.
var :cnt(0), sum(0)
sum = 0
for cnt =0 to 9 {
sum = sum + c[cnt];
}
여기서 sum = 0 을 해주는 이유가 누적되는것을 막기 위해서 한다고 했는데
이미 var 선언시에 초기값을 0으로 설정해 줘서 따로 안해줘도 되는거 아닌지요?
만약 해야된다면
var : cnt(0)
array :weekc[99](0)
if dayofweek(date) < dayofweek(date)[1] then
for cnt =1 to 98
weekc[cnt] = week[cnt-1][1];
위에 식에서는 weekc = 0으로 하지 않아도 되는지요?
이것도 초기화 하지 않으면 weekc값이 98값으로 저장되어 있는거 아닌지요?
3.
그리고 week[cnt-1][1] 이것의 정확한 의미가 뭔지 잘 이해가 안가네요
[] 는 전의 값을 참조하는 것인데
만약 cnt =1 라면
weekc[1] = week[0][1]; 되는데 week[0][1] 여기서 [0]는 현재값인데 그다음인[1]은
무엇을 나타내는지요?
답변 1
예스스탁 예스스탁 답변
2014-03-25 18:21:49
안녕하세요
예스스탁입니다.
1.
예 아직까지 모의투자에 대해 잡힌 계획이 없습니다.
2.
var 내부변수 선언은 해당 변수의 최초값입니다.
즉 첫봉에서의 값이라고 보시면 됩니다.
매봉 var를 읽어 지정한 값으로 초기화가 되는 것은 아닙니다.
3.
#1번 for문
var :cnt(0), sum(0);
sum = 0;
for cnt =0 to 9 {
sum = sum + c[cnt];
}
#2번 for문
var : cnt(0);
array :weekc[99](0);
if dayofweek(date) < dayofweek(date)[1] then {
for cnt =1 to 98 {
weekc[cnt] = weekc[cnt-1][1];
}
}
for문 전에 값을 초기화 여부는 구현하고자 하는 내용에 따라 다릅니다.
1번과 2번은 성격이 다른 내용입니다.
1번식은 현재봉에서 과거봉의 값을 불러오 sum이른 변수에 누적하는 것입니다.
매봉 sum에 값을 누적해야 하므로 봉이 새로 생겨 다시 계산할때는 sum을 0으로 초기화 하는 것입니다.
2번식은 값을 누적하는 식이 아닙니다.
if dayofweek(date) < dayofweek(date)[1] then {
새로운 한주가 시작이 되면
배열변수의 각 방에 저장된 값을 아래와 같이 다음방으로 이동시키는 식입니다.
즉 WeekC[0]에는 새로운 값을 넣어야 하므로 기존의 저장된 값을 다음순번의 방에 차례대로
이동시키는 내용입니다.
weekC[0] --> weekc[1]
weekC[1] --> weekc[2]
weekC[2] --> weekc[3]
weekC[3] --> weekc[4]
...
weekC[97] --> weekc[98]
3.
array :weekc[99](0)
위 배열변수는 총 99개(0~98)의 방을 가지는 변수입니다.
배열변수는 weel[0],week[1]...week[98]과 같이 배열방을 지정해서 값을 저장하고
한봉전에 해당 배열방의 값을 가져오려면 그 뒤에 [1]을 붙이게 됩니다.
week[0][1]은 0번방에 한봉전에 저장된 값을 나타냅니다.
week[0]까지가 변수명이고 그뒤의 [1]이 이전값 참조입니다.
cnt가 1일때 weekc[1] = week[0][1]; -->1번방에 0번방의 1봉전값을 저장
cnt가 2일때 weekc[2] = week[1][1]; -->2번방에 1번방의 1봉전값을 저장
cnt가 3일때 weekc[3] = week[2][1]; -->3번방에 2번방의 1봉전값을 저장
cnt가 98일때 weekc[98] = week[97][1]; -->1번방에 0번방의 1봉전값을 저장
새로운 주가 시작되었으므로
weekc[0]에 새로운 종가값을 저장하고
[1],[2] 순으로 이전주의 값을 현재주에서 사용하기 위해
Weekc의 값을 다음방으로 하나씩 이동시키는 내용입니다.
즐거운 하루되세요
> 알고리즘 님이 쓴 글입니다.
> 제목 : yl도움말중 이해가 안가는 부분이 있습니다.
> 1.지금 예스트레이더로 모의투자를 하는데 선물만 적용이 되고 옵션 주식등은
적용이 되지 않네요. (물론 시뮬레이션챠트는 적용됩니다.)
모의투자도 옵션이나 주식등이 가능하게 할 계획은 있습니까?
2.
var :cnt(0), sum(0)
sum = 0
for cnt =0 to 9 {
sum = sum + c[cnt];
}
여기서 sum = 0 을 해주는 이유가 누적되는것을 막기 위해서 한다고 했는데
이미 var 선언시에 초기값을 0으로 설정해 줘서 따로 안해줘도 되는거 아닌지요?
만약 해야된다면
var : cnt(0)
array :weekc[99](0)
if dayofweek(date) < dayofweek(date)[1] then
for cnt =1 to 98
weekc[cnt] = week[cnt-1][1];
위에 식에서는 weekc = 0으로 하지 않아도 되는지요?
이것도 초기화 하지 않으면 weekc값이 98값으로 저장되어 있는거 아닌지요?
3.
그리고 week[cnt-1][1] 이것의 정확한 의미가 뭔지 잘 이해가 안가네요
[] 는 전의 값을 참조하는 것인데
만약 cnt =1 라면
weekc[1] = week[0][1]; 되는데 week[0][1] 여기서 [0]는 현재값인데 그다음인[1]은
무엇을 나타내는지요?