Tổng quan viết Strategy
Cách xây dựng strategy trong PyneScript mà không để logic rò rỉ giữa các giai đoạn. Bao gồm phân tách giai đoạn, luồng chuẩn và các mẫu viết an toàn.
Cách xây dựng Strategy mà không để logic rò rỉ giữa các giai đoạn#
Cuốn sổ tay này tập trung vào những lỗi strategy PyneScript phổ biến nhất trong ATK: đặt logic sai giai đoạn,
coi các trường trade-frame như thứ phụ, và lén đưa tính toán MTF hoặc quản lý rủi ro vào build_trade_frame(...).
Mẫu an toàn rất đơn giản một khi quyền sở hữu giai đoạn được làm rõ.
| Quy tắc cốt lõi | Tín hiệu trước, ánh xạ sau |
|---|---|
| Quy tắc MTF | request.security nằm trong giai đoạn tín hiệu |
| Quy tắc rủi ro | SL/TP/trailing thuộc về strategy intent |
| Ví dụ khởi đầu | Strategy khởi đầu và xác nhận MTF |
Tách tư duy Strategy khỏi ánh xạ Trade#
| Giai đoạn | Sở hữu | Không được làm |
|---|---|---|
build_signal_frame | Indicator, bộ lọc, entry, exit, ngữ cảnh MTF, các trường trade-frame chuẩn. | Trì hoãn strategy intent sang các giai đoạn sau. |
build_trade_frame | Chuẩn hóa mỏng, thường là build_mapped_trade_frame(signal_df) hoặc bộ chuẩn hóa tương đương. | Tính toán TA, gọi request.security, hoặc tự tạo logic stop/target/sizing. |
Kiểm tra thực tế: nếu bạn có thể giải thích strategy chỉ bằng cách đọc build_signal_frame, thiết kế là lành mạnh.
Nếu hành vi bị chia tách giữa cả hai builder, hợp đồng đã bắt đầu lệch hướng.
Luồng chuẩn PyneScript Strategy đến Backtest đến Live#
build_signal_frame(...)
-> emit entry_* / sl / tp / trail_offset
-> build_trade_frame(...) returns build_mapped_trade_frame(signal_df)
-> normalize_strategy_trade_frame(...)
-> execution core builds OrderIntent
-> ExecutionPolicyEngine pre_trade_check(...)
-> batch backtest / replay / live session submit path
-> unified order primitives and reportsNhững gì đã được thống nhất#
Tầng strategy sử dụng một trade-frame schema chuẩn, một bộ chuẩn hóa, và một mô hình intent miền thực thi trước khi phân phối. Đó là hợp đồng cốt lõi được chia sẻ giữa mô phỏng hàng loạt, replay và thực thi tín hiệu live.
Những gì cần giữ rõ ràng#
Người viết strategy PyneScript nên nhắm đến trade-frame schema chuẩn trước, không phải các nhà máy order đặc thù cho adapter. Điều này giữ cho mã strategy có thể di chuyển được giữa các đường backtesting, replay và thực thi live.