수식의 계산된 결과값이나 차트의 데이터 등을 추출하여 텍스트문서나 엑셀등 외부 프로그램에서 보고자 할 때 예스랭귀지에서는 텍스트문서 형식이나 CSV(Comma Separate Value)형식으로 외부로 추출하여 내보낼 수 있습니다.
데이터를 추출할 때는 Print 함수를 사용하면 되며 전략실행차트에서만 해당함수는 동작하고
시뮬레이션 차트에서는 사용할 수 없습니다.
Print함수는 MessageLog함수와 사용법이 비슷하며
매개변수로 파일명과 경로를 추가로 지정해 주면 됩니다.
함수 | Print(”파일명”, Expression", 출력대상) |
매개변수 | ※ 파일명 : 저장경로와 파일명을 문자열로 지정
※ Expression : 출력대상의 이름과 타입
출력대상이 수치라면 → 이름 %.f , 이름 %.2f
출력대상이 논리값이나 문자열이라면 → 이름 %s
이름은 생략가능.
※ 출력대상 : 수치, 논리값, 문자열 |
1.
파일명
파일명만 지정하면 프로그램 설처 폴더 안에 YesLang폴더에 해당 파일이 생성됩니다.
2.
출력대상의 이름과 타입
Print("데이터.txt”, "종가 %.2f 시가 %.2f cond %s", Close, Open , condition1);
// 출력대상 중 첫번째는 이름은 종가이고 값을 소숫점 2자리까지 출력
// 출력대상 중 두번째는 이름은 시가이고 값을 소숫점 2자리까지 출력
// 출력대상 중 세번째는 이름은 cond이고 condntion1만족여부에 따라 ture 혹은 false 출력
출력대상의 이름과 타입은 큰따옴표(double Quotation mark)안에 설정을 해 줍니다.
이름은 생략해도 되지만 타입은 생략하면 안 됩니다.
%.f는 출력대상이 숫자(figure)라는 의미이고 f앞에 숫자를 지정해 수점 자릿수도 설정할 수 있습니다. %.2f라고 설정하면 소수점 2자리까지 출력 됩니다.
%s는 출력대상이 문자열(String)이라는 의미이고 논리식이나 논리형 변수를 출력할 때는
%s로 표현방법을 설정하면 되며 표현방식의 f나 s는 소문자로만 작성해야 합니다.
출력대상은 수치값이나 논리값, 문자열 모두 가능하며 한번에 여러 개를 출력한다면 출력대상의 이름과 타입도 동일한 수 만큼 설정을 해 줘야 합니다.
출력대상은 10개인데 지정한 타입이 6개면 출력대상으로 중 좌측에서 6개만 출력됩니다.
또한 출력대상은 논리식인데 타입을 %.f로 설정하면 디버깅 창에 0으로만 값이 찍히게 되며
출력대상은 수치인데 %s로 설정하면 (null)이라 출력됩니다.
3.
텍스트 문서로 추출하여 엑셀에서 보기 위해서는 엑셀에서 텍스트 문서를 불러와 텍스트 마법사를 이용해야 하는 번거로운 작업이 있으므로 csv형식으로 추출하면 해당 파일을 클릭만하면 바로 엑셀에서 볼 수 있습니다.
csv파일로 추출하기 위해서는 출력대상의 이름과 타입을 지정할 때 콤마(,) 이용해 값을 구분만 해주시면 됩니다.
//텍스트파일로 출력
Print("데이터.txt”, "종가 %.2f 시가 %.2f cond %s", Close, Open , condition1);
//csv파일로 출력(이름과 타입을 지정할 때 콤마로 구분해 주시면 됩니다.)
Print("데이터.csv”, ",종가,%.2f,시가,%.2f,cond,%s", Close, Open , condition1);
뒤로가기는 좌측상단의 목차 버튼을 눌러주세요.