Quanta Docs
·Tài liệu Quanta hoàn chỉnh cho Quant Studio
Bẫy thường gặp khi AI / người mới gen Quanta
valuewhen+pivot+trendline; MA/RSI/MACD/ATR; safediv; struct; atr 4 args; không fill 0 cho plot. Từ khoá VN: đỉnh đáy, xu hướng, quá mua/bán, phá vỡ, dừng lỗ, sàng lọc.
1) `valuewhen` — đừng lấp pivot bằng `0` rồi vẽ `trendline`
Anti-pattern: valuewhen(ph > 0, bar.time, 0) — hầu hết bar có time=0 trong series, scalar cuối cho anchor chart sai → trendline không hiển thị hoặc sai.
Đúng: 2 đối số để forward-fill giá trị tại bar pivot:
ph = swinghigh(market.high, L, R) ph_h = valuewhen(ph, market.high) ph_t = valuewhen(ph, bar.time) ph_i = valuewhen(ph, bar.index)
Hai đỉnh pivot gần nhất cho đường xu hướng (điểm đầu = đỉnh trước, điểm cuối = đỉnh hiện tại ffill):
p1_h = valuewhen(ph, ph_h[1]) p1_t = valuewhen(ph, ph_t[1]) p2_h = ph_h p2_t = ph_t # plots: trendline(from: [p1_t, p1_h], to: [p2_t, p2_h], extend: extend_right)
2) `p1 = ph_val[1]` không phải “pivot trước”
x[1] chỉ là shift 1 bar, không phải “sự kiện pivot trước”. Với ffill ở trên, valuewhen(ph, ph_h[1]) mới gắn đỉnh cũ tại bar xác nhận pivot mới.
3) Chia cho `dx` trên series
Dùng safediv(p2_h - p1_h, p2_i - p1_i, 0.0) thay vì / thuần.
4) Indicator nhiều đầu ra
macd(...) → .line, .signal, .hist. bbands → .upper, .mid, .lower. stoch → .k, .d. adx → .adx, …
5) `atr` cần 4 đối số
atr(market.high, market.low, market.close, n) — không viết atr(n).
6) `extend` cho trendline
Dùng bareword: extend_none, extend_left, extend_right, extend_both (inject sẵn → "none"|"left"|"right"|"both").
7) Biến chưa khai báo
❌ vol_color = gold when v+none_define > avg_vol else grey khi none_define chưa gán → QTA_E_UNDEFINED_NAME . Khai báo trong params: / detect: / logics: trước khi dùng.
Xin chào! Tôi là trợ lý học ngôn ngữ Quanta. Hỏi tôi về cú pháp, hàm, hoặc cách viết một chiến lược cụ thể (ví dụ: "Làm sao để xác định đỉnh đáy để vẽ trendline?").