디버깅이란 원래 프로그램의 오류를 찾아내어 수정하는 것을 말합니다.
랭귀지 편집기에서 디버깅이란 수식에서 계산값 등을 출력하여
계산상 오류를 찾아 바로 잡는 기능이라고 보면 됩니다.
수식을 작성하고 적용하게 되면 작성자의 의도와는 다르게 결과가 발생하는 경우가 발생하기도 합니다. 지표식의 경우에는 사용되는 변수나 함수, 계산식 등을 하나씩 지표로 출력하면서 잘못된 점을 찾아 수정할 수도 있지만 전략식의 경우에는 지표출력함수가 같이 사용될 수 없고 반대로 지표식에는 포지션함수 등이 사용될 수 없으므로 지표식으로 수식의 오류를 찾는 것에 어려움이 있습니다.
이렇게 수식이 의도와는 다른 결과를 보일 때 수식내에서 사용하는 값을 디버깅창으로 출력해서
확인 작업을 할 수 있는 것을 디버깅이고 수식내에서 Messagelog함수를 이용하면 값을 디버깅창으로 출력해 볼 수 있습니다.
함수 | MessageLog("Expression", 출력대상) |
매개변수 | ※ Expression : 출력대상의 이름과 타입
출력대상이 수치라면 → 이름 %.f , 이름 %.2f
출력대상이 논리값이나 문자열이라면 → 이름 %s
이름은 생략가능.
※ 출력대상 : 수치, 논리값, 문자열 |
MessageLog("value1 %.f value2 %.2f cond %s", value1, value2, condition1);
// 출력대상 중 첫번째는 이름은 value1이고 정수만 출력
// 출력대상 중 두번째는 이름은 value2이고 정수만 출력
// 출력대상 중 세번째는 이름은 cond이고 condntion1만족여부에 따라 ture 혹은 flase 출력
C
복사
•
메시지로그함수의 첫번째 매개변수는 출력대상의 이름과 타입을 지정하는 부분입니다.
” ”에 출력대상의 갯수만큼 이름과 타입을 설정을 해야 하며 출력대상의 이름은 생략이 가능합니다.
숫자의 경우 소숫점 이하의 자리수도 지정할 수 있습니다.
f 앞에 자리수를 지정해 주시면 됩니다. %.2f → 소숫점 2자리까지 출력
•
3번째 부터는 출력할 값들을 나열합니다.
1.
출력대상은 10개인데 이름과 타입을 6개만 지정하면 출력대상으로 지정한 것 중
좌측에서 6개만 출력되게 됩니다.
2.
출력된 값을 보기 위해서는 수식 적용 전에 디버깅창을 오픈해야 합니다.
디버깅창이 오픈된 상태일때만 값이 출력됩니다.
디버깅창은 편집기 우측 상단의 디버깅콘솔 아이콘을 클릭하면 열리게 됩니다.
MessageLog("sto_RSI %.2f Crossup %s",StoRsi, CrossUp(StoRsi,SD));
//StoRsi변수를 sto_RSI라는 이름으로 소숫점 2자리까지 출력
//CrossUp(StoRsi,SD)조건 만족여부를 Crossup이라는 이름으로 출력
C
복사
뒤로가기는 좌측상단의 목차 버튼을 눌러주세요.