Dữ liệu Seed và các Hàm hỗ trợ Collection
request.seed, map.* và matrix.* — các tính năng runtime thực tế cho dữ liệu kênh phụ xác định, gói có khóa và tính toán 2D.
Dữ liệu Seed và các Hàm hỗ trợ Collection#
Runtime hiện tại có phạm vi bao phủ thực tế, có ví dụ minh họa cho request.seed(...), map.* và matrix.*. Đây vẫn là các bề mặt tương đương từng phần so với Pine, nhưng chúng không còn mang tính suy đoán hay là chi tiết triển khai ẩn.
request.seed#
Sử dụng khi script cần dữ liệu kênh phụ xác định như series seed nội tuyến, payload cục bộ có cấu trúc, hoặc các giá trị phụ trợ có thể tái tạo mà nên giữ lại ở giai đoạn frame-builder.
map và matrix#
Sử dụng map.* cho các gói runtime có khóa và matrix.* cho tính toán 2D nhỏ gọn. Trang tài liệu hiện coi cả hai là bề mặt giảng dạy được hỗ trợ, không chỉ là chú thích trong ma trận khả năng.
Ví dụ#
from source import indicator, input, map, matrix, request
indicator("Runtime Collections Demo", overlay=False)
window = input.int(4, title="Window", key="window", minval=2)
def build_indicator_frame(df, params=None):
frame = df.copy().reset_index(drop=True)
size = max(int((params or {}).get("window", window) or window), 2)
seeded_source = {
"seeded_close": frame["close"].rolling(size, min_periods=1).mean().round(4).tolist(),
}
frame["seeded_close"] = request.seed(seeded_source, "seeded_close")
settings = map.new()
map.put(settings, "window", size)
map.put(settings, "bias", "bullish")
frame.attrs["map_keys"] = map.keys(settings)
grid = matrix.new(size, 2, 0.0)
return frame