Chuyển đến nội dung chính
ATK Pine Script®

Ma trận loại Order

Ma trận loại order phù hợp với lõi thực thi thống nhất — MARKET, LIMIT, STOP_MARKET, STOP_LIMIT, BRACKET và TRAILING_STOP_MARKET.

Ma trận loại Order phù hợp với lõi thực thi thống nhất#

Hợp đồng trade-frame PyneScriptTrường bắt buộcÝ nghĩa lõi thực thiGhi chú căn chỉnh
MARKETentry_order_type, entry_priceIntent kiểu market tức thì.Ánh xạ trực tiếp đến thực thi lõi kiểu market và là giá trị mặc định an toàn nhất giữa các chế độ.
LIMITentry_order_type, entry_limit_priceIntent bị động hoặc chờ với giá giới hạn.Trường giá bị động chuẩn là entry_limit_price.
STOP_MARKETentry_order_type, entry_trigger_priceKích hoạt trước, sau đó thực thi market.Ổn định giữa replay, backtest và adapter live.
STOP_LIMITentry_order_type, entry_trigger_price, entry_limit_priceKích hoạt trước, sau đó gửi lệnh limit.Lõi hiện tại giữ sự phân biệt trong replay/backtest và đường live hỗ trợ sàn.
Entry BRACKETKhông phát ra như loại entry trade-frame.Sử dụng loại entry bình thường cộng sltp.Điều này gần hơn với hợp đồng thực thi chuẩn hóa.
Entry TRAILING_STOP_MARKETKhông dạy nó như loại entry chính trong tầng strategy.Sử dụng entry bình thường cộng trail_offset.Trailing được mô hình hóa qua các trường bảo vệ chuyên dụng.

Tính di động: nếu bạn muốn tính di động giữa backtest, replay và thực thi tín hiệu live của strategy PyneScript, hãy coi MARKET, LIMIT, STOP_MARKETSTOP_LIMIT là tập hợp loại entry ổn định. Sử dụng các trường rủi ro trade-frame chuyên dụng cho hành vi bracket và trailing.

Các trường Entry: Hướng, Giá và Cơ sở định cỡ#

TrườngMục đíchQuy tắc thực tế
entry_sideIntent hướng giao dịch.Chỉ phát ra trên các hàng thực sự có entry mới. Chuỗi rỗng an toàn hơn hành vi carry-forward ngầm định.
entry_priceCơ sở giá cho lệnh.Chọn series phù hợp với giả định thời gian của bạn: cơ sở open, close, trigger hoặc limit.
quantityKích thước tuyệt đối.Sử dụng cho định cỡ theo đơn vị. Giữ size_pct trung tính khi quantity là mô hình định cỡ chính.
size_pctKích thước tương đối.Sử dụng khi strategy định cỡ theo phần trăm vốn hoặc ngân sách chính sách. Tránh trộn lẫn quantity và percent sizing đang hoạt động trong cùng một ví dụ đơn giản.

Ví dụ loại Order bạn có thể áp dụng trực tiếp#

Entry MARKET#

frame["entry_side"] = np.where(frame["buy_signal"], "BUY", np.where(frame["sell_signal"], "SELL", ""))
frame["entry_order_type"] = "MARKET"
frame["entry_price"] = frame["open"]
frame["quantity"] = 1.0

Entry LIMIT#

frame["entry_side"] = np.where(frame["buy_signal"], "BUY", "")
frame["entry_order_type"] = "LIMIT"
frame["entry_price"] = frame["close"]
frame["entry_limit_price"] = frame["close"] * 0.998
frame["quantity"] = 1.0

Entry STOP_MARKET#

frame["entry_side"] = np.where(frame["breakout_signal"], "BUY", "")
frame["entry_order_type"] = "STOP_MARKET"
frame["entry_price"] = frame["close"]
frame["entry_trigger_price"] = frame["high"].rolling(5).max()
frame["quantity"] = 1.0

Entry STOP_LIMIT#

frame["entry_side"] = np.where(frame["breakout_signal"], "BUY", "")
frame["entry_order_type"] = "STOP_LIMIT"
frame["entry_price"] = frame["close"]
frame["entry_trigger_price"] = frame["high"].rolling(5).max()
frame["entry_limit_price"] = frame["entry_trigger_price"] * 1.001
frame["quantity"] = 1.0