Quanta Docs

Tài liệu Quanta hoàn chỉnh cho Quant Studio

Khái niệmaiconcept/ai-codegen-pitfalls

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:

quanta
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):

quanta
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.

#pitfalls#valuewhen#pivot#trendline#plot#llm
Trợ lý Quanta"Học nhanh hơn, hiệu quả hơn cùng AI"

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?").