我想了解更多關於Pine編輯器的資訊

若要啟用日誌,您可以使用以下三個新的日誌記錄功能:

  • log.error() 建立類型為"Error"的訊息,顯示為紅色。
  • log.info() 建立類型為"Info"的訊息,顯示為綠色。
  • log.warning() 建立類型為"Warning"的訊息,顯示為橙色。

在圖表上新增腳本後,您可以開啟Pine Logs。使用以下入口點:

  • 從編輯器的“更多”選單中選擇“Pine Logs…”。
  • 如果腳本載入到您的圖表上,並且使用了"log.*()"函數,那麼可以從腳本的"更多"選單中選擇"Pine Logs..."。

Pine Logs在所有地方都可使用:歷史K線圖、即時資料以及重播模式。日誌函數可以從任何類型的腳本(指標、策略或程式庫)中呼叫,可以在腳本的任何位置呼叫,包括本地區塊、循環以及在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)

此範例使用橙色警告訊息,顯示每一百個歷史K線的K線索引。在即時模式下,它會為每個新K線圖顯示紅色的錯誤訊息,並在每次即時更新時,創建一個灰色的資訊訊息,顯示更新編號、收盤價和距離上次圖表更新的時間經過。

要查看Pine Logs的範例操作:

  1. 將上述程式碼範例儲存到個人腳本中,並將其增加到具有活躍市場的圖表中。
  2. 使用編輯器的"更多"選單,或圖表上指標的"更多"選單開啟"Pine Logs"窗格。

每個日誌條都有一個時間戳記。對於歷史K線圖,它是K線圖的開盤時間,對於即時訊息,它是當前時間。更新的訊息將顯示在窗格底部。對於歷史柱圖,只會顯示最近的10,000條訊息;即時訊息將追加到其中。

窗格的頂部包含圖示,可讓您開始/停止日誌記錄,指定開始日期,按訊息類型篩選日誌以及搜尋日誌。搜尋欄位包含一個子選單,讓您可以匹配大小寫、整個單字以及使用正則表示式進行搜尋。

當您滑鼠停在日誌訊息上時,會出現圖示,可讓您查看生成該訊息的原始程式碼,或跳到相應的圖表K線圖:

當圖表上的多個腳本使用日誌時,每個腳本都會維護自己的訊息整合。您可以使用Pine Logs窗格頂部的下拉式功能表在不同腳本的日誌之間切換: