Nhiều bạn có chiến lược giao dịch tốt, nhưng khi thực hiện bằng cách lập trình, thường thấy rằng kiểm soát chương trình không thể thực hiện theo suy nghĩ trước, sẽ gặp nhiều vị trí mở, giảm vị trí, thậm chí một hợp đồng không hợp lý nhiều vị trí và vị trí trống cùng lúc. Trên thực tế, lý do cơ bản của những hiện tượng này là giao dịch lập trình không giống như giao dịch chủ quan, khi có tình huống bất ngờ, có thể phản ứng và xử lý kịp thời. Ví dụ, tôi đang thực hiện một chiến lược điều kiện mở vị trí, nhưng điều này ở mức giá mở vị trí, hoặc trong môi trường thị trường tại thời điểm đó, không nhất thiết phải giao, lúc này chương trình sẽ thực hiện các hoạt động rút phiếu; và sau khi rút phiếu, có mở thêm vị trí để đạt được kế hoạch mở kho dự kiến ban đầu hay không, cũng cần kiểm soát chương trình. Vì vậy, kiểm soát chương trình giao dịch không phải là kích hoạt đơn giản của các thông báo về các điều kiện chiến lược, mà là thực hiện các hoạt động sau lệnh, kiểm soát mọi điều kiện có thể xảy ra, cần phải được sử dụng ở đây.
Máy trạng thái là bản đồ chuyển trạng thái, bằng cách giới thiệu máy trạng thái, phân biệt tất cả các trạng thái của đơn đặt hàng, sử dụng chương trình để kiểm soát logic của nó trong tất cả các trạng thái, sẽ không bị xáo trộn.
Trong quá trình giao dịch, chúng ta áp dụng cho các lệnh là hành động: mở đơn đặt hàng, gỡ bỏ đơn đặt hàng mở, đơn đặt hàng bằng, gỡ bỏ đơn đặt hàng bằng; chúng ta nhận được phản hồi về trạng thái của đơn đặt hàng là kết quả của hành động áp dụng: chưa hoàn thành, đã hoàn thành, để rút đơn ((đã hoàn thành một phần hoặc chưa hoàn thành). Do đó, chúng ta có thể đánh dấu trạng thái này của lệnh sau khi áp dụng hành động cho đơn đặt hàng, lệnh đang chờ trả lời là trạng thái.

Như vậy, trong quá trình giao dịch của một hợp đồng, bất kỳ trạng thái nào của đơn đặt hàng có thể được phân biệt chặt chẽ; chương trình cũng có thể xử lý tương ứng theo trạng thái khác nhau của nó. Ví dụ: sau khi rút đơn đặt hàng quá giờ, hoặc tiếp tục ở mức giá ban đầu, hoặc thêm một mức giá giảm tiếp tục ở mức giá, hoặc tiếp tục ở mức giá đặt hàng của đối thủ, bạn có thể kiểm soát tùy theo chiến lược của bạn.
Tất nhiên, bạn cũng có thể theo ý định của bạn kiểm soát tình trạng của dòng chảy, ví dụ: trong ví dụ trên, thùng rút mở thùng nhận được thu hồi thùng là thùng rút thành công và có giao dịch mở kho, tình trạng không chuyển sang thùng thùng bình thường nhưng chọn một cách tiếp tục theo mục tiêu trước đó vị trí tiếp tục với vị trí còn lại mở thùng, sau đó chuyển sang thùng mở thùng.
Tuy nhiên, như chúng ta đã nói ở phần trước, chúng ta áp dụng hành động cho lệnh, và kết hợp trả lại ủy thác hoặc trả lại giao dịch với một số phản hồi sau khi áp dụng hành động cho lệnh, thiết lập trạng thái lệnh trong khi chờ đợi phản hồi hành động. Theo cách suy nghĩ này, chúng ta liệt kê tất cả các hành động, sau đó kết hợp các hành động của hai hợp đồng, sau đó thêm vào, và tất cả các trạng thái đã được liệt kê.
Hành động áp dụng đối với hợp đồng: mở, phẳng, rút, v.v. là do sau khi một chân giữ vị trí, theo nguyên tắc của đánh giá, chân khác phải làm bằng. Do đó, để thiết lập một chân tốt trước tiên, phải đợi chân thứ hai cũng thiết lập vị trí ngược lại, tạo thành một danh mục đầu tư đối đầu.
Vậy, trạng thái đơn đặt hàng của hai hợp đồng được bao gồm trong biểu mẫu dưới đây:

Do đó, dựa trên phản hồi của lệnh sau khi thực hiện hành động, bạn có thể xây dựng máy trạng thái mà bạn cần.

Các logic và trạng thái của các danh mục đầu tư mạo hiểm đều phù hợp với cấu trúc cơ bản và mở vị trí, chúng tôi sẽ không thảo luận ở đây.
Bài viết được đăng trên blog của ronalgao