파인 로그로 파인 스크립트® 코드 디버깅하기

Aug 29, 2023

스크립트가 실행될 때 새로운 Pine 로그 창에 텍스트를 표시하는 새로운 log.*() 함수를 써서 Pine Script® 디버깅을 한 단계 더 발전시키세요. 세 가지 새로운 로깅 함수는 다음과 같습니다:

  • log.error() 는 빨간색으로 표시되는 “에러” 타입의 메시지를 만듭니다.
  • log.info() 는 회색으로 표시되는 “정보” 타입의 메시지를 만듭니다.
  • log.warning() 은 주황색으로 표시되는 “경고” 타입의 메시지를 생성합니다.

파인 로그는 에디터의 “더보기” 메뉴에서 “파인 로그…”를 누르거나 차트에 로드된 스크립트(log.*() 함수를 쓰는 경우)의 “더보기” 메뉴에서 확인할 수 있습니다.

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

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

다음 코드 보기에서는 세 가지 로깅 함수를 모두 씁니다:

//@version=5
indicator("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 := timenow
plot(timenow)

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

파인 로그 작동하는 모습을 보려면:

  1. 위의 코드 보기를 개인 스크립트에 저장하고 활성화된 시장이 있는 차트에 추가합니다.
  2. 에디터의 “더보기” 메뉴 또는 차트에서 인디케이터의 “더보기” 메뉴를 사용하여 “파인 로그” 창을 엽니다.

각 로그 항목 앞에 타임스탬프가 표시됩니다. 히스토리 바의 경우 바가 오픈된 시간이고 실시간 메시지의 경우 현재 시간입니다. 최신 메시지는 창 하단에 표시됩니다. 히스토리 바에는 최근 10,000개의 메시지만 표시되며, 실시간 메시지는 여기에 추가됩니다.

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

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

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

새로운 파인 스크립트® 기능에 대한 최신 정보를 얻으려면 사용자 설명서의 릴리스 노트를 주시하십시오. 또한 파인코더 계정은 텔레그램의 스쿼크 박스, 트위터 계정, 트레이딩뷰의 파인 스크립트® Q&A 공개 채팅을 통해 업데이트를 방송하고 있습니다.

많은 요청을 받았던 이 기능이 유용하게 쓰이길 바라며, 최고의 플랫폼을 만들 수 있도록 피드백과 제안을 계속 보내주시기 바랍니다. 트레이딩뷰는 여러분을 위해 만들어졌으며 항상 여러분의 의견을 듣고자 합니다.

– 트레이딩뷰 팀

Look first Then leap

트레이딩뷰는 여러분을 위해 만들어졌으므로 트레이딩뷰의 멋진 기능을 최대한 활용하세요
차트 시작