파인 로그에 대해 자세히 알고 싶습니다.

로그를 활성화하려면 세 가지 새로운 로깅 기능 중 하나를 사용할 수 있습니다: 

  • log.error() 는 빨간색으로 표시되는 오류 유형의 메시지를 생성합니다.
  • log.info() 는 회색으로 표시되는 정보 유형의 메시지를 생성합니다.
  • log.warning() 은 주황색으로 표시되는 경고 유형의 메시지를 생성합니다.

차트에 스크립트를 추가한 후 파인 로그를 열 수 있습니다. 진입점 중 하나를 사용합니다:

  • 편집기의 추가 메뉴에서 파인 로그...를 선택합니다.
  • 함수를 사용하는 경우 차트에 로드된 스크립트의 추가 메뉴에서 log.*() 함수를 선택합니다

파인 로그는 기록 막대, 실시간, 리플레이 모드 등 모든 곳에서 작동합니다. 로깅 함수는 모든 유형의 스크립트(인디케이터, 전략, 라이브러리)에서 호출할 수 있으며 로컬 블록, 루프, request.security() 및 유사 함수 내부 등 스크립트 어디에서나 호출할 수 있습니다. 로깅 함수는 문자열 인수만 사용하거나 형식 지정 문자열과 값 목록을 str.format() 방식으로 사용하는 두 가지 방법으로 호출할 수 있습니다.

로그를 사용하는 스크립트는 개인 스크립트여야 하며, 비공개 또는 공개적으로 게시된 스크립트에는 log.*() 함수에 대한 호출이 포함되어 있더라도 로그를 생성할 수 없습니다.

다음 코드 예제에서는 세 가지 로깅 함수를 모두 사용합니다:

//@version=5indicator("Pine Logs")if barstate.ishistory    if bar_index % 100 == 0        log.warning("\nBar index: {0,number,#}", bar_index)else    // Realtime bar processing.    varip lastTime = timenow    varip updateNo = 0    if barstate.isnew        updateNo := 0        log.error("\nNew bar")    else        log.info("\nUpdate no: {0}\nclose: {1}\nSeconds elapsed: {2}", updateNo, close, (timenow - lastTime) / 1000)        updateNo += 1    lastTime := timenowplot(timenow)
Java

이 예는 100번째 과거 막대마다 주황색 경고 메시지를 사용하여 막대 인덱스를 표시합니다. 실시간으로 새로운 막대마다 빨간색으로 오류 메시지를 표시하고, 실시간으로 업데이트할 때마다 업데이트 번호, 종가, 마지막 차트 업데이트 이후 경과된 시간을 회색으로 표시하는 정보 메시지를 생성합니다.

파인 로그가 실제로 작동하는 모습을 보려면 다음과 같이 하세요:

  1. 위의 코드 예시를 개인 스크립트에 저장하고 활성 시장이 있는 차트에 추가합니다.
  2. 에디터의 자세히 메뉴 또는 차트의 지표 자세히 메뉴를 사용하여 파인 로그 패널을 엽니다.

타임스탬프는 각 로그 항목 앞에 접두사로 붙습니다. 과거 막대의 경우 막대가 열린 시간이고 실시간 메시지의 경우 현재 시간입니다. 최신 메시지는 창 하단에 표시됩니다. 기록 막대에는 최근 10,000개의 메시지만 표시되며, 실시간 메시지는 여기에 추가됩니다.

창 상단에는 로깅을 시작/중지하고, 시작 날짜를 지정하고, 메시지 유형별로 로그를 필터링하고, 로그를 검색할 수 있는 아이콘이 포함되어 있습니다. 검색 필드에는 대/소문자, 전체 단어를 일치시키고 정규식을 사용할 수 있는 하위 메뉴가 있습니다.

로그 메시지 위로 마우스를 가져가면 해당 메시지를 생성한 소스 코드를 보거나 해당 차트 막대로 이동할 수 있는 아이콘이 나타납니다:

차트에서 여러 스크립트가 로그를 사용하는 경우 각 스크립트는 고유한 메시지 집합을 유지합니다. 파인 로그 패널 상단의 드롭다운을 사용하여 각 스크립트의 로그 사이를 이동할 수 있습니다: