جدولها ابزاری هستند که میتوانند برای قرار دادن اطلاعات در مکانهای خاص و ثابت در فضای بصری اسکریپت استفاده شوند. بر خلاف سایر نمودارها یا اشیاء ترسیم شده در Pine، جدولها به میلههای خاصی متصل نیستند: آنها در فضای اسکریپت شناور هستند، چه در حالت Overlay یا Pane، در مطالعات یا استراتژیها، به طور مستقل از میلههای نمودار مشاهده شده یا ضریب زوم استفاده شده.
این قابلیت جدید به شما این امکان را میدهد که دادهها را به روشی ارائه دهید که هرگز سابقه نداشته است. شما میتوانید یک پنل نمایش خودکار با دادههای مرتبط برای نماد فعلی ایجاد کرده و آن را در کنار صفحه خود بچسبانید، یا یک نقشه حرارتی پویا بسازید، یا دسترسی سریع به هر اطلاعات موجود در Pine فراهم کنید—امکانات بینهایت هستند. بیانصافی نمیشود اگر بگوییم که جدولها میتوانند همراه با سایر ویژگیهای PineScript برای بهبود شاخصهای موجود شما استفاده شوند.
به صفحه جداول در راهنمای کاربر Pine بروید تا مستقیم شروع به ایجاد جدولها کنید.
این جدول عملکرد که الهام گرفته از بخش “عملکرد” نوار کناری ما است، به شما کمک میکند عملکرد نماد نمودار را پیگیری کنید:
//@version=4 study("عملکرد", overlay=true) var table perfTable = table.new(position.top_right, 3, 2, border_width = 3) LIGHTTRANSP = 90 AVGTRANSP = 80 HEAVYTRANSP = 70 i_posColor = input(color.rgb(38, 166, 154), title="رنگ مثبت") i_negColor = input(color.rgb(240, 83, 80), title="رنگ منفی") f_rateOfreturn(_v1, _v2) => (_v1 - _v2) * 100 / abs(_v2) f_performance(_barsBack) => _performance = security(syminfo.tickerid, "1D", f_rateOfreturn(close, close[_barsBack])) _performance lastYearClose = security(syminfo.tickerid, "12M", close[1], lookahead=barmerge.lookahead_on) f_fillCell(_table, _column, _row, _value, _timeframe) => _c_color = _value >= 0 ? i_posColor : i_negColor _transp = abs(_value) > 10 ? HEAVYTRANSP : abs(_value) > 5 ? AVGTRANSP : LIGHTTRANSP _cellText = tostring(_value, "#.##") + "%n" + _timeframe table.cell(_table, _column, _row, _cellText, bgcolor = color.new(_c_color, _transp), text_color = _c_color, width = 6) if barstate.islast
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید
f_fillCell(perfTable, 0, 0, f_performance(5), “1W”)
f_fillCell(perfTable, 1, 0, f_performance(21), “1M”)
f_fillCell(perfTable, 2, 0, f_performance(63), “3M”)
f_fillCell(perfTable, 0, 1, f_performance(126), “6M”)
f_fillCell(perfTable, 1, 1, f_rateOfreturn(close, lastYearClose), “YTD”)
f_fillCell(perfTable, 2, 1, f_performance(251), “1Y”)
در ادامه چند مثال از جداولی که توسط PineCoders، افرادی که در آزمایش قابلیتهای جدید Pine ما را یاری میدهند، استفاده شده است، ارائه میشود:
پنل نشانگر توسط LonesomeTheBlue
پنل اطلاعات TA توسط RicardoSantos:
ماتریس همبستگی حرارتی توسط RicardoSantos:
و اگر بخواهید از ترید فاصله بگیرید، میتوانید از جداول Pine برای بازی شطرنج استفاده کنید.
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید.
با دوستان خود:
//@version=4
study("شطرنج", overlay=true)// سیستم تبدیل مختصات
var a_xString = array.from(na, "a", "b", "c", "d", "e", "f", "g", "h")
var a_yString = array.from(na, "8", "7", "6", "5", "4", "3", "2", "1")// ایجاد جدول پایه
f_even(_num) =>
_isEven = true
if _num % 2 == 0
_isEven := false
_isEven
f_cellColor(_column, _row) =>
color _cellColor = color.white
if f_even(_column)
if not f_even(_row)
_cellColor := color.gray
else
if f_even(_row)
_cellColor := color.gray
_cellColor
PADDING = "◯"var table chessBoard = table.new(position.middle_right, 10, 10, frame_color = color.black,
border_color = color.black, frame_width = 3, border_width = 1, bgcolor = color.black)if barstate.isfirst
for _column = 1 to 8
for _row = 1 to 8
table.cell(chessBoard, _column, _row, text = PADDING, bgcolor = f_cellColor(_column, _row), text_size = size.huge, text_color = #00ff0000)for _row = 1 to 8
table.cell(chessBoard, 0, int(abs(9 - _row)), text = tostring(_row), text_size = size.small, text_color = color.white)
table.cell(chessBoard, 9, int(abs(9 - _row)), text = tostring(_row), text_size = size.small, text_color = color.white)for _column = 1 to 8
table.cell(chessBoard, _column, 0, text = array.get(a_xString, _column), text_size = size.small, text_color = color.white)
table.cell(chessBoard, _column, 9, text = array.get(a_xString,برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنیدمتغیر i_whitePawn1 معادل "wp" + input("a2", "", group="پاهای سفید", inline="پاهای سفید #1")
متغیر i_whitePawn2 معادل "wp" + input("b2", "", group="پاهای سفید", inline="پاهای سفید #1")
متغیر i_whitePawn3 معادل "wp" + input("c2", "", group="پاهای سفید", inline="پاهای سفید #1")
متغیر i_whitePawn4 معادل "wp" + input("d2", "", group="پاهای سفید", inline="پاهای سفید #1")
متغیر i_whitePawn5 معادل "wp" + input("e2", "", group="پاهای سفید", inline="پاهای سفید #2")
متغیر i_whitePawn6 معادل "wp" + input("f2", "", group="پاهای سفید", inline="پاهای سفید #2")
متغیر i_whitePawn7 معادل "wp" + input("g2", "", group="پاهای سفید", inline="پاهای سفید #2")
متغیر i_whitePawn8 معادل "wp" + input("h2", "", group="پاهای سفید", inline="پاهای سفید #2")
متغیر i_whiteRook1 معادل "wr" + input("a1", inline="رخهای سفید", group="تکههای سفید", title="رخها ")
متغیر i_whiteRook2 معادل "wr" + input("h1", inline="رخهای سفید", group="تکههای سفید", title="")
متغیر i_whiteKnight1 معادل "wn" + input("b1", inline="اسبهای سفید", group="تکههای سفید", title="اسبها")
متغیر i_whiteKnight2 معادل "wn" + input("g1", inline="اسبهای سفید", group="تکههای سفید", title="")
متغیر i_whiteBishop1 معادل "wb" + input("c1", inline="صبحهای سفید", group="تکههای سفید", title="صبحها")
متغیر i_whiteBishop2 معادل "wb" + input("f1", inline="صبحهای سفید", group="تکههای سفید", title="")
متغیر i_whiteQueen معادل "wq" + input("d1", inline="ملکه سفید", group="تکههای سفید", title="ملکه ")
متغیر i_whiteKing معادل "wk" + input("e1", inline="شاه سفید", group="تکههای سفید", title="شاه ")
متغیر a_whitePieces = array.from(i_whitePawn1, i_whitePawn2, i_whitePawn3, i_whitePawn4, i_whitePawn5, i_whitePawn6, i_whitePawn7, i_whitePawn8,
i_whiteRook1, i_whiteRook2, i_whiteKnight1, i_whiteKnight2, i_whiteBishop1, i_whiteBishop2, i_whiteQueen, i_whiteKing)
متغیر i_blackPawn1 معادل "bp" + input("a7", "", group="پاهای سیاه", inline="پاهای سیاه #1")
متغیر i_blackPawn2 معادل "bp" + input("b7", "", group="پاهای سیاه", inline="پاهای سیاه #1")
متغیر i_blackPawn3 معادل "bp" + input("c7", "", group="پاهای سیاه", inline="پاهای سیاه #1")
متغیر i_blackPawn4 معادل "bp" + input("d7", "", group="پاهای سیاه", inline="پاهای سیاه #1")
متغیر i_blackPawn5 معادل "bp" + input("e7", "", group="پاهای سیاه", inline="پاهای سیاه #2")
متغیر i_blackPawn6 معادل "bp" + input("f7", "", group="پاهای سیاه", inline="پاهای سیاه #2")
متغیر i_blackPawn7 معادل "bp" + input("g7", "", group="پاهای سیاه", inline="پاهای سیاه #2")
متغیر i_blackPawn8 معادل "bp" + input("h7", "", group="پاهای سیاه", inline="پاهای سیاه #2")
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید```html
var i_blackRook1 = "br" + input("a8", inline="رخهای سیاه", group="قطعات سیاه", title="رخها")
var i_blackRook2 = "br" + input("h8", inline="رخهای سیاه", group="قطعات سیاه", title="")
var i_blackKnight1 = "bn" + input("b8", inline="شوالیههای سیاه", group="قطعات سیاه", title="شوالیهها")
var i_blackKnight2 = "bn" + input("g8", inline="شوالیههای سیاه", group="قطعات سیاه", title="")
var i_blackBishop1 = "bb" + input("c8", inline="فیلسوفهای سیاه", group="قطعات سیاه", title="فیلسوفها")
var i_blackBishop2 = "bb" + input("f8", inline="فیلسوفهای سیاه", group="قطعات سیاه", title="")
var i_blackQueen = "bq" + input("d8", inline="ملکه سیاه", group="قطعات سیاه", title="ملکه")
var i_blackKing = "bk" + input("e8", inline="شاه سیاه", group="قطعات سیاه", title="شاه")var a_blackPieces = array.from(i_blackPawn1, i_blackPawn2, i_blackPawn3, i_blackPawn4,
i_blackPawn5, i_blackPawn6, i_blackPawn7, i_blackPawn8, i_blackRook1, i_blackRook2,
i_blackKnight1, i_blackKnight2, i_blackBishop1, i_blackBishop2, i_blackQueen, i_blackKing)f_getIcon(_str) =>
var _pieces = array.from("k", "♔", "♚",
"q", "♕", "♛",
"r", "♖", "♜",
"b", "♗", "♝",
"n", "♘", "♞",
"p", "♙", "♟")_split = str.split(_str, "")
if array.size(_split) == 4
_color = array.get(_split, 0)
_piece = array.get(_split, 1)
_piece_offset = _color == "w" ? 1 : _color == "b" ? 2 : na
array.get(_pieces, array.indexof(_pieces, _piece) + _piece_offset)f_placePiece(_piece_input) =>
_split = str.split(_piece_input, "")
if array.size(_split) == 4
_icon = f_getIcon(_piece_input)
_x = array.indexof(a_xString, array.get(_split, 2))
_y = array.indexof(a_yString, array.get(_split, 3))
table.cell_set_text(chessBoard, _x, _y, _icon)
table.cell_set_text_color(chessBoard, _x, _y, color.black)if barstate.islast
for i = 0 to array.size(a_whitePieces) - 1
f_placePiece(array.get(a_whitePieces, i))for i = 0 to array.size(a_blackPieces) - 1
f_placePiece(array.get(a_blackPieces, i))امیدواریم این ویژگی جدیدی که درخواست کردهاید مفید باشد. لطفاً به ارسال پیشنهادات خود برای بهبود ادامه دهید. ما تریدینگ ویو را برای شما ساختهایم و دوست داریم نظرات شما را دریافت کنیم.
```
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید