Smart Namespaces (Cú pháp siêu gọn)
Gọi hàm Indicator cực ngắn gọn bằng Namespace
Checklist
- Hiểu cách Quanta tự động điền các tham số Series mặc định
- Biết cách gọi hàm nhanh với hậu tố _de (mặc định) hoặc chỉ định số
Smart Namespaces là gì?
Trong Quanta, bạn thường phải gọi các hàm phân tích kỹ thuật với tham số là các chuỗi thời gian như market.close, market.high, v.v. Để tiết kiệm thời gian gõ phím và làm code dễ đọc hơn, Quanta tích hợp hệ thống Smart Namespaces (Macro thông minh).
Smart Namespaces cho phép bạn gọi hàm bằng cách ghép tên hàm với thông số, phân cách bởi dấu gạch dưới (_). Quanta sẽ tự động truyền các Series mặc định vào hàm cho bạn.
Các dạng cú pháp
1. Sử dụng thông số cụ thể:
sma_20tương đương vớisma(market.close, 20)macd_12_26_9tương đương vớimacd(market.close, 12, 26, 9)stoch_14_3_3tương đương vớistoch(market.high, market.low, market.close, 14, 3, 3)
2. Sử dụng thông số mặc định (_de): Nếu bạn muốn dùng hàm với tất cả các tham số mặc định được thiết kế sẵn (thường là chuẩn thị trường), bạn thêm hậu tố _de (Default).
rsi_detương đương vớirsi(market.close, 14)macd_detương đương vớimacd(market.close, 12, 26, 9)truerange_detương đương vớitruerange(market.high, market.low, market.close)
Các nhóm hàm hỗ trợ
Hệ thống hỗ trợ 24 chỉ báo phổ biến nhất chia làm 6 nhóm:
- Trend:
sma,ema,wma,hma,vwma - Momentum:
rsi,stoch,stochrsi,willr,mom,roc,macd - Volatility:
atr,truerange,bbands,keltner,donchian,std - Volume:
obv(close, vol, anchor?),vwap(h, l, c, vol, anchor?)— anchor: day|week|month|quarter (mặc định day) - Strength:
adx,supertrend(h, l, c, period?, mult?)— trả dict{trend, upper, lower, line};st.linelà đường supertrend đúng TradingView (theo trend),st.trend= +1 uptrend / −1 downtrend - Pivot:
swinghigh,swinglow
*(VD: swinghigh_5_5 sẽ tự động dùng market.high và gọi swinghigh(market.high, 5, 5))*
Ví dụ kết hợp
detect: # Thay vì viết: # r = rsi(market.close, 14) # fast = ema(market.close, 12) # slow = ema(market.close, 26) # Chỉ cần viết: r = rsi_14 fast = ema_12 slow = ema_26 # Lấy kết quả dict (vd: macd, bbands, stoch) m = macd_de is_bullish = crossover(m.line, m.signal)
> [!TIP] > Cú pháp Smart Namespaces cực kì an toàn. Nếu bạn đặt tên biến là sma_line (không phải là số hay chữ de), hệ thống sẽ bỏ qua và hiểu nó là một biến thông thường.
Wiki liên quan