Я хочу узнать больше о логах Pine
Для включения логов можно использовать одну из трёх новых функций:
- log.error() создает сообщение типа "Ошибка", отображаемое красным цветом.
- log.info() создает сообщение типа "Информация", отображаемое серым цветом.
- log.warning() создает сообщение типа "Предупреждение", отображаемое оранжевым цветом.
После добавления скрипта на график вы можете открыть логи Pine, использовав одну из точек входа:
- в Редакторе Pine, выбрав Логи Pine... в меню Ещё
- в меню Ещё в коде, загруженном на графике (если в нем применяются функции log.*())
Логи Pine работают везде: на исторических барах, в реальном времени, а также в режиме Симулятора рынка. Функции логов может вызвать скрипт любого типа (индикаторы, стратегии или библиотеки) в любой части кода, включая локальные блоки, циклы, а также внутри 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)
Пример показывает индекс бара на каждом сотом историческом баре с помощью предупреждающего сообщения, выделенного оранжевым цветом. В режиме реального времени для каждого нового бара отображается сообщение об ошибке, выделенное красным, а для каждого обновления создается сообщение информационного типа серого цвета, показывающее номер обновления, цену закрытия и время, прошедшее с момента последнего обновления графика.
Чтобы увидеть логи Pine в действии:
- Сохраните приведенный выше пример кода в личный скрипт и добавьте его на график с активным рынком.
- Откройте панель Логи Pine через меню Ещё в Редакторе или индикаторе на графике.
Временная метка является префиксом для каждого сообщения логов. Для исторических баров это время открытия бара, а для сообщений в реальном времени — текущее время. Самые свежие сообщения отображаются в нижней части панели. Для исторических баров отображаются только последние 10 000 сообщений; к ним добавляются сообщения в реальном времени.
В верхней части панели находятся значки, позволяющие запустить/остановить логи, указать начальную дату, отфильтровать логи по типу сообщений и выполнить поиск по логам. Поле поиска содержит меню, в котором можно выбрать регистр, целые слова или использовать регулярные выражения.
При наведении курсора на сообщение лога появляются значки, позволяющие просмотреть исходный код, сгенерировавший сообщение, или перейти к соответствующему бару графика:
Если логи используются несколькими скриптами на графике, каждый из них будет использовать свой собственный набор сообщений. Перемещаться между логами каждого скрипта можно с помощью выпадающего списка в верхней части панели Логи Pine: