Spectra
تصفّح التوثيق

scripting

القواعد

الكلمات المفتاحية والأنواع وقواعد التعابير في لغة سبكترا بصيغة EBNF.


قواعد لغة سبكترا صغيرة. إن استخدمت Pine Script أو TypeScript فستبدو لك معظم الأشياء مألوفة — مساحة الـ API مضغوطة عمداً.

الكلمات المفتاحية

let const fn if else for while in
return yield break continue
true false null
output plot mark notify draw_zone
buy sell sell_all

الأنواع البدائية

int       // عدد صحيح ٦٤-بت
float     // عدد عشري ٦٤-بت
bool      // true | false
str       // نص UTF-8
time      // طابع زمني للشمعة (ميلي ثانية epoch)
series<T> // نافذة منزلقة تاريخية لـ T
color     // اسم سمة أو hex

التعابير بـ EBNF

expr     = literal | ident | call | binop | unop | index | block ;
binop    = expr ( "+" | "-" | "*" | "/" | "%" |
                  "==" | "!=" | "<" | ">" | "<=" | ">=" |
                  "and" | "or" ) expr ;
unop     = ( "-" | "not" ) expr ;
call     = ident "(" [ args ] ")" ;
args     = expr ("," expr)* | named ("," named)* ;
named    = ident ":" expr ;
index    = expr "[" expr "]" ;        // series[N] يقرأ N شمعات للخلف
block    = "{" stmt* "}" ;

سكريبت كامل

let fast = sma(close, 12)
let slow = sma(close, 26)
let signal = cross_up(fast, slow)
plot(fast, color: accent)
plot(slow, color: text_1)
output signal

سطر output هو قيمة السكريبت الأساسية. الرسم البياني والباك تيستر وعامل السحابة كلهم يقرؤونه.