millionchart
English

جدول‌ها

جدولی از عددها را در یک گوشهٔ نمودار رسم کنید. چطور آن را یک بار روی آخرین کندل بسازید، خانه‌هایش را پر و رنگ کنید، و محدودیت‌های اندازه.

جدول شبکه‌ای از خانه‌های متنی است که به یک گوشهٔ نمودار چسبیده. راه معمول نمایش یک داشبورد همین است: چند عدد، وضعیت یک سیگنال، نتیجهٔ یک محاسبه.

آن را روی آخرین کندل بسازید#

جدول با کندل‌ها جابه‌جا نمی‌شود، پس یک بار و روی جدیدترین کندل ساخته می‌شود. table.new(position, columns, rows) شبکه را می‌سازد و table.cell(table, column, row, text) یک خانه را می‌نویسد. ستون‌ها و ردیف‌ها از 0 شمرده می‌شوند.

Cuprel
indicator "Dashboard"
    edition = 1
    display = price

input length: int = 20, name = "Length", min = 2
let average = tech.sma(close, length)
let strength = tech.rsi(close, 14)
if bar.is_last
    let t = table.new(
        top_right,
        2,
        3,
        background = color.fade(color.black, 70),
        border_color = color.gray,
        border_width = 1,
    )
    let names = ["Close", "Average", "RSI"]
    let values = [close, average, strength]
    for i in 0 to 2
        table.cell(t, 0, i, names.at(i), text_color = color.silver, h_align = left)
        table.cell(t, 1, i, f"{values.at(i):.2f?'n/a'}", text_color = color.white)
plot(average, name = "Average")

حلقه به ازای هر نام یک ردیف می‌نویسد. در ستون دوم {...:.2f?'n/a'} عدد را با دو رقم اعشار می‌نویسد، یا تا وقتی مقداری وجود ندارد n/a را. قالب‌ها در قالب‌بندی متن و عدد آمده‌اند.

position یکی از top_left، top_center، top_right، middle_left، middle_center، middle_right، bottom_left، bottom_center یا bottom_right است.

رنگ و اندازه#

هر خانه text_color، background، text_size (auto، tiny، small، normal، large، huge)، h_align (left، center، right) و v_align (top، bottom) می‌گیرد. رنگ می‌تواند به یک مقدار بستگی داشته باشد:

Cuprel
indicator "Signal cell"
    edition = 1
    display = price

if bar.is_last
    let t = table.new(bottom_left, 1, 1)
    table.cell(
        t,
        0,
        0,
        if close > open then "Up bar" else "Down bar",
        text_color = color.white,
        background = if close > open then color.green else color.red,
        text_size = large,
    )
plot(close)

سقف‌ها#

  • یک جدول حداکثر 100 ستون، 500 ردیف و 10,000 خانه دارد. همهٔ جدول‌های زندهٔ یک اسکریپت روی هم حداکثر 20,000 خانه نگه می‌دارند.
  • نمودار جدیدترین 40 جدول یک اسکریپت را نگه می‌دارد. اگر اسکریپت روی هر کندل یک جدول تازه بسازد، جدول‌های قدیمی‌تر کنار گذاشته می‌شوند و موتور می‌گوید چند تا؛ جدول را یک بار و روی bar.is_last بسازید، یا پیش از ساختن جدول بعدی قبلی را حذف کنید.
  • خانه‌ای بیرون از جدول اسکریپت را با پیامی متوقف می‌کند که نام خانه و خط را می‌گوید.
  • متن داخل خانه در 2,000 نویسه بریده می‌شود.
Cuprel · خطا E-LIMIT-TABLE
indicator "A cell outside the table"
    edition = 1
    display = price

if bar.is_last
    let t = table.new(top_right, 2, 2)
    table.cell(t, 5, 0, "x")
plot(close)

نگاه کنید به: خط‌ها و ترسیم‌ها، قالب‌بندی متن و عدد، سقف‌ها و بودجهٔ اجرا.