예스스탁
예스스탁 답변
2019-11-01 10:53:01
안녕하세요
예스스탁입니다.
1
/날짜의 값이 1이 나오는 것은 차트의 봉수보다 더큰 이전봉 참조를 하므로
값이 없어 N/A가 나오는데 숫자형으로 값을 찍게 되어 있어 1로 나오게 됩니다.
실제 메세지로그로 출력하면 첨부된 그림과 같은 표시입니다.
idx에 선언이 (0)이므로 기본차트와 참조데이타의 조회된 봉수를 함쳐서
1씩 증가하게 됩니다. 선언시 (0,data1)로 지정하시면 data1 기준으로 봉수를 체크합니다.
그래서 for문이 실제 봉수보다 거의 두배가 책정됩니다.
var : x(0), idx(0,data1);
var : ka(" ",data1), usa(" ",data2);
idx = idx + 1;
if data1(LastBarOnChart == 1) Then {
idx = idx - 1; // 인덱스는 우측에서 0부터 좌측으로 시작함, 값이 없으면 = 1로 나옴
for x = idx downto 0 step 1 Begin
if data1(O[x] < C[x]) Then { // 종가가크면=상승
ka = "상승";
if data2(O[x]) < data2(C[x]) Then {
usa = "상승";
}
Else if data2(O[x]) > data2(C[x]) Then {
usa = "하락";
}
else {
usa ="중간";
}
}
Else if data1(O[x] > C[x]) Then { //종가가 작으면 하락
ka = "하락";
if data2(O[x]) < data2(C[x]) Then {
usa = "상승";
}
Else if data2(O[x]) > data2(C[x]) Then {
usa = "하락";
}
else {
usa ="중간";
}
}
else {
ka = "중간";
}
Print("c:₩yeslanguage₩ggg_text.txt","/날자 = %.20f / kospi = %s / 미국 = %s ", data1(sdate[x]), ka, usa);
MessageLog("/날자 = %.f / kospi = %s / 미국 = %s ",data1(sdate[x]), ka, usa);
end;
}
2
동일 내용이 2번 출력되는 것은
차트에 데이타가 2개이고 모두 마지막봉 기준으로 한번씩 수행되기 때문입니다.
해당 내용은 수식의 내부 체계라 별도로 제어가 되지는 않습니다.
즐거운 하루되세요
> atmskill 님이 쓴 글입니다.
> 제목 : 출력결과가 이상함
> 수고하십니다
알려주신거를 참고로 작성하였는데,,
출력 결과가 예상과 달라서 확인좀 부탁드립니다
KOSPI와 다우간 연계성이 얼마나 있나를 확인할려고 작성해 보았습니다만,,
var : x(0), idx(0);
var : ka(" "), usa(" ");
idx = idx + 1;
if LastBarOnChart == 1 Then {
idx = idx - 1; // 인덱스는 우측에서 0부터 좌측으로 시작함, 값이 없으면 = 1로 나옴
for x = idx downto 0 step 1 Begin
if data1(O[x] < C[x]) Then { // 종가가크면=상승
ka = "상승";
if data2(O[x]) < data2(C[x]) Then {
usa = "상승";
}
Else if data2(O[x]) > data2(C[x]) Then {
usa = "하락";
}
else {
usa ="중간";
}
}
Else if data1(O[x] > C[x]) Then { //종가가 작으면 하락
ka = "하락";
if data2(O[x]) < data2(C[x]) Then {
usa = "상승";
}
Else if data2(O[x]) > data2(C[x]) Then {
usa = "하락";
}
else {
usa ="중간";
}
}
else {
ka = "중간";
}
Print("c:₩yeslanguage₩ggg_text.txt","/날자 = %.0f / kospi = %s / 미국 = %s ", data1(sdate[x]), ka, usa);
end;
출력결과를 첨부합니다
1, 처음에 날자가 =1로 출력이 되는 것들이 있는데 왜인지??
2. 자료가 2번이 출력되는 이유?? <= 일봉에서 봉의 갯수를 50개인가로 놓고 실행한것임
3. 지난번 알려주셨는데, 이해가 안되고있는게,,,
매크로 작성후 실시간챠트에 적용하면 결과가 나오는데 그상태에서 재실행할려면,
봉의 갯수를 바꾸거나 매크로작성화면에서 "검증"을 실행하면 재실행결과가 나오긴하는데,
감사합니다
첨부화일이 text는 안되네요,,,하여
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 = <== 첫줄
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 =
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 =
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 =
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 =
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 =
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 =
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 =
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 =
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 =
2019-10-30 17:00:00 /날자 = 20190816 / kospi = 상승 / 미국 = 하락
2019-10-30 17:00:00 /날자 = 20190819 / kospi = 하락 / 미국 = 상승
2019-10-30 17:00:00 /날자 = 20190820 / kospi = 상승 / 미국 = 하락
2019-10-30 17:00:00 /날자 = 20190821 / kospi = 상승 / 미국 = 하락
2019-10-30 17:00:00 /날자 = 20190822 / kospi = 하락 / 미국 = 상승
2019-10-30 17:00:00 /날자 = 20190823 / kospi = 상승 / 미국 = 하락
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-10-30 17:00:00 /날자 = 20191028 / kospi = 하락 / 미국 = 상승
2019-10-30 17:00:00 /날자 = 20191029 / kospi = 하락 / 미국 = 상승
2019-10-30 17:00:00 /날자 = 20191030 / kospi = 하락 / 미국 = 상승
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 = 상승 <= 첫줄에 나온내용이 다시한번(전체가) 나옴
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 = 상승
2019-10-30 17:00:00 /날자 = 1 / kospi = 중간 / 미국 = 상승
~~~~~~
2019-10-30 17:00:00 /날자 = 20191025 / kospi = 하락 / 미국 = 하락
2019-10-30 17:00:00 /날자 = 20191028 / kospi = 하락 / 미국 = 상승
2019-10-30 17:00:00 /날자 = 20191029 / kospi = 하락 / 미국 = 상승
2019-10-30 17:00:00 /날자 = 20191030 / kospi = 하락 / 미국 = 상승 <= 끝.